仅来自相位/幅度的Matlab逆FFT

Jor*_*dan 11 matlab fft phase

所以我有这个'我'的形象.我用F = fft2(I)得到2D傅里叶变换.为了重建它,我可以去ifft2(F).

问题是,我需要仅从a)幅度和b)F的相位分量重建这个图像.我如何分离傅立叶变换的这两个分量,然后从每个变换重建图像?

我尝试了abs()和angle()函数来获得幅度和相位,但第一阶段将无法正确重建.

救命?

mtr*_*trw 11

你需要一个幅度F与0 相同的矩阵,另一个矩阵具有相同的相位F和均匀的幅度.如你所说,abs给你的幅度.要获得均匀幅度相同的相位矩阵,您需要使用angle获取相位,然后将相位分离回实部和虚部.

> F_Mag = abs(F); %# has same magnitude as F, 0 phase
> F_Phase = cos(angle(F)) + j*(sin(angle(F)); %# has magnitude 1, same phase as F
> I_Mag = ifft2(F_Mag);
> I_Phase = ifft2(F_Phase);
Run Code Online (Sandbox Code Playgroud)

  • @schwiz:`j = i = sqrt(-1)`.这个(apocryphally)的历史是工程师为假想单位使用`j`,因为`i`已经用于当前.人们可能想知道为什么`c`不用于当前.显然,"i"表示强度,因为早期的电流是在流体流动的背景下进行分析的.到了解时,复杂的数字对于分析电力是有用的`i`是当前的根深蒂固. (4认同)