我的腰部有一个二维高斯光束(整个横向平面的相位为零)。当我使用 fft2 查找 2D 空间傅里叶变换并绘制相位时,我观察到任何 2 个相邻数据点之间存在 pi 相移。但是,当我使用 for 循环而不是使用 fft2 来计算傅立叶变换时,我没有观察到这一点。
这是由于相位缠绕吗?我该如何克服呢?
谢谢。
编辑:我发布了圆形光圈 fft 的代码,因为观察到相同的结果,并且因为它更简单。
Nx = 200; Ny = Nx;
%creating coordinate grids
x = -Nx/2:Nx/2 - 1; y = -Ny/2:Ny/2 - 1;
[X,Y] = meshgrid(x,y);
r = 15; %radius of aperture
Eip = ((X.^2 + Y.^2 ) <= r^2); %aperture
figure;pcolor(abs(Eip));axis square; shading flat; colorbar;
figure;pcolor(angle(Eip));axis square; shading flat; colorbar;
Cip = fftshift(fft2(Eip)); %FFT
figure;pcolor(abs(Cip));axis square; shading flat; colorbar;
figure;pcolor(angle(Cip));axis square; shading flat; colorbar;