pengjun 发表于 2008-4-7 21:10

FFT与DFT分别计算100个数据结果是一样的吗?

分别用FFT和DFT计算的结果是一样的,不是说FFT是会自动补零,从而使得频谱图产生变化,大家帮忙看看
附上程序和结果图

songzy41 发表于 2008-4-8 10:30

从楼主给出的数据,作了FFT与DFT,分别计算100个数据,它们结果是一样的。在FFT运算时不会自动补零,楼主在程序中不论FFT,或DFT,都补了28个0,使数据长为128点。因此FFT或DFT都是对128点运算。

pengjun 发表于 2008-4-8 13:41

我搞明白了,matlab自带的FFT是不会自动补零的,如果是2的N次方的数据,是用基2算法,如果不是,则用混合算法或者是直接用DFT,谢谢关注!:@)

shawmar 发表于 2010-10-13 10:32

确定是楼主那样认为的算法吗?所说的混合算法是什么呢?

happy 发表于 2010-10-19 17:06

pengjun 发表于 2008-4-7 21:10 static/image/common/back.gif
分别用FFT和DFT计算的结果是一样的,不是说FFT是会自动补零,从而使得频谱图产生变化,大家帮忙看看
附上程 ...

Y = fft(X)这种用法是不会自动补零的

Y = fft(X,n)
如果length(X)<n,则会自动补零,是数据长度达到n
如果length(X)>n,则会自动截取X的前n个数据
页: [1]
查看完整版本: FFT与DFT分别计算100个数据结果是一样的吗?