前几天,有朋友问我XL2的FFT功能下面这个功能是干嘛用的?我当时简单的解释了下这是窗函数,后来想想还是详细的整理了下,所以有了这篇文章:
FFT 的窗函数页面
其实,在之前的快速傅里叶变换FFT的文章中,我们已经提到了窗函数的概念:数字信号处理中通常是取其有限的时间片段进行分析,而不是对无限长的信号进行测量和运算。具体做法是从信号中截取一个时间片段,然后对信号进行傅里叶变换、相关分析等数学处理。信号的截断产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的。在FFT分析中为了减少或消除频谱能量泄漏及栅栏效应,可采用不同的截取函数对信号进行截短,截短函数称为窗函数,其在频谱分析、滤波器设计、波束形成、以及音频数据压缩等方面有广泛的应用
泄漏与窗函数频谱的两侧旁瓣有关,对于窗函数的选用总的原则是,要从保持最大信息和消除旁瓣的综合效果出发来考虑问题,尽可能使窗函数频谱中的主瓣宽度应尽量窄,以获得较陡的过渡带;旁瓣衰减应尽量大,以提高阻带的衰减,但通常都不能同时满足这两个要求。频谱中的如果两侧瓣的高度趋于零,而使能量相对集中在主瓣,就可以较为接近于真实的频谱。
不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。信号的加窗处理,重要的问题是在于根据信号的性质和研究目的来选用窗函数。图1是几种常用的窗函数的时域和频域波形,其中矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低,
- 如果仅要求精确读出主瓣频率,而不考虑幅值精度,则可选用矩形窗,例如测量物体的自振频率等;布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高;
- 如果分析窄带信号,且有较强的干扰噪声,则应选用旁瓣幅度小的窗函数,如汉宁窗、三角窗等;对于随时间按指数衰减的函数,可采用指数窗来提高信噪比。
- 如果被测信号是随机或者未知的,或者是一般使用者对窗函数不大了解,要求也不是特别高时,可以选择汉宁窗,因为它的泄漏、波动都较小,并且选择性也较高。但在用于校准时选用平顶窗较好,因为它的通带波动非常小,幅度误差也较小。
几种常用的窗函数的比较
1. 汉宁(Hann)窗,有时也称为 "Hanning" 窗
特点:又称升余弦窗,可以看作是3个矩形时间窗的频谱之和,或者说是 3个 sinc(t)型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。从减小泄漏观点出发,汉宁窗优于矩形窗。但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降。它与矩形窗相比,泄漏、波动都减小了,并且选择性也提高。
汉宁(Hann)窗,有时也称为 "Hanning" 窗
应用场合:如果测试信号有多个频率分量,频谱表现的十分复杂且测试的目的更多关注频率点而非能量的大小,或者被测信号是随机或者未知时,选择汉宁窗。
2. Dolph-Chebyshev窗
特点:Dolph-Chebyshev窗是一种局部优化的时窗函数,他满足窗函数的最大振幅比准则,即在规定旁瓣电平的条件下,主瓣宽度最小。其主瓣峰值与旁瓣峰值之比可根据实际需要自由选择,其可以通过调节形状参数,减少旁瓣电平,从而减小不同谐波分量之间的泄露的干扰,提高估算精度,尤其是对弱信号分量更为明显。在给定旁瓣高度下,Dolph-Chebyshev窗的主瓣宽度最小,具有等波动性,也就是说,其所有的旁瓣都具有相等的高度,比通常的时窗函数具有明显的优点
Dolph-Chebyshev窗
应用领域:分析信号中的弱分量,适合于高准确度谐波分析
3. 矩形窗Rectangle
特点:矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。频率识别精度最高,幅值识别精度最低。