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 |
---|
隐藏分类: