[問題] DFT 的適用時機 (DSP問題)

作者: alan23273850   2017-06-29 03:39:00
各位版上的先進大家好,小弟剛大學畢業,趁研究所開學前的空閒正在複習訊號處理(DSP)
( 先說我研究所的領域是 CS 的,跟這個八竿子打不著 XD )
有個問題困擾了我許久,只可惜在學校的時候沒學好,現在找不到老師問,
想說 matlab 版的大家應該有比較多訊號處理的經驗,所以 PO 上來尋求協助,
我只覺得訊號處理這種科目沒有人帶真的很難學到精隨,是很吃經驗的科目呢。
==========================================================================
問題是這樣的:什麼時候該用 DFT,什麼時候該用 DTFT?
我們都知道在離散時間裡面處理訊號的方式有兩種,DTFS (俗稱DFT) 跟 DTFT,
前者適用於週期性訊號,會使頻譜離散化,而後者適用於非週期性訊號,頻譜連續,
不過我實在想不到該用 DFT 而不用 DTFT 的理由。
如果單純只是對時域的訊號做處理,那我大可以在時域設計出一個 FIR,
然後兩個一起做 convolution,答案就出來了,也就是說頻譜的「連續性」只是一個現象,
不一定要讓頻譜離散化才能用 matlab 運算吧。
再考慮 IIR (無限延伸的 filter) 的情況,如果這個 filter 剛好在 n 很大的時候值會
趨近於零,
我們應該也可以直接忽略它,化簡成一個 FIR (有限長度),直接跟訊號 convolution,
就跟上面提到的一樣。
所以說目前我只想到該用 DFT 而不用 DTFT 的原因只有兩個:
(1) IIR 在任意時刻都有不可忽略的值,不容易直接乘,只好取一部份並利用 DFT 自動
隱含週期性的特性運算
(2) DFT 有 FFT 快速實作法,在計算頻譜會快很多
========================================================================
以上大概就是主要問題,想不太到在實際訊號處理的案例中 DFT 相對於 DTFT 的優點,
請問版上各位先進上面的論述是否正確?又 DFT 的主要應用為何?先謝謝版上大大!
因為這個問題困擾我許久,視情況我可能會發送稅前 30P - 50P 給有說服到我的最佳解
答作為回報
( 意即,只能有一位最佳解,因為我很窮 QQ )
當然,如果其他解答也很好的話我視財力也會發送一些 (10P) 作為謝禮!
作者: profyang (prof)   2017-06-29 05:08:00
DTFT頻譜是連續的 但是你實際上在處理的資料都碼是離散也許有的頻譜有理論公式 但沒有理論公式的呢?還不是要做數值積分算出頻譜 這個數值積出來的頻譜其實還是離散的既然實際處理上很逃避離散 那就阿莎力一點用DFT 時間頻譜都離散的 反正一樣要做數值積分嘛至於DTFT的用處太久以前讀了我不是很熟 印象中主要是來做一些理論的探討?什麼causality啥鬼的
作者: YoursEver (豬是妳)   2017-06-29 10:45:00
wiki: 傅立葉變換家族中的關係FS, DFT: 對周期信號, 這個狀況下只要"有限個"富立業基底,就可以去span整個信號.CFT, DTFT: 針對非週期信號(假設周期無窮大).但不論何時何地,請掌握DSP教科書第二章的那句重點,Fourier轉換相當於是把信號作eigen-decomposition.另外,真實狀況不可能存在IIR,因為IIR違反causality.sinc在 n很大的位置也趨近於0,你能把sinc的尾巴砍掉來作為近似嗎? 或許你該從一般電機系大三念的信號與系統開始念,念完之後,再去看DSP.basis的選擇牽涉到能不能該transform domain能否完整的詮釋某個信號,也跟能不能便於從另一個角度來看這個信號(ex: redundant bases, sparse representation)以你的狀況,先不要想太多,大多數的離散信號都是非週期信號,拿discrete-time fourier transform處理就好.你先複習一下Gibbs phenomenon.再考慮砍不砍的近似問題如果真的能這麼完美,那short-term Fourier早就有機會天下無敵,輪不到Gabor和wavelet family的出場了. :p
作者: profyang (prof)   2017-06-29 20:47:00
說真的 通訊用的例子我不太熟 我直接舉我熟悉的電波領域的例子好了 通訊用的比較多是想從時域求頻譜 但我們電波領域常常是反過來 我今天量到一個電路的頻譜了 我想要求他的時域響應 可想而知 所謂的"量到"的頻譜必然是離散的此時要由這離散的頻譜求得他時域的響應就要做數值傅立葉這時當然沒有必要去用反過來的DTFT 畢竟再怎麼樣也許你反過來的DTFT算出來是連續的時域響應 但我們在看Data還是會看離散的就好了 連續的資料你要畫出來給人看一樣要取點變成離散的再來既然看不看連續最後都要用離散的去觀察時域響應 那為啥不用有加速方法FFT的DFT呢?事實上 可以說單單有FFT這個加速方法就夠讓人想用DFT了再舉一個例子 就是你上面說的convolution 兩個離散的時域訊號要conv的話 如果用直接定義慢慢加複雜度是N^2 但用FFT就可以加快到N*logN 基於速度上的選擇當然會用FFT簡單結論一下:DTFT是在理論上探討用的 但是實際上在處理資料 因為FFT快 所以往往用DFT 一個是理論一個是實際

Links booklink

Contact Us: admin [ a t ] ucptt.com