为什么对一组实数做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 的帖子
LZ能否把答案分享一下…… “如果在做IFFT变换后楼主想得到实数序列,则在IFFT之前应满足实部偶对称、虚部奇对称,在IFFT之后取实部(虚部虽有数值,但一般较小,是由有限字长运算所造成的误差)。” 原来如此,我也去试试,感谢楼主分享哈...
页:
[1]