IFFT Matlab symmetric vs Java math commons



我正在将 Matlab 代码转换为 Java,我有一个问题,我不明白 Matlab 中的普通X = ifft(___)函数与X = ifft(___,symmetric)函数之间的区别。他们编写的 Matlab 文档:

对于近共轭对称向量,您可以通过指定"对称"选项更快地计算傅里叶逆变换,这也确保了输出是真实的。

这意味着FFT只是更快? 结果是真实的,没有虚部。

要在Java中使用Inverse FFT,我使用Apache Commons Library。

 FastFourierTransformer  fft = new FastFourierTransformer(DftNormalization.STANDARD);
        X= fft.transform(X, TransformType.INVERSE); //X is a Complex Array

如果我在 Matlab 中使用对称,这会给我不同的结果。在 matlab 中没有对称,我有相同的结果。

我的 Ifft 有什么问题?如何用Java计算ifft对称性?

如果你的X是实数,因此你的Y是共轭对称的,你可以使用"对称"选项更有效地运行fft或ifft。如果此前提条件不适用,则不应使用"对称"选项。可能你的X不是真的,是吗?

相关内容

  • 没有找到相关文章

最新更新