DFT、DTFT和DFS你搞清楚了嗎?
大家好,又到了每日學(xué)習(xí)的時(shí)間了,今天咱們來(lái)聊一聊數(shù)字信號(hào)處理中DFT、DTFT和DFS的關(guān)系,咱們通過(guò)幾幅圖來(lái)對(duì)比,探討一下哦。
很多同學(xué)學(xué)習(xí)了數(shù)字信號(hào)處理之后,被里面的幾個(gè)名詞搞的暈頭轉(zhuǎn)向,比如DFT,DTFT,DFS,F(xiàn)FT,F(xiàn)T,FS等,F(xiàn)T和FS屬于信號(hào)與系統(tǒng)課程的內(nèi)容,是對(duì)連續(xù)時(shí)間信號(hào)的處理,這里就不過(guò)多討論,只解釋一下前四者的關(guān)系。
首先說(shuō)明一下,我不是數(shù)字信號(hào)處理專家,因此這里只站在學(xué)習(xí)者的角度以最淺顯易懂的性質(zhì)來(lái)解釋問(wèn)題,而不涉及到任何公式運(yùn)算。
學(xué)過(guò)卷積,我們都知道有時(shí)域卷積定理和頻域卷積定理,在這里只需要記住兩點(diǎn):1.在一個(gè)域的相乘等于另一個(gè)域的卷積;2.與脈沖函數(shù)的卷積,在每個(gè)脈沖的位置上將產(chǎn)生一個(gè)波形的鏡像。(在任何一本信號(hào)與系統(tǒng)課本里,此兩條性質(zhì)有詳細(xì)公式證明)
下面,就用這兩條性質(zhì)來(lái)說(shuō)明DFT,DTFT,DFS,F(xiàn)FT之間的聯(lián)系:
先看圖片:
首先來(lái)說(shuō)圖(1)和圖(2),對(duì)于一個(gè)模擬信號(hào),如圖(1)所示,要分析它的頻率成分,必須變換到頻域,這是通過(guò)傅立葉變換即FT(Fourier Transform)得到的,于是有了模擬信號(hào)的頻譜,如圖(2);注意1:時(shí)域和頻域都是連續(xù)的!
但是,計(jì)算機(jī)只能處理數(shù)字信號(hào),首先需要將原模擬信號(hào)在時(shí)域離散化,即在時(shí)域?qū)ζ溥M(jìn)行采樣,采樣脈沖序列如圖(3)所示,該采樣序列的頻譜如圖(4),可見(jiàn)它的頻譜也是一系列的脈沖。
所謂時(shí)域采樣,就是在時(shí)域?qū)π盘?hào)進(jìn)行相乘,(1)×(3)后可以得到離散時(shí)間信號(hào)x[n],如圖(5)所示;由前面的性質(zhì)1,時(shí)域的相乘相當(dāng)于頻域的卷積,那么,圖(2)與圖(4)進(jìn)行卷積,根據(jù)前面的性質(zhì)2知,會(huì)在各個(gè)脈沖點(diǎn)處出現(xiàn)鏡像,于是得到圖(6),它就是圖(5)所示離散時(shí)間信號(hào)x[n]的DTFT(Discrete time Fourier Transform),即離散時(shí)間傅立葉變換,這里強(qiáng)調(diào)的是“離散時(shí)間”四個(gè)字。注意2:此時(shí)時(shí)域是離散的,而頻域依然是連續(xù)的。
經(jīng)過(guò)上面兩個(gè)步驟,我們得到的信號(hào)依然不能被計(jì)算機(jī)處理,因?yàn)轭l域既連續(xù),又周期。我們自然就想到,既然時(shí)域可以采樣,為什么頻域不能采樣呢?這樣不就時(shí)域與頻域都離散化了嗎?
沒(méi)錯(cuò),接下來(lái)對(duì)頻域在進(jìn)行采樣,頻域采樣信號(hào)的頻譜如圖(8)所示,它的時(shí)域波形如圖(7)。現(xiàn)在我們進(jìn)行頻域采樣,即頻域相乘,圖(6)×圖(8)得到圖(10),那么根據(jù)性質(zhì)1,這次是頻域相乘,時(shí)域卷積了吧,圖(5)和圖(7)卷積得到圖(9),不出所料的,鏡像會(huì)呈周期性出現(xiàn)在各個(gè)脈沖點(diǎn)處。
我們?nèi)D(10)周期序列的主值區(qū)間,并記為X(k),它就是序列x[n]的DFT(Discrete Fourier Transform),即離散傅立葉變換。可見(jiàn),DFT只是為了計(jì)算機(jī)處理方便,在頻率域?qū)TFT進(jìn)行的采樣并截取主值而已。
有人可能疑惑,對(duì)圖(10)進(jìn)行IDFT,回到時(shí)域即圖(9),它與原離散信號(hào)圖(5)所示的x[n]不同呀,它是x[n]的周期性延拓!
沒(méi)錯(cuò),因此你去查找一個(gè)IDFT的定義式,是不是對(duì)n的取值區(qū)間進(jìn)行限制了呢?這一限制的含義就是,取該周期延拓序列的主值區(qū)間,即可還原x[n]!
FFT呢?FFT的提出完全是為了快速計(jì)算DFT而已,它的本質(zhì)就是DFT!我們常用的信號(hào)處理軟件MATLAB或者DSP軟件包中,包含的算法都是FFT而非DFT。
DFS,是針對(duì)時(shí)域周期信號(hào)提出的,如果對(duì)圖(9)所示周期延拓信號(hào)進(jìn)行DFS,就會(huì)得到圖(10),只要截取其主值區(qū)間,則與DFT是完全的一一對(duì)應(yīng)的精確關(guān)系。這點(diǎn)對(duì)照DFS和DFT的定義式也可以輕易的看出。因此DFS與DFT的本質(zhì)是一樣的,只不過(guò)描述的方法不同而已。
不知道經(jīng)過(guò)上面的解釋,您是否明白各種T的關(guān)系了呢?如果您不是算法設(shè)計(jì)者,其實(shí)只要懂得如何使用FFT分析頻譜即可,博主近期會(huì)更新一篇文章,專門(mén)介紹如何利用FFT分析簡(jiǎn)單信號(hào)的頻譜。
其實(shí)個(gè)人認(rèn)為,糾結(jié)了這么多,就是為了打破現(xiàn)實(shí)模擬世界與計(jì)算機(jī)數(shù)字世界的界限呀!
今天就聊到這里,各位,加油。