關於MATLAB FFT頻譜洩露和加窗

2021-06-27 10:53:15 字數 415 閱讀 3812

我們分析的訊號,如果只含整數次諧波的話,用fft分析訊號的頻譜和相位是非常準確的,如果訊號含有確定的間諧波,比如訊號含有60hz和65hz的頻率,那我們也可以準確的分析出訊號的頻譜和相位,我們只要用矩形窗擷取10個周波的訊號就可以分析出50hz/10=5hz以及5hz的整數倍的訊號的頻譜和相位了,分析的相位和頻譜都是非常準確的!如果我們需要分析的訊號含有不確定的間諧波,比如我們根本不知道訊號含有什麼樣的間諧波,那麼此時用fft分析,必然會有頻譜洩露!那麼怎麼樣才能減少頻譜洩露呢(注意:這種情況下我們只能減少頻譜洩露,而基本上不可能完全消除頻譜洩露)?

我們可以有兩種方法:方法一:增加取樣的長度,方法二:加窗函式。

增加取樣長度可以分析出更多頻率的訊號,可以減少頻譜洩露,不過增加取樣長度必然會對資料處理的實時性造成影響!

理想的窗函式是主瓣很窄,旁瓣衰減很快,矩形窗

補零與頻譜洩露

頻譜洩露與傅利葉變換尤其是離散時間傅利葉變換有關,對於頻譜洩露,通常的解釋是這樣的 訊號為無限長序列,運算需要擷取其中一部分 截斷 於是需要加窗函式,加了窗函式相當於時域相乘,於是相當於頻域卷積,於是頻譜中除了本來該有的主瓣之外,還會出現本不該有的旁瓣,這就是頻譜洩露!為了減弱頻譜洩露,可以採用加權...

頻譜洩露與窗函式

今天,我想談的是數字訊號處理中的兩個重要的問題,什麼是頻譜洩露,以及什麼是窗函式,為什麼使用窗函式。我想大部分人和我一樣,在學習數字訊號處理或者從事相關工作時,會遇到相關的問題,那麼今天,就給大家分析頻譜洩露這個問題。大家在其他地方也經常聽見頻譜洩露這個概念,那麼頻譜洩露究竟是什麼呢?頻譜洩露,來自...

matlab窗函式的頻譜 如何理解頻譜洩露?

這只是我個人的理解,錯誤之處還請指正。如果原始訊號中有頻率成分處於兩個基本函式的頻率之間,會怎麼樣呢?fig.1 a 解釋了答案,原始訊號包含兩路不同頻率的正弦波,一路頻率與基本函式匹配,一路頻率不匹配。前者用乙個點就能表示峰值,而後者則會出現乙個峰值伴隨著兩個尾巴的頻譜,即發生了譜洩露 拖尾 可以...