减少FFT(DFT)频率泄露的办法,窗函数的解释和选用

关于DFT的频率泄露的解释,请看另一篇:https://blog.csdn.net/qq_34193940/article/details/80569088


这篇ref:https://mp.weixin.qq.com/s?__biz=MzI5NTM0MTQwNA==&mid=2247484189&idx=1&sn=78af69208296935021da913200ff272d&scene=21#wechat_redirect


在我们讨论窗函数的使用之前,让我们回想一下FFT变换三个基本属性:

  • 首先,变换过程中能量必须守恒。也就是说,时域信号中的能量要与频域中的能量相等。

  • 第二,FFT是在时域和频域之间变换信号。时域描述表明何时发生,频域描述表明是怎么发生的。

  • 最后,FFT变换假设信号是重复、连续的周期信号。

 

首先,让我们考虑一个单频10Hz的正弦波,有效值为1V,如图1所示。这个信号在采样周期内是周期信号,计算其频谱。


 

如果我们使用FFT计算频谱,得到如图2所示的频谱图。图中只有一条用有效值表示幅值的谱线。



2 10Hz正弦波的FFT

 

现在,让我们考虑第二个信号,如图3所示,9.5Hz的正弦波,有效值仍为1V



3 9.5Hz的正弦波

 

如果我们对这个信号作FFT变换,得到的频谱如图4所示,此时频谱图中有多条谱线。为什么不是一条谱线呢?原始信号是一个单频正弦波,不是吗?FFT变换假设信号是连续的周期信号(不仅仅是在一个样本纪录时间内)。9.5Hz的信号(图3所示)从模拟角度上看是连续的周期的正弦信号,但是从数字化(以指定采样率进行离散化)角度上看却不是一个正弦波,如图5所示。



4 9.5Hz的正弦波的FFT(多条谱线)



数字化后的9.5Hz的正弦波

 

这就是为什么经FFT变换后会产生如图4所示的20条谱线的原因。真正原因,上一篇我们已经说明过,由于信号不连续,需要更多的傅立叶级数项去表征这个似乎不连续的信号。而多个傅立叶级数项则对应多条谱线,因此,在频谱图中会出现多条谱线,也就是所谓的频谱拖尾现象。

 

我们下一个问题是怎样最小化不连续造成的影响。答案是使用所谓的“窗函数”。通常,对于大多数一般用途的数据常使用“汉宁窗”。

 

原始时域信号乘以窗函数(图6所示)使得信号时域波形的开始和结尾时刻幅值为零(图7所示)。这样多个时间样本的首尾相连接使得整个信号为周期性信号了。这样信号不连续的问题就解决了,但是每个时间样本却不再是正弦波了。正弦信号的这次修正(加汉宁窗)在频域表现为4条谱线的信号,如图8所示。


汉宁窗


正弦信号乘以汉宁窗后的时域波形


8 9.5Hz正弦信号加窗后的频谱

 

加汉宁窗前20条谱线的频谱在加窗后减少到了4条谱线。还不完美,但已大大接近单条谱线了。对频率为10Hz的时域信号加汉宁窗后,单条谱线将会发生什么样的变化呢?加窗后的单频信号现在变成了3条谱线的信号,如图9所示。此时幅值精度没有损失,但频率精度上有一点损失。


加窗后的10Hz正统信号

 

加窗后的时域信号的开始和结束端丢失了什么,我们该怎样处理?超过一半的时间样本被缩减成零,我们怎样确保发生改变刚好位于缩减的幅值区域附近呢?一种处理技术称为“重叠”,使用这种技术,使得发生改变位于时间样本的开始和结束端的可能性大大提高。图10描述了时间样本通过“0%重叠”的情况,图11表明重叠50%


10 无重叠


11 重叠50%

 

通常,考虑重叠67%(图12)对于时间样本的开始和结束端是足够的,然而75%(图13)的重叠会更理想。当今,随着计算机的处理速度越来越快,没有理由不使用这种重叠技术。


12 重叠67%


13 重叠75%

 

窗函数的典型频谱特征如图14所示:


14 窗函数的典型频谱特征

 

各种窗的差别主要在于集中于主瓣的能量和分散在所有旁瓣的能量之比例。窗的选择取决于分析的目标和被分析信号的类型。一般说,有效噪声频带越宽,频率分辨能力就越差,越难于分清有相同幅值的邻近频率。选择性(即分辨出强分量频率邻近的弱分量的能力)的提高与旁瓣的衰减率有关。通常,有效噪声带宽窄的窗,其旁瓣的衰减率较低,因此窗的选择是在二者中取折衷。

 

不同的窗函数具有不同的频谱特征,下表列出了一些常用类型的窗函数的特征。所有的窗函数都会使时域信号的开始和结束端归零。用于锤击试验的“力窗”和“指数窗”是个例外。


猜你喜欢

转载自blog.csdn.net/qq_34193940/article/details/80569126
今日推荐