matlab中fft得到真實幅值只要乘以(2 N),但為什麼改變N時幅值會隨之變化?

時間 2021-09-17 22:15:28

1樓:耍金箍棒的taro

對於乙個時域訊號x(t),取樣頻率為Fs,訊號頻率F,取樣點數為N,進行N取樣後為y[n],則fft(y,N)計算所得的結果就是乙個為N點的複數a+bi.

每乙個點就對應著乙個頻率點.這個點的模值,就是該頻率值下的幅度特性.

得到的頻率點與相應點處的模值與原始訊號的頻率和幅度有什麼關係?

1.頻率點:實際訊號第n點處的頻率是n*Fs/N;

2.幅度:第n(其中n!=1)點處的fft計算的結果是複數a+bi,模值A=sqrt(a^2+b^2),那麼實際訊號的幅度是2*A/N;

2樓:Linglai Li

幅值沒有變化,取樣點數會影響到FFT的計算結果。

請首先學習DFT的相關知識(FFT是DFT的快速演算法),參考wiki:Discrete Fourier transform 和matlab幫助:Fast Fourier transform

這個求和是沒有normalize的,至於為什麼是2/N而不是1/N,請仔細學習訊號處理有關傅利葉變換的相關知識。

對一段很長的訊號進行分段FFT,對得到的分段FFT進行何種操作能得到整體訊號的頻譜特徵?

不知道題主現在解決這個問題了沒有呢?我目前也剛好遇到長序列做FFT變換的問題,上萬點的資料長度並不適合一次性做FFT,有沒有什麼分段之後的方法呢? 不二 搭車問問題分n段FFT以後第一段得到的某個頻點是 a1 i b1 第二段該頻點是a2 i b2 那麼該頻點是 a1 a2 an n i b1 b2...

Matlab中fmincon的使用?

好的,那我們就用著名的Rosenbrock s banana函式做例子吧,當然這個例子也是matlab文件裡面改過來的的 我們給出如下的約束條件 1 2 3 在以 1 3,1 3 為圓心,1 3為半徑的圓內 就是 4 5 然後,求 的最小值 然後,我們用fmincon解決 x fmincon fun...

MATLAB中可以生成NaN的方法?

易夕 補充幾個。與空矩陣有關的 cov mean median var std mode 與inf有關的 eps inf rem inf,1 特定函式 findgroups interp1 1 2 1,1 0,linear 類似的還有interp2,interp3erfinv 2 erfcinv 1...