FFT的前世今生(三)
窗函數對于FFT結果的影響
本文引用地址:http://dyxdggzs.com/article/192824.htm所謂頻譜泄露,就是信號頻譜中各譜線(xiàn)之間相互干擾,使測量的結果偏離實(shí)際值,同時(shí)在真實(shí)譜線(xiàn)的兩側的其它頻率點(diǎn)上出現一些幅值較小的假譜。產(chǎn)生頻譜泄露的主要原因是采樣頻率和原始信號頻率不同步,造成周期的采樣信號的相位在始端和終端不連續。簡(jiǎn)單來(lái)說(shuō)就是因為計算機的 FFT 運算能力有限,只能處理有限點(diǎn)數的 FFT,所以在截取時(shí)域的周期信號時(shí),沒(méi)有能夠截取整數倍的周期。信號分析時(shí)不可能取無(wú)限大的樣本。只要有截斷不同步就會(huì )有泄露。
在圖1和圖2中,為了最大化FFT運算之后的頻率分辨率,我們使用了矩形窗。圖中的時(shí)域信號是500MHz正弦波信號,在頻譜上應該僅在500MHz頻點(diǎn)上看到譜線(xiàn)。FFT運算研究的是整個(gè)時(shí)間域(-∞,+∞)與頻域的關(guān)系,所以對于矩形窗函數截取的波形應該認為是無(wú)窮延續的,因此,矩形窗100ns時(shí)間窗內,包含了500MHz正弦波整50個(gè)周期,所以波形的首尾能夠整周期得無(wú)縫連接,FFT之后的頻譜會(huì )在500MHz頻點(diǎn)看到較為純凈的能量值。如下圖1所示:
圖1:矩形時(shí)間窗口內包含整數倍周期的信號,首尾可以“無(wú)縫”連接
事實(shí)上,大多數類(lèi)型的信號都不滿(mǎn)足上面的這種特殊情況,絕大多數信號在時(shí)間窗口內都不是整周期的倍數,在這種情況下,FFT之后的頻譜就不能看做連續的正弦波了。例如,如果該正弦波的頻率是495MHz,在100ns時(shí)間窗口內包含49.5個(gè)周期,因此在截取窗口的首尾部分就存在很大程度上的“不連續”,這種“不連續”會(huì )直接影響FFT之后的結果。“不連續”部分的能量會(huì )散落在整個(gè)頻譜范圍內,使用100ns時(shí)間窗口,FFT之后的頻率分辨率是10MHz,495MHz頻點(diǎn)即落在490MHz與500MHz之間,所以495MHz正弦波信號的能量分成兩部分,所以從頻譜上看,峰值譜線(xiàn)明顯降低了,這被稱(chēng)作是頻譜泄露(Leakage)。如下圖2所示:
不同的窗函數對信號頻譜的影響是不一樣的,這主要是因為不同的窗函數,產(chǎn)生泄漏的大小不一樣,頻率分辨能力也不一樣。信號的截短產(chǎn)生了能量泄漏,而用FFT算法計算頻譜又產(chǎn)生了柵欄效應,從原理上講這兩種誤差都是不能消除的,但是我們可以通過(guò)選擇不同的窗函數對它們的影響進(jìn)行抑制。(矩形窗主瓣窄,旁瓣大,頻率識別精度最高,幅值識別精度最低;布萊克曼窗主瓣寬,旁瓣小,頻率識別精度最低,但幅值識別精度最高)
為了減少頻譜旁瓣和柵欄效應的影響,我們在FFT運算中使用窗函數,圖3顯示了Hanning(漢寧窗)使用后的效果。窗函數位于下圖中左上角的柵格中紅色的波形,疊加在黃色的時(shí)域信號上。窗函數與時(shí)域信號時(shí)域相乘。結果顯示在左下角的藍色波形。右下角的粉色波形顯示了進(jìn)行FFT計算之后的頻譜圖,相對于右上角的使用窗函數之前的頻譜圖來(lái)說(shuō),旁瓣的幅度已經(jīng)大大減低。
對于不同的應用需求還有多種不同的窗函數供工程師選擇,Hanning(漢寧窗)是使用最廣泛的一種窗函數,除此之外,Hamming(海明窗),Flat-top窗和Balckman-Harris窗的效果,在下圖中做了對比,圖中的信號使用500MHz正弦波,矩形窗產(chǎn)生最窄的譜線(xiàn),加Flat-top窗譜線(xiàn)最寬。
下圖4中顯示了同樣的窗函數對比,但是采用495MHz正弦波進(jìn)行FFT運算,矩形窗顯示了最差旁瓣效果,Flat-top窗函數基本上保持了與圖3一樣的旁瓣效果,所以我們看到旁瓣的影響和精確頻率分辨率有時(shí)候是不可兼得的。(矩形窗主瓣窄,旁瓣大,頻率識別精度最高,幅值識別精度最低;Flat-top窗主瓣寬,旁瓣小,頻率識別精度最低,但幅值識別精度最高)
圖5中顯示了不同的窗函數對于柵欄效應的抑制效果,圖中的正弦波頻率從450MHz增加到550MHz,步進(jìn)值為500KHz,Flat-top窗在整個(gè)頻段上基本保持相同的值,矩形窗函數有約4dB的差值。
我們把關(guān)于窗函數的一些重要的結論總結如下:
1、 連續的FFT運算并沒(méi)有窗函數的概念,因為信號是充滿(mǎn)時(shí)間坐標軸的,FFT之后的頻率分辨率是0,并不存在柵欄效應。但是,示波器采集和處理的信號全部是離散的采樣點(diǎn),是非連續的,所以DFT之后的頻譜一定存在柵欄效應。
2、 如果能夠保證示波器時(shí)間窗口內的信號是整數倍周期的(并且在信號時(shí)間窗口之前和之后的信號都是嚴格周期重復的),或者采集信號時(shí)間足夠長(cháng),基本上可以覆蓋到整個(gè)有效信號的時(shí)間跨度。這種方法經(jīng)常在瞬態(tài)捕捉中被使用到,比如說(shuō)沖擊試驗,如果捕捉的時(shí)間夠長(cháng),捕捉到的信號可以一直包括了振動(dòng)衰減為零的時(shí)刻。在這種情況下,可以不加窗函數。
3、 如果不滿(mǎn)足1和2,那么FFT計算之后的頻譜就不可避免受到頻譜泄露(Leakage)的影響,如頻點(diǎn)分裂,幅值能量不精確等等,總之就是頻譜線(xiàn)比較難看,這時(shí)候就需要使用適當的窗函數,以滿(mǎn)足我們工程測量的需要。
4、 示波器中的FFT運算,不加窗和加矩形窗是一回事。
5、 窗函數會(huì )改變頻域波形,讓頻譜形成人們“喜歡”的形狀,但是不會(huì )本質(zhì)上消除頻譜泄露,不同的窗函數都有其獨特的特性,我們只需要根據工程測試的需要,選擇一款合適的就可以了。
評論