频谱泄漏是指在进行傅里叶变换时,由于信号截断或周期化造成的频谱畸变现象。
简单来说,就是原本应该集中在一个频率点上的能量,由于上述原因“泄漏”到了其他频率点上,导致频谱变得模糊不清。
信号截断: 实际信号通常是无限长的,但在数字信号处理中,我们只能截取有限长度的信号进行分析。这种截断相当于给信号乘上了一个矩形窗,而在频域上,乘法相当于卷积。矩形窗的频谱是一个sinc函数,其旁瓣会引起频谱泄漏。
信号周期化: 傅里叶变换假设信号是周期性的,但实际信号往往是非周期性的。为了进行傅里叶变换,我们通常会将信号周期延拓,这种周期延拓也可能导致频谱泄漏。
频谱分辨率降低: 频谱泄漏会使得相邻频率分量之间产生干扰,降低频谱分辨率。
出现虚假频率成分: 频谱泄漏可能导致在频谱中出现本不存在的频率成分,影响对信号的分析。
影响信号参数估计: 频谱泄漏会影响对信号幅值、相位等参数的准确估计。
矩形窗: 虽然简单,但旁瓣较高,频谱泄漏严重。
汉宁窗、海明窗: 旁瓣衰减较快,频谱泄漏较小。
Blackman窗: 旁瓣衰减更快,但主瓣宽度稍宽。
Kaiser窗: 可以通过调节参数来控制主瓣宽度和旁瓣衰减。
选择窗函数时,需要综合考虑主瓣宽度和旁瓣衰减这两个因素。主瓣宽度越窄,频谱分辨率越高;旁瓣衰减越快,频谱泄漏越小。
增加采样点数: 增加采样点数可以减小信号截断的影响。相当于在时域上延长信号,可以减小截断效应,从而减少频谱泄漏。
注意: 增加采样点数并不能完全消除频谱泄漏,只能减轻其影响。
零填充: 在进行FFT变换之前,可以在信号末尾添加若干个零,这相当于对信号进行插值,可以提高频谱分辨率,但并不能消除频谱泄漏。零填充只能增加频谱中的采样点数,不能增加信号本身包含的信息。
提高采样频率可以增加奈奎斯特频率,减少频谱混叠的可能性,从而间接减轻频谱泄漏。提高采样频率会增加数据量,增加计算量。
对于周期性信号,可以通过频率同步的方法,使信号的周期与FFT的长度相匹配,从而减少频谱泄漏。
将长信号分段,对每一段进行FFT,然后拼接。这种方法可以减少截断效应,但会增加计算量。
大概就这么多了!频谱泄漏是由于信号处理过程中的近似而产生的,因此不可能完全消除。我们的目标是通过各种方法,将频谱泄漏的影响减小到可以接受的范围内。
https://brianmcfee.net/dstbook-site/content/intro.html