IFFT Matlab对称vs Java数学公共

时间:2017-11-06 10:24:57

标签: java matlab fft apache-commons ifft

iam将matlab代码翻译成java,我有一个问题,我不理解matlab中普通X = ifft(___)函数与X = ifft(___,symmetric)之间的差异。他们写的是Matlab Docs

  

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

那意味着FFT只会更快?结果是真实的,没有想象的部分。

要在Java中使用逆FFT,请使用Apache Commons库。

 FastFourierTransformer  fft = new FastFourierTransformer(DftNormalization.STANDARD);

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

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

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

1 个答案:

答案 0 :(得分:1)

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