在學習方法上,我有這點體會:學習工科,重在物理意義的理解。對于任何知識點,首先要嘗試去理解這個知識點所表達的物理意義是什么,不要一開始就掉進了數學推導的茫茫大海中。先抓住主干數字信號處理難不難學,再去考量細節分支,最后再補充特殊情況。這是學習一個已經較為系統的知識的比較好的方法。若一開始從各種細節做起,則會茫然無頭緒。
針對數字信號處理這門課程(目前只看到了DFT, FFT,后面的各種濾波器神馬的還沒有看。所以只拿DFT,FFT 說事兒。),我認為主干是這樣的:每個信號都有一個頻域特性,我們可以使用各種數學方法來觀察信號的頻域特性,不同的數學方法觀察到的頻域特性可能有所不同。這些數學方法包括:傅里葉變換(FT),離散時間傅里葉變換(DTFT),離散傅里葉變換(DFT)和快速傅里葉變換(FFT)。在這四中數學處理方法中,只有DFT 和FFT 是可以在計算機中處理的,因為DFT和FFT是數值化的計算方法,而FT 和 DTFT是積分的計算方法。
對于一個時域信號x(t),其FT為Y(f)。Y(f)是連續頻譜。
對時域信號x(t)進行抽樣(抽樣應滿足奈奎斯特抽樣定理)后得到離散的時域信號x(n),x(n)的傅里葉變換就叫做離散時間傅里葉變換DTFT。其DTFT的結果為Y'(f),Y'(f)也是連續頻譜。而這個Y'(f)與Y(f)之間有非常美麗的關系:Y'(f)是Y(f)的周期拓展。拓展的周期就是時域的抽樣頻率f_sam。要完全了解Y'(f)與Y(f)之間的關系,就需要詳細的數學公式推導了。
不論是FT 還是DTFT, 其頻域特性計算方法都是連續的數學積分。而計算機能處理的都是數值化的計算方法。怎么用數值化的計算方法來表征信號的頻域特性?這就用到了DFT和FFT。
離散的時域信號x(n)有自己的DFT 計算公式,其DFT結果為Y''(n)。通過DFT計算出來的Y''(n)有什么物理含義呢?Y''(n)是在f_sam頻率內對Y'(f)的N點均勻抽樣,N是計算DFT時采用的點數。可以想象,當N值越來愈大數字信號處理難不難學,Y'(f)抽樣的點數越來密集,Y''(n)就能很好地反映Y'(f)的情況。當然,頻域的抽樣也是有抽樣定理的,當N點值滿足一定條件時,就可以保證頻域抽樣能完全恢復信號。這個也可以去看詳細的數學證明。
最后說道FFT。其實FFT 和DFT的物理意義是一樣的。只不過為了節省計算機中存儲和計算資源,大牛們通過研究DFT算法,對DFT的計算方法提出了一些改進,即FFT,使得離散傅里葉變換更容易被計算機處理,而實質的內容是不變的。