我有this, matrix of complex numbers表示图像(模拟输出) 我想使用低通和高通滤镜过滤此图像的阶段,
我的代码(仅限低通滤镜):
%% Calculate the phase
field_phase = angle(field);
%% Low-pass filter
% Gaussian filter
fieldPhase_Filtered = imgaussfilt(field_phase, 2);
输出:
imagesc(fieldPhase_Filtered); colorbar;
1)我的步骤是否正确?
2)在计算相位为they did here之前,是否需要执行傅里叶变换?
3)如果我有多个矩阵,在计算相位和应用滤波器之前是否需要对它们进行标准化?
答案 0 :(得分:0)
如果是图像的傅里叶变换,可以使用ifft2将其转换回来。
imagesc(log(abs(fftshift(ifft2(fftshift(field))))))
这看起来很漂亮,但我看不出这个图像是如何形成相位的。使用angle
imagesc(angle(field))
如您所见,它们是pi,-pi或0。
[编辑]
我看到你想分析模拟激光穿过光纤的数据?您想从图像或其他内容中找到模式索引吗? https://www.rp-photonics.com/lp_modes.html