[问题] 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