maye 发表于 2009-3-6 11:39

为什么对一组实数做FFT变换再IFFT变换得到结果却和原来不一样??

fid_in=wavread(......);
sprate=48000;
N=960

这里取960个点做FFT变换

fid_in_fft=fft(fid_in);

之后

fid_in_fft_ifft=ifft(fid_in_fft);

可为什么fid_in_fft_ifft的结果和fid_in不一样???????
我的意思是值不一样,其中,由于读的是一wav文件,所以读入的fid_in的值全是实数。但是fid_in_fft_ifft却有虚部,为什么呢?

maye 发表于 2009-3-6 16:38

这个问题我已经找到答案了。

ch_j1985 发表于 2009-3-9 20:49

回复 沙发 maye 的帖子

LZ能否把答案分享一下……

maye 发表于 2009-3-13 10:14

“如果在做IFFT变换后楼主想得到实数序列,则在IFFT之前应满足实部偶对称、虚部奇对称,在IFFT之后取实部(虚部虽有数值,但一般较小,是由有限字长运算所造成的误差)。”

max1859 发表于 2009-3-14 14:08

原来如此,我也去试试,感谢楼主分享哈...
页: [1]
查看完整版本: 为什么对一组实数做FFT变换再IFFT变换得到结果却和原来不一样??