各位版上的先進大家好,小弟剛大學畢業,趁研究所開學前的空閒正在複習訊號處理(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) 作為謝禮!