FFT程式中N 128和N 1024時,幅度譜的頻譜頻寬為什麼不同

時間 2021-05-31 07:09:46

1樓:會飛的雞蛋

像類似題主的問題我曾經也糾結過,訊號離散傅利葉變換的幅值跟訊號幅度一定是有對應關係的,但是為什麼FFT的幅值不能完全對等訊號的幅值?

FFT是對訊號頻域和時域離散化的處理,既然是離散那麼就存在解析度的問題。當N取128和N取1024時,顯然頻率譜的「纖細程度」是不同的,因為不同的取樣點數計算結果在頻域上的「步進」長度是不一樣的,當N=128時,每一步是100Hz/128=0.78125Hz,當N=1024時,每一步是0.

09765625Hz,無論是將100Hz分成128份還是1024份,都沒有乙個點恰好對應15Hz和40Hz,所以才出現了FFT變換結沒有準確反映出訊號的頻率,而是在頻率序列中最接近15和40的點上體現出了「波峰」(當N=128時,40Hz訊號分析所得的頻率為39.84Hz)。如果將Matlab繪圖放大,就就會看到其實所顯示出的波峰也只不過是在訊號頻率左右兩端取樣點連線的乙個「斜坡」,並不是我們想象中的乙個尖峰。

N=128和N=1024都沒有準確的體現出訊號頻率

但如果N取100時,就能將100Hz按1Hz步進繪製出頻域譜,就能剛好在15Hz和40Hz出現針尖一樣的波峰,準確的體現了原訊號的頻率。

其實FFT分析只能近似的反映出訊號的特徵,所以我認為不要糾結於頻域普的幅值準確是多少。題主舉出的例子是在我們已知訊號的情況下用FFT來驗證結果,已經知道了答案再去求解我們還可以用特定的取樣點數來準確找到特定的頻率點。但在實際工程中,感測器接收到的訊號體現出來的只是一串數字,我們沒辦法預先知道訊號的頻率,只能通過盡可能加大取樣點數N進行FFT分析,以此獲得更接近訊號實際頻率的結果,這個時候,頻域的幅值也就只能定性的反映出多個訊號的幅值大小關係,並不能準確反映出訊號在時域的幅值。

2樓:司馬知也

fft分析窗,波形是整週期,才是標準答案。否則fft的分析窗(什麼都不加就是矩形窗)就會起作用,造成旁瓣洩漏,就是你目前的結果。

3樓:皮皮貓

嚴謹的正確答案是上面的 符咒的力量 發的結論。

換一種更直白的說法是這樣的,題主你最初設計的訊號是乙個連續訊號a,由兩個正弦波相加得到,對應頻率的分別是15Hz和40Hz。

你指定了取樣引數: fs=100;N=128;

同時你指定了訊號的構建方法: x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);

這樣你將最初設計的訊號 a離散取樣得到了乙個離散訊號 x.

問題就在這裡,你最初設計的連續訊號a 與離散取樣後得到的訊號x是有偏差的。

從頻率成分的角度來說:

最初設計的訊號a裡的頻率成分只有兩個15Hz和40Hz.

離散取樣後訊號x的頻率成分是 0,0.78125Hz, 1.5625Hz .......

14.84375Hz, 15.624Hz .....

39.84375Hz, 40.625Hz .....

99.21875Hz

看到了嗎,離散取樣後得訊號x裡面根本沒有15Hz和40Hz。

那麼這時候會發生什麼?比較會意一些的說法是這樣的:原本15Hz成分的能量分散到了15Hz周邊的頻率成分上。

借用你問題中的圖

在借用上面大神回答裡的圖

你發現區別了嗎?

本質上這個問題是連續訊號離散化的過程中帶出來的,嚴謹的說明看上面大神的說法即可。

4樓:阿繼

這個問題其實沒有太大的意義。

對於實際問題來說,我們只關心不同頻點幅值的相對大小,以確定目前訊號所包含的頻率分量,所以幅度修正其實完全沒有必要。

不用糾結了,對於工程人員來說,實用最好,會用最好,很多數學細節不必深究。

5樓:

這種問題知乎上已經有很多了,本質上這還要從數字訊號處理的基本概念說起。

如果是考慮連續函式的話,你說的這些問題都不會出現,sin函式的頻譜就是兩個衝激函式。

但是離散傅利葉變換是做了兩次離散的,一次是時間域上的離散,一次是頻域上的離散。

時間域上的離散的間隔就是 ,頻域上的間隔就是 數字頻率和模擬頻率的轉換就是取樣頻率 的關係。

所以在頻域上,根據你的取樣點數不同,你只能看到若干離散點的數值,你的頻率是40Hz的話,並不是頻域解析度deltaw的整倍數,所以就不是2,你可以試試把N設成1000或者10000這樣的整倍數,就是正好的(40,2)了。

然後,你也應該知道,在數字訊號處理裡邊衝激函式就是Sinc函式,在書上有一頁裡說過,離散的點其實是離散的Sinc函式的集合,所以如果你取得N正好的話那麼就是乙個個Sinc函式互不干擾,如果不好的話就有相互的干擾。而Sinc函式本身的寬度和N有關,N越大就意味著Sinc函式越窄。所以最後的結果就是如果N正好的話就有非0即1的效果

如果像你這樣不取整的話,就是你的圖的效果。

日語考研和N1考試?

Strawberry cmc 直接報考N1吧,二級確實沒啥用,好好準備可以考過的,這種考試每年有兩次,你可以選擇和考研不衝突的時候考試,如果實在沒辦法跟考研撞上了,我覺得完全可以顧的過來,因為在考研期間你的日語水平也在提高啊,當時就有考研和考專八衝突的人,結果都過了。僅作參考。 說說我的經歷吧 我本...

雅思6 5和日語n1哪個難考

已登出 感覺都挺難的,我日語和英語都在學,日語報的羊駝,英語報的滬江,學習時間太緊張,考試太有難度,感覺沒個一年都學不完,而且雙重壓力,有時候背單詞都背串了,大家還是要合理安排學習時間,別給自己造成太大壓力了,而且日語難度確實要比英語大一點,很多知識點我記下又忘了,要不斷溫習 海馬課堂 不是乙個語系...

請問如何在乙個學期內備考N2和N1?

itsugo 日語專業就好辦了的說 平時基礎還不錯的話就做真題,足夠了。做一套吃透一套 捲麵上出現的不熟悉的單詞還有語法要記,不用記得很詳細,下次看到能認識就行 吃個三四套應該就有感覺了。聽力平時沒事就拿出來聽,反覆聽,確保自己能聽懂每一段對話。基礎不好的話那就多做幾套。 倉鼠精 大二認真學下來基本...