从过滤的FFT中获取数据

时间:2012-05-17 19:43:54

标签: fft ifft

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

为了获得频率/幅度分量,我使用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?

非常感谢!

1 个答案:

答案 0 :(得分:2)

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

如果您更改数据,并希望获得实际数据,则必须过滤所有虚数组件以及复数FFT结果的实际组件,并确保频域数据仍然是复共轭对称的在做IFFT之前。如果仅使用幅度,则会丢弃可能极大地扭曲结果的相位信息。