fftw来自幅度和相位阵列的C ++逆2D FFT

时间:2013-04-17 20:28:23

标签: c++ math signal-processing fft fftw

使用FFTW实现2D FFT / IFFT。

目前我使用SFML加载了图像,并使用fftw_plan_dft_2d将其分解为其幅度和相位分量。

这没关系,我已经根据已知的工作软件检查了我的幅度图像,结果是正确的。 (Forward FFT

我已经使用第一个FFT的实数和虚数输出直接从正向FFT(Inverse FFT)直接执行反向2D FFT检查ifft正在工作(这也有问题)在某个地方,但这是另一天)

我更感兴趣的是我应该重新组合幅度和相位以形成真实和复杂的部分,以便执行IFFT。

Google会返回很多MATLAB内容,我完全不理解这些内容,因此无法提供帮助。

旁注:数学不是我的强项。这就是为什么我认为我有点挣扎。如果可能的话,请解释我是10岁!

1 个答案:

答案 0 :(得分:4)

首先,将幅度和相位值转换回复数(实数+虚数):

re = mag * cos(phi);
im = mag * sin(phi);

然后对这些复数值进行逆FFT。