一文讀懂FFT,海寧窗(hann)和漢明窗(hamming)的區別
數字信號處理離不開頻域分析,一定會用到FFT。做FFT之前又會用到窗函數。那麼各種窗函數之間有什麼區別呢?結論放在前面。
- 窗函數有四個評價指標,泄露指數,主瓣寬度,旁瓣衰減,旁瓣滾降率。
- 漢明窗(hamming)和海寧窗(hann)類似,漢明窗兩端不能到零,而海寧窗兩端是零。漢明窗能夠減少很近的旁瓣泄露,但是稍遠一點的旁瓣泄露比海寧窗嚴重。
- 海寧窗(hann)大多數情況下都能滿足需求。它同時具有很好的頻率分辨率和較少的頻譜泄露。如果不知道用什麼窗。海寧窗是個不錯的選擇。
海寧窗和漢明窗
漢明窗(hamming)和海寧窗(hann)類似,漢明窗的時域波形兩端不能到零,而海寧窗時域信號兩端是零。從頻域響應來看,漢明窗能夠減少很近的旁瓣泄露,但是稍遠一點的旁瓣泄露比海寧窗嚴重。
時域波形
頻域響應
matlab window 工具
matlab的window 工具可以很好地分析各種窗函數。下面截圖紅色框中突出了窗函數的三個重要參數。
- leakage factor 泄露指數
- Relative sidelobe attenuation 旁瓣衰減
- Mainlobe width(-3dB) 主瓣寬度
從三個指標來看,Hamming都要優於Hann,但實際上還有一個指標沒有加進來,即旁瓣滾降率(sidelobe roll-off rate),可以很明顯看出Hann的滾降率是大於Hamming的。Hann的滾降率爲 -17.16dB/oct,而Hamming的滾降率爲 -3.12dB/oct。
如何選擇窗
- 如果分析對象是單一頻率信號的幅度分辨率比頻域分辨率更高,則需要寬的主瓣。
- 如果分析對象是單一頻率信號,頻域分辨率要求比幅度分辨率更高,則需要更窄的主瓣。