不少同窗學習了數字信號處理以後,被裏面的幾個名詞搞的暈頭轉向,好比DFT,DTFT,DFS,FFT,FT,FS等,FT和FS屬於信號與系統課程的內容,是對連續時間信號的處理,這裏就不過多討論,只解釋一下前四者的關係。 算法
首先說明一下,我不是數字信號處理專家,所以這裏只站在學生的角度以最淺顯易懂的性質來解釋問題,而不涉及到任何公式運算。 函數
學過卷積,咱們都知道有時域卷積定理和頻域卷積定理,在這裏只須要記住兩點:1.在一個域的相乘等於另外一個域的卷積;2.與脈衝函數的卷積,在每一個脈衝的位置上將產生一個波形的鏡像。(在任何一本信號與系統課本里,此兩條性質有詳細公式證實) 學習
下面,就用這兩條性質來講明DFT,DTFT,DFS,FFT之間的聯繫: spa
先看圖片: 設計
首先來講圖(1)和圖(2),對於一個模擬信號,如圖(1)所示,要分析它的頻率成分,必須變換到頻域,這是經過傅立葉變換即FT(Fourier Transform)獲得的,因而有了模擬信號的頻譜,如圖(2);注意1:時域和頻域都是連續的! orm
可是,計算機只能處理數字信號,首先須要將原模擬信號在時域離散化,即在時域對其進行採樣,採樣脈衝序列如圖(3)所示,該採樣序列的頻譜如圖(4),可見它的頻譜也是一系列的脈衝。所謂時域採樣,就是在時域對信號進行相乘,(1)×(3)後能夠獲得離散時間信號x[n],如圖(5)所示;由前面的性質1,時域的相乘至關於頻域的卷積,那麼,圖(2)與圖(4)進行卷積,根據前面的性質2知,會在各個脈衝點處出現鏡像,因而獲得圖(6),它就是圖(5)所示離散時間信號x[n]的DTFT(Discrete time Fourier Transform),即離散時間傅立葉變換,這裏強調的是「離散時間」四個字。注意2:此時時域是離散的,而頻域依然是連續的。 圖片
通過上面兩個步驟,咱們獲得的信號依然不能被計算機處理,由於頻域既連續,又週期。咱們天然就想到,既然時域能夠採樣,爲何頻域不能採樣呢?這樣不就時域與頻域都離散化了嗎?沒錯,接下來對頻域在進行採樣,頻域採樣信號的頻譜如圖(8)所示,它的時域波形如圖(7)。如今咱們進行頻域採樣,即頻域相乘,圖(6)×圖(8)獲得圖(10),那麼根據性質1,此次是頻域相乘,時域卷積了吧,圖(5)和圖(7)卷積獲得圖(9),不出所料的,鏡像會呈週期性出如今各個脈衝點處。咱們取圖(10)週期序列的主值區間,並記爲X(k),它就是序列x[n]的DFT(Discrete Fourier Transform),即離散傅立葉變換。可見,DFT只是爲了計算機處理方便,在頻率域對DTFT進行的採樣並截取主值而已。有人可能疑惑,對圖(10)進行IDFT,回到時域即圖(9),它與原離散信號圖(5)所示的x[n]不一樣呀,它是x[n]的週期性延拓!沒錯,所以你去查找一個IDFT的定義式,是否是對n的取值區間進行限制了呢?這一限制的含義就是,取該週期延拓序列的主值區間,便可還原x[n]! form
FFT呢?FFT的提出徹底是爲了快速計算DFT而已,它的本質就是DFT!咱們經常使用的信號處理軟件MATLAB或者DSP軟件包中,包含的算法都是FFT而非DFT。 軟件
DFS,是針對時域週期信號提出的,若是對圖(9)所示週期延拓信號進行DFS,就會獲得圖(10),只要截取其主值區間,則與DFT是徹底的一一對應的精確關係。這點對照DFS和DFT的定義式也能夠輕易的看出。所以DFS與DFT的本質是同樣的,只不過描述的方法不一樣而已。 方法
不知道通過上面的解釋,您是否明白各類T的關係了呢?若是您不是算法設計者,其實只要懂得如何使用FFT分析頻譜便可,博主近期會更新一篇文章,專門介紹如何利用FFT分析簡單信號的頻譜。
其實我的認爲,糾結了這麼多,就是爲了打破現實模擬世界與計算機數字世界的界限呀!