测试函数:
sf=1000; %采样率
nfft=1024; %FFT点数
t=0:1/sf:(nfft-1)/sf; %时间向量
x=0.5*cos(100*pi*t)+1; %数据生成函数
窗函数:
win = 2*hann(length(x)); %加汉宁窗,幅值相等恢复系数为2
win = 1.852*hamming(length(x)); %加海明窗,幅值相等恢复系数为1.852
测试参数:
采样率为1000(非周期采样),采样1024点计算FFT,信号周期50Hz,测试环境matlab R2018a
无频谱泄漏波形:
未加窗未滤波的波形:
未加窗加滤波的波形:
结论:
从上面的波形可以看出,对比周期截断的频谱,非周期截断频谱在整个频带上发生“拖尾”现象。峰值处的频率与原始信号的频率相近,但并不相等。另一方面,峰值处的幅值已不再等于原始信号的幅值,幅值的其他部分则分布在整个频带的其他谱线上。同时也导致后续一次积分和二次积分波形出现畸变。为了减小泄漏一般所采取的办法是加窗。
以下波形均在加窗前进行了一次滤波处理:
- 加汉宁窗
2.加海明窗
结论:
加窗能改善频谱泄漏带来的影响,大大衰减了旁瓣高度,提高了幅度精度。实际使用时应该根据需要去选择适合的窗函数。