大家好,我是小小的電子之路,這是我的第23篇原創(chuàng)文章,很高興與大家一起分享~
原文出自微信公眾號(hào)【小小的電子之路】
在數(shù)字信號(hào)處理領(lǐng)域,快速傅里葉變換(FFT)可以說是其核心內(nèi)容之一。在利用FFT分析信號(hào)頻譜的過程中,不可避免地會(huì)出現(xiàn)頻譜泄漏現(xiàn)象,因此,我們所觀察到的信號(hào)頻譜只是其真實(shí)頻譜的近似,為了減少二者之間的誤差,我們必須最小化頻譜泄漏。接下來,本文就來簡(jiǎn)單介紹一下什么是頻譜泄漏、為什么會(huì)出現(xiàn)頻譜泄漏、如何最小化頻譜泄漏以及窗函數(shù)對(duì)目標(biāo)信號(hào)的負(fù)面影響。
1、什么是頻譜泄漏
頻譜泄漏是指輸入信號(hào)中的某些頻率分量的能量出現(xiàn)在FFT輸出的其它頻率點(diǎn)上。如下圖所示,我們希望信號(hào)的能量全部集中在主瓣上,但是實(shí)際上,信號(hào)的能量存在泄漏,也就是存在旁瓣,從而使能量出現(xiàn)在其兩側(cè)其它頻點(diǎn)上,產(chǎn)生頻譜泄漏現(xiàn)象。
2、為什么會(huì)出現(xiàn)頻譜泄漏
頻譜泄漏現(xiàn)象出現(xiàn)的原因是FFT的輸入序列不包含分析頻率的完整周期。FFT計(jì)算結(jié)果中的幅頻響應(yīng)可以近似理解為對(duì)sinc函數(shù)的采樣,而sinc函數(shù)的參數(shù)受輸入序列包含的分析信號(hào)的周期數(shù)的影響。
假設(shè)輸入序列包含目標(biāo)信號(hào)的完整周期,其幅頻響應(yīng)如下圖所示,可以看出,輸出頻譜在對(duì)sinc函數(shù)進(jìn)行采樣時(shí),采樣到的旁瓣能量均為零,因此,其旁瓣能量不會(huì)對(duì)輸出頻譜中其它頻點(diǎn)的能量產(chǎn)生影響。
若輸入序列沒有包含目標(biāo)信號(hào)的完整周期,則其幅頻響應(yīng)如下圖所示,輸出頻譜在對(duì)sinc函數(shù)進(jìn)行采樣時(shí),采樣到了旁瓣能量,這些能量就會(huì)疊加在其它頻點(diǎn)的能量上,產(chǎn)生頻譜泄漏現(xiàn)象。
3、如何最小化頻譜泄漏
最小化頻譜泄漏的核心就是降低旁瓣的幅度。通過前文的分析可以發(fā)現(xiàn),頻譜泄漏就是因?yàn)樾盘?hào)旁瓣的能量影響到了其它頻點(diǎn),那么,只要能夠降低旁瓣的能量,就能減弱頻譜泄漏。
旁瓣能量的降低可以通過對(duì)輸入序列加窗實(shí)現(xiàn)。下圖是幾種不同窗函數(shù)的頻率響應(yīng),可以看出,窗函數(shù)的類型不同,其旁瓣衰減也不同。
分別利用這幾種窗函數(shù)處理發(fā)生頻譜泄漏的信號(hào),處理結(jié)果如下圖所示,所用窗函數(shù)不同,頻譜泄漏的程度也不同。
4、窗函數(shù)對(duì)目標(biāo)信號(hào)的負(fù)面影響
如果目標(biāo)信號(hào)并沒有發(fā)生頻譜泄漏現(xiàn)象,那么窗函數(shù)對(duì)其有什么影響呢?
(1)降低主瓣幅度;
實(shí)際上,窗函數(shù)不僅僅會(huì)降低旁瓣幅度,同時(shí)也會(huì)降低主瓣幅度,只是此時(shí)旁瓣幅度相對(duì)于主瓣幅度而言更低了,重點(diǎn)在相對(duì)幅度。
(2)降低頻率分辨率。
窗函數(shù)帶來的另一個(gè)影響就是會(huì)拓寬主瓣寬度,這將導(dǎo)致頻率分辨率降低。如下圖所示,加窗處理后,主瓣寬度拓寬,導(dǎo)致目標(biāo)頻率周圍頻點(diǎn)幅值不為零,一旦這些頻點(diǎn)存在有用信號(hào),將無法準(zhǔn)確區(qū)分其幅值,因此,頻率分辨率降低,準(zhǔn)確的表述為頻率分辨率減半。