马赫-曾德干涉仪(Mach-Zehnder Interferometer, MZI)作为光学测量领域的经典装置,其核心价值在于能够将微小的相位变化转化为可观测的光强变化。在实验室搭建一套完整的MZI系统通常需要精密的光学平台、稳定的激光源和高品质的光学元件,成本往往高达数万元。而通过MATLAB进行波动光学仿真,我们仅需一台普通电脑就能深入理解干涉仪的工作原理。
波动光学仿真与常见的射线光学仿真存在本质区别。射线光学将光简化为直线传播的光线,仅考虑光强分布而忽略相位信息,相当于只看到了光学现象的"影子"。而波动光学仿真则需要求解麦克斯韦方程组或使用衍射理论,完整考虑光波的振幅和相位特性,就像用高清摄像机记录光波的每一个振动细节。
关键提示:对于干涉仪仿真,相位信息的精确计算是核心难点。角谱传播算法(Angular Spectrum Method)因其计算精度高、能正确处理傍轴条件下的衍射效应,成为我们的首选方法。
典型的MZI包含以下光学元件:
在MATLAB中,我们首先定义光路的基本参数:
matlab复制% 基本物理参数
lambda = 632.8e-9; % He-Ne激光波长(632.8nm)
w0 = 1e-3; % 光束腰半径(1mm)
L = 0.5; % 单臂传播距离(0.5m)
% 计算网格参数
N = 1024; % 采样点数
dx = 10e-6; % 空间采样间隔(10μm)
x = (-N/2:N/2-1)*dx; % 空间坐标
[X,Y] = meshgrid(x); % 二维网格
理想激光束可用高斯光束描述,其电场分布为:
matlab复制% 生成高斯光束
E0 = exp(-(X.^2 + Y.^2)/w0^2); % 初始电场分布
高斯光束的相位曲率和衍射效应会随传播距离变化,这正是波动光学需要精确模拟的特性。
角谱法的核心思想是将光场分解为不同方向的平面波,每个平面波独立传播后再重新叠加。其实现步骤如下:
计算初始场的角谱(二维傅里叶变换):
matlab复制E0_fft = fft2(fftshift(E0));
构建传递函数:
matlab复制fx = (-N/2:N/2-1)/(N*dx); % 空间频率坐标
[FX,FY] = meshgrid(fx);
H = exp(1i*2*pi*sqrt(1/lambda^2 - FX.^2 - FY.^2)*L);
计算传播后的场:
matlab复制E1_fft = E0_fft .* H;
E1 = ifftshift(ifft2(E1_fft));
分束器的本质是一个相位调制器,可以用矩阵表示为:
matlab复制T_BS = [sqrt(R), sqrt(T); sqrt(T), -sqrt(R)]; % 分束矩阵
其中R和T分别是反射率和透射率,通常取R=T=0.5表示50:50分束器。
matlab复制% 第一分束器
E_ref = sqrt(0.5)*E0; % 参考臂
E_meas = sqrt(0.5)*E0; % 测量臂
% 参考臂传播
E_ref = angular_propagation(E_ref, L, lambda, dx);
% 测量臂传播(可加入相位扰动)
phase_disturbance = 0.1*exp(-(X.^2+Y.^2)/(0.5e-3)^2);
E_meas = E_meas .* exp(1i*phase_disturbance);
E_meas = angular_propagation(E_meas, L, lambda, dx);
% 第二分束器重组
E_out1 = sqrt(0.5)*(E_ref + E_meas);
E_out2 = sqrt(0.5)*(E_ref - E_meas);
干涉条纹的对比度(Visibility)是重要指标:
matlab复制I1 = abs(E_out1).^2;
I2 = abs(E_out2).^2;
V = (max(I1(:)) - min(I1(:))) / (max(I1(:)) + min(I1(:)));
条纹间距与相位梯度相关:
matlab复制phase = angle(E_out1);
[grad_x,grad_y] = gradient(phase);
spacing = 2*pi./sqrt(grad_x.^2 + grad_y.^2);
通过在测量臂引入球面相位扰动,可以模拟牛顿环现象:
matlab复制R_curvature = 2; % 曲率半径(m)
phase_curvature = pi*(X.^2 + Y.^2)/(lambda*R_curvature);
E_meas = E_meas .* exp(1i*phase_curvature);
图1展示了无扰动时的典型干涉条纹(略),图2显示了引入球面相位扰动后的牛顿环图案(略)。通过改变扰动参数,我们可以观察到:
实测技巧:在分析微小相位变化时,建议将探测器处的光强归一化到[0,1]范围,这样约0.01rad的相位变化就能产生可观测的光强变化。
可能原因:
解决方案:
优化策略:
在量子光学实验中,我们曾使用类似的仿真方法预研了集成光学MZI芯片,最终实测结果与仿真预测的相位灵敏度偏差小于5%。这充分验证了波动光学仿真在实际工程中的可靠性。