新闻中心

EEPW首页 > 测试测量 > 设计应用 > FFT的前世今生(三)

FFT的前世今生(三)

作者:时间:2013-03-19来源:网络收藏

窗函数对于结果的影响

本文引用地址:http://www.eepw.com.cn/article/192824.htm

所谓频谱泄露,就是信号频谱中各谱线之间相互干扰,使测量的结果偏离实际值,同时在真实谱线的两侧的其它频率点上出现一些幅值较小的假谱。产生频谱泄露的主要原因是采样频率和原始信号频率不同步,造成周期的采样信号的相位在始端和终端不连续。简单来说就是因为计算机的 运算能力有限,只能处理有限点数的 ,所以在截取时域的周期信号时,没有能够截取整数倍的周期。信号分析时不可能取无限大的样本。只要有截断不同步就会有泄露。

在图1和图2中,为了最大化FFT运算之后的频率分辨率,我们使用了矩形窗。图中的时域信号是500MHz正弦波信号,在频谱上应该仅在500MHz频点上看到谱线。FFT运算研究的是整个时间域(-∞,+∞)与频域的关系,所以对于矩形窗函数截取的波形应该认为是无穷延续的,因此,矩形窗100ns时间窗内,包含了500MHz正弦波整50个周期,所以波形的首尾能够整周期得无缝连接,FFT之后的频谱会在500MHz频点看到较为纯净的能量值。如下图1所示:

1.jpg

图1:矩形时间窗口内包含整数倍周期的信号,首尾可以“无缝”连接

事实上,大多数类型的信号都不满足上面的这种特殊情况,绝大多数信号在时间窗口内都不是整周期的倍数,在这种情况下,FFT之后的频谱就不能看做连续的正弦波了。例如,如果该正弦波的频率是495MHz,在100ns时间窗口内包含49.5个周期,因此在截取窗口的首尾部分就存在很大程度上的“不连续”,这种“不连续”会直接影响FFT之后的结果。“不连续”部分的能量会散落在整个频谱范围内,使用100ns时间窗口,FFT之后的频率分辨率是10MHz,495MHz频点即落在490MHz与500MHz之间,所以495MHz正弦波信号的能量分成两部分,所以从频谱上看,峰值谱线明显降低了,这被称作是频谱泄露(Leakage)。如下图2所示:

2.jpg

不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。信号的截短产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的,但是我们可以通过选择不同的窗函数对它们的影响进行抑制。(矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低;布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高)

为了减少频谱旁瓣和栅栏效应的影响,我们在FFT运算中使用窗函数,图3显示了Hanning(汉宁窗)使用后的效果。窗函数位于下图中左上角的栅格中红色的波形,叠加在黄色的时域信号上。窗函数与时域信号时域相乘。结果显示在左下角的蓝色波形。右下角的粉色波形显示了进行FFT计算之后的频谱图,相对于右上角的使用窗函数之前的频谱图来说,旁瓣的幅度已经大大减低。

对于不同的应用需求还有多种不同的窗函数供工程师选择,Hanning(汉宁窗)是使用最广泛的一种窗函数,除此之外,Hamming(海明窗),Flat-top窗和Balckman-Harris窗的效果,在下图中做了对比,图中的信号使用500MHz正弦波,矩形窗产生最窄的谱线,加Flat-top窗谱线最宽。

1.jpg

下图4中显示了同样的窗函数对比,但是采用495MHz正弦波进行FFT运算,矩形窗显示了最差旁瓣效果,Flat-top窗函数基本上保持了与图3一样的旁瓣效果,所以我们看到旁瓣的影响和精确频率分辨率有时候是不可兼得的。(矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低;Flat-top窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高)

3.jpg

图5中显示了不同的窗函数对于栅栏效应的抑制效果,图中的正弦波频率从450MHz增加到550MHz,步进值为500KHz,Flat-top窗在整个频段上基本保持相同的值,矩形窗函数有约4dB的差值。

4.jpg

我们把关于窗函数的一些重要的结论总结如下:

1、 连续的FFT运算并没有窗函数的概念,因为信号是充满时间坐标轴的,FFT之后的频率分辨率是0,并不存在栅栏效应。但是,示波器采集和处理的信号全部是离散的采样点,是非连续的,所以DFT之后的频谱一定存在栅栏效应。

2、 如果能够保证示波器时间窗口内的信号是整数倍周期的(并且在信号时间窗口之前和之后的信号都是严格周期重复的),或者采集信号时间足够长,基本上可以覆盖到整个有效信号的时间跨度。这种方法经常在瞬态捕捉中被使用到,比如说冲击试验,如果捕捉的时间够长,捕捉到的信号可以一直包括了振动衰减为零的时刻。在这种情况下,可以不加窗函数。

3、 如果不满足1和2,那么FFT计算之后的频谱就不可避免受到频谱泄露(Leakage)的影响,如频点分裂,幅值能量不精确等等,总之就是频谱线比较难看,这时候就需要使用适当的窗函数,以满足我们工程测量的需要。

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

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


上一页 1 2 下一页

关键词: FFT

评论


相关推荐

技术专区

关闭