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 此檔案在創用CC CC0 1.0 通用公有領域貢獻宣告之下分發。
在此宣告之下分發本作品者,已依據各國著作權法,在全世界放棄其對本作品所擁有的著作權及所有相關相似的法律權利,從而將本作品貢獻至公有領域。您可以複製、修改、分發和演示該作品,用於任何商業用途,所有這些都不需要請求授權。

其他版本 Derivative works of this file:  Processing losses for 3 window functions.svg,
GIF開發
InfoField
 
本GIF graphic使用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:37於 2013年3月3日 (日) 14:37 版本的縮圖574 × 609(21 KB)Bob KShorten three horizontal lines to make the scalloped peaks more apparent.
2013年2月25日 (一) 15:29於 2013年2月25日 (一) 15:29 版本的縮圖579 × 609(21 KB)Bob KUser created page with UploadWizard

下列頁面有用到此檔案:

詮釋資料