【问题标题】:FFTW wrapper and MatlabFFTW 包装器和 Matlab
【发布时间】:2012-09-03 12:18:31
【问题描述】:

FFTW 包装器:

plan = fftwf.dft_1d (n, pin, pout, fftw_direction.Backward, fftw_flags.Estimate);

Matlab:

g = fft (samples, 2048)

现在我得到了几乎正确的结果,但是来自 FFTW 包装器的 Im 值具有不同的符号。如果我从g 的末尾读取值到开始 - 值就可以了。
为什么 Matlab 中的 FFT 与 FFTW 中的 FFT 不同?是否有任何参数告诉 FFTW 订购数据?

【问题讨论】:

  • 在第一种情况下,你的方向是向后的,所以它是一个逆 FFT。将其更改为转发。
  • 你说得对,我不明白这个 FFT 的东西:/
  • 如果您不了解 FFT 的基础知识,您将很难在代码中使用 FFT - 花一点时间阅读基础知识可能是值得的。

标签: c# matlab fft fftw


【解决方案1】:

在第一种情况下,您的方向是向后的,所以它是逆 FFT。将其更改为转发:

plan = fftwf.dft_1d (n, pin, pout, fftw_direction.Forward, fftw_flags.Estimate);

【讨论】:

    猜你喜欢
    • 2013-06-01
    • 1970-01-01
    • 2011-08-12
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多