File:Processing losses for 3 window functions.gif
頁面內容不支援其他語言。
外觀
預覽大小:565 × 599 像素。 其他解析度:226 × 240 像素 | 574 × 609 像素。
原始檔案 (574 × 609 像素,檔案大小:21 KB,MIME 類型:image/gif、0.1秒)
摘要
描述Processing losses for 3 window functions.gif |
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 | |||||
授權許可 (重用此檔案) |
我,本作品的著作權持有者,決定用以下授權條款發佈本作品:
|
|||||
其他版本 |
此檔案衍生的作品: Processing losses for 3 window functions.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')
|
在此檔案描寫的項目
描繪內容
25 2 2013
檔案歷史
點選日期/時間以檢視該時間的檔案版本。
日期/時間 | 縮圖 | 尺寸 | 使用者 | 備註 | |
---|---|---|---|---|---|
目前 | 2013年3月3日 (日) 14:37 | 574 × 609(21 KB) | Bob K | Shorten three horizontal lines to make the scalloped peaks more apparent. | |
2013年2月25日 (一) 15:29 | 579 × 609(21 KB) | Bob K | User created page with UploadWizard |
檔案用途
下列頁面有用到此檔案:
詮釋資料
此檔案中包含其他資訊,這些資訊可能是由數位相機或掃描器在建立或數位化過程中所新增的。若檔案自原始狀態已被修改,一些詳細資料可能無法完整反映出已修改的檔案。
GIF 檔案備註 | Created with GIMP |
---|
隱藏分類: