跳转到内容

File:Processing losses for 3 window functions.gif

页面内容不支持其他语言。
这个文件来自维基共享资源
维基百科,自由的百科全书

原始文件 (574 × 609像素,文件大小:21 KB,MIME类型:image/gif、​0.1秒)


摘要

描述
English: Comparison of three window functions in terms of their effects on equal-strength sinusoids with additive noise. The noise "floor" is smoothed by averaging many DFTs to reveal the substantial difference in levels, caused by the different window functions. In each case, the sinusoid on the left suffers no scalloping and the one on the right exhibits worst-case scalloping. The rectangular window produces the most scalloping but lowest noise-floor. The Hann window has a higher noise floor but much less potential scalloping, which results in the lowest "worst case processing loss" of these 3 functions.
日期
来源 自己的作品
作者 Bob K
授权
(二次使用本文件)
我,本作品著作权人,特此采用以下许可协议发表本作品:
Creative Commons CC-Zero 本作品采用知识共享CC0 1.0 通用公有领域贡献许可协议授权。
采用本宣告发表本作品的人,已在法律允许的范围内,通过在全世界放弃其对本作品拥有的著作权法规定的所有权利(包括所有相关权利),将本作品贡献至公有领域。您可以复制、修改、传播和表演本作品,将其用于商业目的,无需要求授权。

其他版本 此文件衍生的作品:  Processing losses for 3 window functions.svg,
File:Processing losses for 3 window functions.svg是此文件的矢量版本。 如果此文件质量不低于原点阵图,就应该将这个GIF格式文件替换为此文件。

File:Processing losses for 3 window functions.gif → File:Processing losses for 3 window functions.svg

更多信息请参阅Help:SVG/zh

其他语言
Alemannisch  Bahasa Indonesia  Bahasa Melayu  British English  català  čeština  dansk  Deutsch  eesti  English  español  Esperanto  euskara  français  Frysk  galego  hrvatski  Ido  italiano  lietuvių  magyar  Nederlands  norsk bokmål  norsk nynorsk  occitan  Plattdüütsch  polski  português  português do Brasil  română  Scots  sicilianu  slovenčina  slovenščina  suomi  svenska  Tiếng Việt  Türkçe  vèneto  Ελληνικά  беларуская (тарашкевіца)  български  македонски  нохчийн  русский  српски / srpski  татарча/tatarça  українська  ქართული  հայերեն  বাংলা  தமிழ்  മലയാളം  ไทย  한국어  日本語  简体中文  繁體中文  עברית  العربية  فارسی  +/−
新SVG图片

GIF开发
InfoField
 
本GIF 位图使用LibreOffice创作。
Octave/gnuplot source
InfoField
click to expand

This graphic was created with the help of the following Octave script:

pkg load signal
graphics_toolkit gnuplot
clear all; close all; clc

  hfig= figure("position",[100 0 574 609]);
 
  N = 256;                % sams_per_fft;
  window1 = rectwin(N)'/sum(rectwin(N));
  window2 = hann(N)'/sum(hann(N));
  window3 = blackmanharris(N)'/sum(blackmanharris(N));
%
  Fs = N;                 % sams_per_sec;
  HzPerBin = Fs/N;
  F1 = -20.0*HzPerBin;    % bin -20
  F2 = +20.5*HzPerBin;    % bin 20.5
%
  L = 100000;
  n = 1:L;
  x = exp(j*2*pi*F1/Fs*n) + exp(j*2*pi*F2/Fs*n);
  x = x + (randn(1,L) +j*randn(1,L))*1.4;
%
  sams_per_offset = 0.75*N;    % overlap = 25%
%
% number of samples available beyond just one FFT
  excess_sams = length(x) - N;
%
  j1 = floor( excess_sams / sams_per_offset );
  sams_per_offset = floor( excess_sams / j1 );
  num_ffts = 1 + j1;
%
% define the first block of data
  samples = 1:N;
%
  amplitude1 = zeros(1,N);
  amplitude2 = zeros(1,N);
  amplitude3 = zeros(1,N);
%
% Loop over all the available blocks
  for j1 = 1 : num_ffts
    amplitude1 = amplitude1 + abs(fft( x(samples) .* window1 ));
    amplitude2 = amplitude2 + abs(fft( x(samples) .* window2 ));
    amplitude3 = amplitude3 + abs(fft( x(samples) .* window3 ));
    samples = samples + sams_per_offset;
  end
%
  amplitude1  = 20*log10(fftshift(amplitude1/num_ffts));
  amplitude2  = 20*log10(fftshift(amplitude2/num_ffts));
  amplitude3  = 20*log10(fftshift(amplitude3/num_ffts));
% 
  abscissa = -40:40;
  set(gca,'FontSize',8)
  subplot(3,1,1);
  h = area(abscissa, amplitude1(abscissa +N/2+1), ...
  'FaceColor', [.871 .49 0], 'edgecolor', [.871 .49 0]);
  set(h,'BaseValue',-20)
  set(gca, 'XTick', [-20 0 20.5], 'XTickLabel',[' '; ' '; ' '], 'YGrid','on', 'color', 'white')
  title('Processing losses for sinusoids in additive noise','fontsize', 12);
  xlim([-40 40])
  ylim([-20 2])
  ylabel('decibels')
  text(-40, 3.5, 'Rectangular window')
%
  subplot(3,1,2);
  h = area(abscissa, amplitude2(abscissa +N/2+1), ...
  'FaceColor', [.871 .49 0], 'edgecolor', [.871 .49 0]);
  set(h,'BaseValue',-20)
  set(gca, 'XTick', [-20 0 20.5], 'XTickLabel',[' '; ' '; ' '], 'YGrid','on', 'color', 'white')
  xlim([-40 40])
  ylim([-20 2])
  ylabel('decibels')
  text(-40, 3.5, 'Hann window')
%
  subplot(3,1,3);
  h = area(abscissa, amplitude3(abscissa +N/2+1), ...
  'FaceColor', [.871 .49 0], 'edgecolor', [.871 .49 0]);
  set(h,'BaseValue',-20)
  set(gca, 'XTick', [-20 0 20.5], 'XTickLabel',[' '; ' '; ' '], 'YGrid','on', 'color', 'white')
  xlim([-40 40])
  ylim([-20 2])
  ylabel('decibels')
  text(-40, 3.5, 'Blackman-Harris')

说明

添加一行文字以描述该文件所表现的内容

此文件中描述的项目

描绘内容

文件历史

点击某个日期/时间查看对应时刻的文件。

日期/时间缩⁠略⁠图大小用户备注
当前2013年3月3日 (日) 14:372013年3月3日 (日) 14:37版本的缩略图574 × 609(21 KB)Bob KShorten three horizontal lines to make the scalloped peaks more apparent.
2013年2月25日 (一) 15:292013年2月25日 (一) 15:29版本的缩略图579 × 609(21 KB)Bob KUser created page with UploadWizard

以下页面使用本文件:

元数据