基於matlab的fft變換中引數的設定

2022-09-07 19:03:12 字數 791 閱讀 6716

簡單總結:n為取樣點數,經過fft之後,就可以得到n個點的fft結果。為了方便進行fft運算,通常n取2的整數次方。 

假設取樣頻率為fs,訊號頻率f,取樣點數為n。那麼fft之後結果就是乙個為n點的複數。每乙個點就對應著乙個頻率點。這個點的模值,就是該頻率值下的 幅度特性。具體跟原始訊號的幅度有什麼關係呢?假設原始訊號的峰值為a,那麼fft的結果的每個點(除了第乙個點直流分量之外)的模值就是a的n/2倍。 而第乙個點就是直流分量,它的模值就是直流分量的n倍。而每個點的相位呢,就是在該頻率下的訊號的相位。第乙個點表示直流分量(即0hz),而最後乙個點 n的再下乙個點(實際上這個點是不存在的,這裡是假設的第n+1個點,可以看做是將第乙個點分做兩半分,另一半移到最後)則表示取樣頻率fs,這中間被 n-1個點平均分成n等份,每個點的頻率依次增加。例如某點n所表示的頻率為:(1)

。由上面的公式可以看出,fn所能分辨到頻率為 

fs/n,如果取樣頻率fs為1024hz,取樣點數為1024點,則可以分辨到1hz。1024hz的取樣率取樣1024點,剛好是1秒,也就是說,取樣1秒時間的訊號並做fft,則結果可以分析到1hz,如果取樣2秒時間的訊號並做fft,則結果可以分析到0.5hz。如果要提高頻率分辨力,則必須增加取樣點數,也即取樣時間。頻率解析度和取樣時間是倒數關係。假設fft之後某點n用複數a+bi表示,那麼這個複數的模就是

,相位就是

。根據以上的結果,就可以計算出n點(n≠1,且n<=n/2)對應的訊號的表示式為:

對於n=1點的訊號,

是直流分量,幅度即為a1/n。由於fft結果的對稱性,通常我們只使用前半部分的結果,即小於取樣頻率一半的結果。 

MATLAB中快速傅利葉變換fft的應用

傅利葉變換是一種線性的積分變換,它提供了一種可以將訊號從時間幅值座標變換到頻率幅值座標的方法,其具體的定義如下 上式即為傅利葉變換的表示式。傅利葉變換將訊號分解為若干個簡諧訊號疊加的形式,通過傅利葉變換畫出頻譜圖之後就可以找到訊號中包含的頻率成分。matlab中自帶的fft 函式可以幫助我們完成傅利...

基於matlab的FFT分析

離散傅利葉變換dft的計算公式如下,fft為dft的一種快速演算法。n 64時 fs 100 取樣頻率 n 64 資料點數 n 0 n 1 抽樣間隔ts 1 fs,所以t n ts n fs為時間序列 t n fs 時間序列 x 0.5 sin 2 pi 15 t 2 sin 2 pi 40 t y...

FFT和Matlab中操作FFT

fft 離散傅氏變換的快速演算法 fft fast fourier transformation 是離散傅氏變換 dft 的快速演算法。即快速傅氏變換。輸入n 1個數,輸出n 1個數 意義不同 輸入是時域,輸出為頻域 輸出是 每個取樣點對應的振幅或者能量值 輸出值的第乙個對應直流分量的振幅,第二個值...