各位版上的先进大家好,小弟刚大学毕业,趁研究所开学前的空闲正在复习讯号处理(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) 作为谢礼!