0

实数输入 FFT 通常用许多编程语言(如或)表示rfft,而反之则表示。正如numpy docsjulia docs所说,他们正在做标准化的 FFT,而不是像's unnormalization FFTirfftpythonjuliaFFTW

因此,如果我有真正的输入一维数组a,我明白了irfft(rfft(a), len(a)) == a。但是,如果我假设另一个一维数组b但很复杂,那么我rfft(irfft(b), (len(b) - 1) * 2) != b什至考虑了标准化。我认为rfft(irfft(b), (len(b) - 1) * 2)应该和blike 一样a

我使用 Fortran 的 FFTW 和 Julia 的 FFTW 库对此进行了测试,但得到了相同的结果。

为什么会发生这种情况?这在数学上是正确的还是实施问题?

编辑1:更准确的解释是here

4

0 回答 0