FFT之頻率與幅值的確定(轉)


FFT之后得到的是什么數
FFT之后得到的那一串復數是波形對應頻率下的幅度特征,注意這個是幅度特征不是復制,下面要講兩個問題:1.如何獲取頻率,2.如何獲取幅值

獲取頻率
FFT變換如何獲取頻率?傅里葉變換並沒對頻率進行任何計算,頻率只與采樣率和進行傅里葉變換的點數相關,注意這里是進行傅里葉變換的點數而不一定是信號的長度。
FFT變換完第一個數時0Hz頻率,0Hz就是沒有波動,沒有波動有個專業一點的說法,叫直流分量。
后面第二個復數對應的頻率是0Hz+頻譜分辨率,每隔一個加一次,頻譜分辨率Δf計算公式如下:
Δf=FsN
式中:
Fs為采樣率
N為FFT的點數
因此只要Fs和N定了,頻域就定下來了。

FFT變換后的第一個實數 - 直流分量
FFT之后的第一個結果表示了時域信號中的直流成分的多少,所謂直流信號,代表和基准0的偏移量。
上面的結果不好說明,下面再看一個例子:

oneWave = [1,1,1,1,1,1,1,1];fft(oneWave)
輸出:

8 0 0 0 0 0 0 0

oneWave 的直流分量是1,但計算結果是8,這里又引入一個問題,FFT之后的數值不是真實的幅值,需要進行轉轉換,第一個點需要除以N,才能還原為原來的結果

FFT變換后的復數模 - 幅度
假設原始信號的峰值為A,那么FFT的結果的每個點(除了第一個點直流分量之外)的模值就是A
的N/2倍。而第一個點就是直流分量,它的模值就是直流分量的N倍

也就是說,要得出真實幅值,需要把除了第1個點(i=0)以及最后一個點(i=N/2)除以N以外,其余點需要求得的模除以N/2
這是因為傅里葉級數對應時域幅值,其中已經包含了1/N項,而fourier變換中沒有該系數,
所以,進行完fft變換后需除以N/2才能與時域對應上。
FFT的計算公式
Fn=∑i=0N−1xie−2πjNni
實際應用中,只有i=0~N/2是有用的
全世界絕大部分的FFT算法計算出來后都需要進行幅度的轉換的,幅值根據需求有不同需求


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM