这个C ++ FFT函数是否等同于“fft”matlab函数?

时间:2016-05-04 18:07:55

标签: c++ performance matlab transform fft

我总是在matlab中使用函数“fft(x)”,其中“x”是复数的向量。我正在寻找一个易于使用的C ++函数,它将返回复数。

我找到了这段代码:http://paulbourke.net/miscellaneous/dft/

如果相同,我该如何使用它?谢谢你的时间!

get

2 个答案:

答案 0 :(得分:0)

替代建议:

我有同样的问题。我用fftw的fft库。 http://www.fftw.org/download.html 它的性能类似于matlab。

答案 1 :(得分:0)

乍一看,代码看起来很好。最初的FFT并不是很多代码。

FFT的一个特点是它是 inplace 操作。许多更高级别的绑定有效地隐藏了这一事实。

因此,您将实部和虚部放入x和y数组中。执行该函数后,您将为结果读取相同的数组。

这种特别简单的实现仅适用于2的幂作为原始FFT。如果您输入的长度不是2的幂,则可以对信号进行零填充。

Google如果您想了解FFT的背景,请阅读Numerical Recipesfft(旧版本免费提供)。该书中的版本与其他实现不同,因为您必须交错实际和虚部。

我所引用的实现中缺少的是使用pi或三角函数。您必须尝试与Matlab进行比较。