1

我已经对一些我想使用 Matlab 处理的数据应用了 FFT。产生的频率非常嘈杂,因此我对频率/幅度向量应用了移动平均滤波器。现在我有兴趣根据这个过滤的频域数据获取时域数据,以便稍后在光谱仪中使用。

为了获得频率/幅度分量,我使用了 Mathworks 示例中的以下代码:

NFFT=2^nextpow2(L); 
A=fft(a,NFFT)/L; %a is the data
f=Fs/2*linspace(0,1,NFFT/2+1);

并使用以下方法绘制:

plot(f,2*abs(A(1:NFFT/2+1))

您能推荐一种从过滤的 FFT 结果中获取时域数据的方法吗?是否涉及逆 FFT?

非常感谢!

4

1 回答 1

2

IFFT 是 FFT 的逆。如果您不更改频率数据,您应该从同一个库的 ifft(fft(x)) 中获取相同的数据。

如果你改变了数据,想要得到真实的数据,你必须过滤所有的虚部以及复数 FFT 结果的实部,并确保频域数据仍然是复共轭对称的。 IFFT。如果仅使用幅度,则会丢弃相位信息,从而极大地扭曲结果。

于 2012-05-17T20:29:32.217 回答