t9t8321 发表于 2009-1-1 01:06

DFT VS FFT

DFT,FFT,
这两个算出来的结果会有差别吗?
书上也都是提及这两个的运算差别,
当然咯,FFT是DFT的快速算法,减少了运算次数,肯定运算节省很多
但是,我在想,他们的运算结果会一样吗?
等量变化,应该一样的哈?
哈,就是看看随便问问,最近在复习这方面的东西,发现学的时候学的不细,想的太少了吧
现在是不是想的太多了?:lol

hcharlie 发表于 2009-1-1 08:26

FFT是由DFT发展而来。
FFT对于样本长度有要求,现在常用2的整数幂,1024,2048。。。等等。
DFT没有这样的要求。
FFT巧妙地利用sin(X),cos(X)函数在X增加2PI,4PI。。。时函数值不变的原理,创造出FFT快速算法,并非近似算法,计算结果当然没有区别。
以1024点为例,用DFT要算100万次乘法,FFT大概只要2万次,所以快很多倍。

vican_lee 发表于 2009-1-1 22:19

理论上来说,dft 和fft算出的结果是一样的.
但是实际中,由于运算误差(芯片的运算位数是有限的),运算次数越多,误差越大,
所以实际上dft算出来的结果和fft的结果不一样,fft的要准确些

hcharlie 发表于 2009-1-2 08:07

回复 板凳 vican_lee 的帖子

以前定点算法误差大些,现在都用双精度浮点算法,计算误差极小。

t9t8321 发表于 2009-1-2 12:24

恩,有道理
基2、基4fft,分裂基fft。。。
都是对应特定点数的dft才能有效地FFT,
而且是无误差的,很好很好
谢谢各位了

vican_lee 发表于 2009-1-4 16:14

dft,可以只计算某一个关心的频率 相位和幅度
在某些应用中可以减少运算量
页: [1]
查看完整版本: DFT VS FFT