weixin 发表于 2021-6-17 17:03

你还在愁不会选择FFT窗函数吗?

大多数工程师都知道,FFT是研究整个时间域和频率域的关系,通过对信号频率的分析定位异常,可是在我们在使用FFT分析功能的时候,是否产生过疑惑,如何选取窗函数?选取的窗函数是否适合当前的信号?本文就FFT窗函数做一个简要的介绍,帮助您更加了解各类窗函数。

一、窗是什么?
实际在进行FFT运算时,是从信号中截取一个时间片段,然后用被截取的信号进行周期延拓处理,得到无限长的信号,针对这个信号进行傅里叶变换以及相关分析等数学处理。

采用不同的截取函数对信号进行截断,截断函数称为窗函数,简称为窗。

二、为什么要窗?
加窗的目的有两个:频谱泄露和栅栏效应。

1. 频谱泄露

频谱泄露的概念是非周期的信号被截断后,其频谱发生了泄露。

图2所示是一个无限长的周期信号,截取其中一段信号,这段信号并非一个完整的周期信号,通过傅里叶变换可以将这段截取的信号变为无限长序列,那么是如何实现的呢?
图1 从无限长序列中截取有限长序列
通过采用周期延拓,可以将被截取的有限长信号当成是无限长序列的周期信号,然后不断的复制,重新得到一个新的无限长序列。
图2 有限长序列经过周期延拓构建的新的无限长序列
如图3所示,通过周期延拓,得到的新的无限长序列,很明显新的序列与原序列是不一样的,此时便发生了频谱泄露!

这时对图3进行频谱分析,得到的结果必然也不同!不同之处在于,图2是单一频率信号,只有一根谱线;而图3中,除了图2信号包含的这根谱线(不妨称为主谱线)外,出现了其它频率的谱线,这种现象就被称为频谱泄露!

简而言之,频谱泄露就是分析结果中,出现了本来没有的频率分量,分析结果与实际不一致!

通过加上合适的窗函数,可以把这个突变变得圆滑一些,从而抑制高次谐波。

2. 栅栏效应

对信号做FFT时,得到的是一系列离散的谱线,如果信号中的频率成分位于谱线之间而不是正好落在谱线上,那么就会造成幅值和相位上的偏差。

离散的谱线就像一个个栅栏,故称这种现象为栅栏效应。打个比方,栅栏效应就像栅栏外走过一个美女,你目不转睛去看,但因为栅栏效应总有一些关键部位被挡住,使得美女在一定程度上有些失真,这就是栅栏效应。

从原理上讲这两种误差都是不能消除的,但是我们可以通过选择不同的窗函数对它们的影响进行抑制。

三、常用窗函数适用范围
1. 矩形窗

矩形窗对频率识别精度最高,幅值识别精度最低。

适用于暂态或短脉冲信号、频率非常接近的等幅正弦波、随机噪声、瞬态信号、伪随机信号等。
图3 矩形窗
2. 汉宁窗

汉宁窗可大大降低矩形窗带来的不连续性,减小泄露。

适用于分析大多数的连续信号、纯随机信号、窄宽信号、有多个频率分量的被测信号、频谱表现很复杂的信号,更多关注的是频率点而非能量的大小。
图4 汉宁窗
3. 海明窗

海明窗的频谱由3个矩形时窗的频谱合成,衰减速度比汉宁窗慢。

适用于测量信号电平前后相差很大的暂态或短脉冲信号。
图5 海明窗
4. 布莱克曼窗

布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高。

适用于测量单频信号,寻找更高次谐波。
图6 布莱克曼窗
四、总结
根据被测信号的实际情况来选择窗函数,合适的才是最好的!关于窗函数的一些重要的结论总结如下:

· 实际进行FFT分析时,分析结果不可避免受到频谱泄露的影响,例如频点分裂、幅值能量不精确等,此时便需要选取适当的窗函数,以满足我们工程测量的需要。

· 示波器中的FFT运算,不加窗和加矩形窗是一回事。

· 窗函数会改变频域波形,让频谱形成人们“喜欢”的形状,但是不会本质上消除频谱泄露,不同的窗函数有其独特的特性,我们只需要根据工程测试的需要,选择一款合适的就可以了。

来源:ZLG致远电子微信公众号(ID:ZLG_zhiyuan)

dsp2008 发表于 2021-7-5 16:03

胡说八道!
页: [1]
查看完整版本: 你还在愁不会选择FFT窗函数吗?