Matlab中的fft函式演算法基礎是什麼?經fft後生成的序列序號與其對應的頻率到底是怎樣的數學對應關係呢?

時間 2021-06-02 17:37:02

1樓:肖萌

比如你有乙個n*1的陣列,fft完了是n*1的複數。你把結果除以n乘以2以後,第乙個數是非週期量,第二個數是週期為n/1的分量,第三個數是週期為n/2的分量,第四個數是週期為n/3的分量,以此類推。根據取樣定理fft的後一半沒意義

這還不清楚。y是1*1000的陣列,fft(y)/L*2=Y1*2。你把Y1*2的幅值畫出來 plot(abs(Y1)*2), 看到左半邊有兩個峰了嗎,乙個是第51點,乙個是第121點。

你取樣頻率1000,1個點是1毫秒,n個點是n毫秒,n=1000。fft以後第1個點是非週期量,第51個點就是週期為1000/50=20毫秒的分量,也就是50Hz,第121點是週期為1000/120毫秒的分量,也就是120Hz。剩下的所有東西都是噪音。

至於Y,它的長度是1024,但是你把它畫出來形狀和Y1是一樣的,估計就是假裝採了1024個點。它有2個峰,乙個在52,另乙個在124。52點是週期1024/51毫秒,也就是49.

8Hz,124點是週期1024/123毫秒,也就是120.1Hz。剩下的也都是噪音。

Y1(51)*2不是個複數嗎,它的絕對值就是對應頻率下的幅值,角度就是對應頻率下的相位。你會發現Y1(51)*2和Y(52)*2兩個數的絕對值是一樣的,但是角度不一樣。這八成是因為相位對頻率太敏感了,而且你多數情況下只會用到幅值

學習matlab的fft函式時,產生了以下疑惑,應該怎麼解決呢?

易夕 所有問題都可以用一句話回答,因為你的取樣頻率設定的太小了,導致訊號失真。取樣頻率必須超過訊號中最高分量頻率的兩倍。forn 1 64X n sin 2 pi 50 0.02 64 n 1 0.5 sin 40 2 pi 50 0.02 64 n 1 1.5 end 看一下X n 的影象 plo...

在matlab裡面, 如何用FFT函式計算出諧波的真實幅值?

getnewer 訊號有P個諧波,假定各個諧波訊號實余弦訊號那麼就可以寫成2 P個復指數訊號。那麼最極端的情況下 無噪 你只需要4 P點的FFT,就可以算出諧波的每個頻率,進而求出每個諧波上的幅度。有噪情況下,FFT的點數N N 4P 越大,抗噪效能越好。 王俊 細分頻率 當N 128時,15Hz和...

matlab中symsum級數函式定義的不定和是什麼?

其實題主直接 help symsum 大概就能知道symsum是如何求解符號級數的了。利用symsum進行符號級數求和首先需要指定符號變數 symvar 然後指定符號變數的取值範圍 range 最後按照正確的呼叫格式就能完成計算。隨手搬運幾個出自幫助文件的簡單例子 syms i n define s...