前些天突然碰到一个问题,一直未曾细究过,在剔除频谱中某些频率成分时,时域能量与频域能量本应该是相等的,这就是著名的 Parswel定理嘛,无奈忘了时域有效值和频谱直接算有效值到底是怎么样一个对应关系,后面再细细扒拉扒拉;
尽然忘了换算关系,fft逆变换总可以吧,这时才发现原来这也有问题哈。得到了频谱,但是要从频谱再倒回去得到时域波形,可就是难了,查了下资料看来相要准确的时域波形还原,需要相位信息。好了,废话不多些了,直接上图:
乍一看上去,波形基本上是一样的,来做个误差看看:
本来应该是由幅值和相位逆变换回的误差小,直接逆变换得到的误差大,结果正好相反,这个如何解释,难道地方还需要窗函数?频谱泄露?莫怪概念都没学好……
再进一步看下频谱:结果都是差不多的:反正肉眼是看不出三个频谱有啥区别。
y_return=real(ifft(y_ft,nfft));
% test_y_return=ifft(abs(y_ft));
test_angle=angle(fft(y,nfft));
test_amp=abs(fft(y,nfft));
Z=test_amp.*exp(-1j*test_angle);
Z=real(ifft(Z));