如何理解離散傅里葉變換

爲了方便討論,以下用的都是邏輯頻率和週期,先給出邏輯頻率和週期的定義:

頻率f:整個序列(數組)中有幾個這個正弦波的週期
週期T:這個正弦波一個週期中的採樣點數
fT=N

邏輯頻率和物理頻率的轉換,可以直接把邏輯頻率縮放到物理頻率:
=fNHz

離散傅里葉變換(DFT)的公式:

X(f)=t=0N1x(t)eifN2πt,t,f=0,1,...,N1=t=0N1x(t)cos(fN2πt)+ix(t)sin(fN2πt)

其中x(t)爲時域信號數組,X(f)爲頻域數組,把f=0~N-1代入X(f),就能得到各個頻率的正弦波(結果是個複數,幅值爲複數的模,初相爲 arctan()
各正弦波的頻率 f=0,1,2,3,...,N1
週期 T=Nf=,N,N2,N3,...,NN1

例如下圖藍色曲線頻率爲3,幅值爲2;紅色曲線頻率爲16,幅值爲1。把它們相加就得到了綠色曲線。對綠色曲線採樣,做DFT後得到頻域爲圖的下半部分(x軸爲頻率,y軸爲幅值)

DFT

(因爲整個時域序列相加了, +N 纔是原來的正弦波幅值,所以IDFT公式前面要乘1/N)

由DFT的公式可知,X(1)~X(N/2-1)和X(N-1)~X(N/2+1)是共軛複數。N/2+1~N-1又叫負頻率,因爲DFT得到的頻域函數也是周期函數,X(N/2+1)~X(N-1)和X(-N/2+1)~X(-1)的值相等。用具體例子理解負頻率:有個車輪順時針旋轉,如果旋轉頻率增大到人眼採樣頻率的N/2+1~N-1,即負頻率,看起來車輪就是逆時針旋轉了

根據採樣定理(香農定理、奈奎斯特定理),只有頻率小於採樣頻率/2的信號能無損還原,N/2叫做奈奎斯特頻率。我們能用到的實際上只有直流量和正頻率(f=0~N/2-1)

頻率超過N/2會怎麼樣

f=31,隨着頻率增加,正負頻率越來越靠近N/2

f=31

f=32,每個週期剛好採樣到2個點(再增大就只有1個點了),正負頻率合爲了奈奎斯特頻率

f=32

這個時候信號已經失真了,比如相位超前90°,採樣到的就全是0

f=32

f=33,採樣到的點看起來和f=31一樣,算得頻率就是31

f=33

f=63,頻率繼續增加,採樣到的點頻率反而減小了,這裏和f=1一樣

f=63

f=64,看起來就是直流信號

f=64

f=65,又和f=1一樣了

f=65

DFT做了什麼

我們只看實數部分,虛數部分同理,只是用sin表示正弦波,相位差了90°。DFT其實就是把時域信號加權相加,權值等於相應頻率,幅值爲1的cos序列

爲什麼這樣就能把不同頻率的正弦波分開

這是利用了三角函數的正交性,即頻率爲0, 1, 2, … 的任意兩個正弦波乘積在整個週期(採樣序列)積分(求和)爲0

例如 x(t)=(f=3+f=16) ,x(t)與f=3的正弦波相乘後就變成了 (f=3f=3+f=16f=3) ,再求和後,第二項變爲0消掉了,只有頻率相同的第一項留了下來

如果不正交呢

下圖爲頻率爲3.5的情況

頻譜泄露

可以看出整個頻域範圍幅值都不爲0,就像幅值從頻率3.5泄露出去了,這種現象叫做頻譜泄露。DFT其實把原信號當成了無限長序列信號,如下圖,原信號改變了,所以頻域也變了

截斷

其實就是把正弦波截斷後,週期不完整了,出現了非整數的頻率,破壞了三角函數的正交性。實際應用中難免截斷完整週期,爲了減少頻譜泄露的影響,有兩種方法,一種是把原信號加窗後再DFT;另一種是增加用來變換的序列長度,這樣可以把頻率分得更細,讓三角函數更接近正交

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章