Keywords: Processing gain comparison (Hann vs Blackman).gif en This figure compares the processing gain of two window functions for sinusoidal inputs with both minimum and maximum scalloping loss 2013-02-24 19 57 45 own Bob K See also This figure was superceded by File Processing losses for 3 window functions gif Octave script <source lang Matlab > graphics_toolkit gnuplot N 256; sams_per_fft; window1 hann N '/sum hann N ; window2 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 ; 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 ; samples samples + sams_per_offset; end amplitude1 20 log10 fftshift amplitude1/num_ffts ; amplitude2 20 log10 fftshift amplitude2/num_ffts ; abscissa -40 40; figure set gca 'FontSize' 8 subplot 2 1 1 ; h area abscissa amplitude1 abscissa +N/2+1 'FaceColor' 871 49 0 'edgecolor' 871 49 0 set h 'BaseValue' -20 xlim -40 40 ylim -20 2 set gca 'XTick' set gca 'YGrid' 'on' ylabel 'decibels' title 'Hann' ; subplot 2 1 2 ; h area abscissa amplitude2 abscissa +N/2+1 'FaceColor' 871 49 0 'edgecolor' 871 49 0 set h 'BaseValue' -20 xlim -40 40 ylim -20 2 set gca 'XTick' set gca 'YGrid' 'on' ylabel 'decibels' title 'Blackman-Harris' ; </source> cc-zero Uploaded with UploadWizard Signal processing Spectral analysis Windowing systems |