直接上代码:
clear all;
close all;
f1=1e3;f2=1.8e3;
Fs=6e3;
M=60;N=2048;
n=0:M-1;
x=cos(2*pi*f1*n/Fs)+0.05*cos(2*pi*f2*n/Fs);
k=0:N-1;D=Fs/N;%频谱分辨率
f1=fft(x,2048);%加矩形窗DFT
hm=hamming(M)';%汉明窗
f2=fft(x.*hm,2048);%加汉明窗DFT
plot(k*D,10*log10(abs(f1)),'k');
hold on;
plot(k*D,10*log10(abs(f2)),'r');
xlabel('f');ylabel('|X(k)|/db');
legend('矩形窗','汉明窗');
title('M=60,N=2048')
图像结果:
比较两种窗的分辨性能:
矩形窗的增益大。主瓣带宽更窄一些,但其旁瓣衰减慢;
汉明窗的增益小,主瓣宽度更宽一些,但其旁瓣衰减快。
还可以看出,当N一定时增大M更容易分辨出来x(n)中的小信号,当M和N都一定时,汉明窗的旁瓣衰减快,更容易分辨出小信号。