⭕⭕ 目 录 ⭕⭕
- ✳️ 一、频谱泄露现象
- ✳️ 二、原因分析以及解决方法
- ✳️ 三、Matlab程序获取与验证
✳️ 一、频谱泄露现象
有一个余弦信号,信号频率30Hz,信号为x(t)=cos(2π×30t),采样频率fs=128Hz,样本长度分别取N=128和N=100,在FFT后作谱图并比较谱图中的差别。
结果如下:
上述两信号中,中心频率f0=30,采样频率fs=128,唯一差别仅是FFT的长。在N=128的谱图上只在30Hz处有一条谱线,其他频点的幅值都为0;
而在N=100的谱图上有明显的泄漏现象,谱线用红实线表示。图中用虚线和红圈点表示了30Hz的频率点,而最大两根谱线在30Hz两侧。
即出现了当N=128时FFT后没有泄漏,而当N=100时FFT发生了泄漏。
✳️ 二、原因分析以及解决方法
设信号是频率为f0,当取信号为整周期采样时,信号的频率f0=l△f,l=k,f0将与某一条谱线相重合,即第k条谱线频率为f0。整周期采样后得到的幅值谱图如下图所示:
在整周期采样后,一样存在着泄漏的可能性,但由于信号频率f0与第k条谱线重合,k±i(i为整数值)的任意谱线正好落在零点上,所以在谱图中就没有显示泄漏现象。
当取信号为非整周期采样时,信号的频率f0不与FFT后某一条谱线重合,而是落在两条谱线的中间,例如落在第k和k+1条谱线之间,其中第k条谱线是局部极大值,如下图所示。
在非整周期采样时,一样存在着泄漏的可能性,由于信号频率f0在两条谱线之间,第k条谱线虽是局部的最大值,但不与f0相重合,则k±i(i为整数值)的任意谱线都是非零值,所以在谱图中存在泄漏现象
为了防止泄漏,对于单频信号可以调整采样频率使之构成整周期采样(例如在电力监测设备中,有的会用锁相技术跟踪信号频率以调整采样频率),但大多数实际信号处理中的信号不是单频(或单频+谐波),而是多频率的,所以泄漏是难免的。在有泄漏的情形中只能想方设法减小泄漏的影响,比如利用窗函数。虽然上述已在截断的讨论中加了矩形窗函数,但矩形窗函数的泄漏是最大的,还有其他窗函数能更好地减少泄漏。
✳️ 三、Matlab程序获取与验证
上述matlab代码链接如下:
经矩形窗截断的信号频谱泄露现象研究
可开展针对性验证实验,请私信博主。