【问题标题】:Getting Data back from Filtered FFT从过滤的 FFT 中取回数据
【发布时间】:2012-05-17 19:43:53
【问题描述】:

我对一些我想使用 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?

非常感谢!

【问题讨论】:

    标签: fft ifft


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-01-20
      • 2014-05-02
      • 2015-08-20
      • 1970-01-01
      • 1970-01-01
      • 2014-04-28
      • 1970-01-01
      相关资源
      最近更新 更多