以下是 MATLAB 代码,其中使用了光学仿真工具箱中的模拟功能。

% 定义参数
n_core = 1.45;      % 纤芯折射率
n_clad = 1;         % 包层折射率
d_core = 400e-9;    % 纤芯直径
lambda = 633e-9;    % 入射光波长

% 计算 NA 和 V 数值
NA = sqrt(n_core^2 - n_clad^2);
V = 2 * pi * NA * d_core / lambda;

% 定义仿真区域
xmin = -d_core / 2;
xmax = d_core / 2;
ymin = -d_core / 2;
ymax = d_core / 2;
zmin = 0;
zmax = d_core * 10;

% 定义网格尺寸
dx = d_core / 20;
dy = d_core / 20;
dz = d_core / 20;

% 创建仿真区域
[x, y, z] = meshgrid(xmin:dx:xmax, ymin:dy:ymax, zmin:dz:zmax);
r = sqrt(x.^2 + y.^2);

% 计算模式场分布
if V <= 2.405
    % 单模
    w = d_core / (2 * sqrt(2 * log(2)) * NA);
    E = sqrt(2 / (pi * w^2)) * exp(-(r / w).^2 - (z * pi * NA / lambda).^2);
else
    % 多模
    w = d_core / (2 * sqrt(V^2 - 2.405^2));
    E = sqrt(2 / (pi * w^2)) * exp(-(r / w).^2) .* besselj(0, 2.405 * r / (w * sqrt(1 - (2.405 / V)^2))) .* exp(-(z * pi * NA / lambda).^2);
end

% 绘制功率分布轮廓
figure;
slice(x, y, z, abs(E).^2, [0, d_core/2, d_core], [], []);
axis equal;
xlabel('x');
ylabel('y');
zlabel('z');
title(['Mode Field at ', num2str(lambda*1e9), ' nm']);
colorbar;

运行代码后,将生成一个三维图形,显示锥形光纤纤芯周围的功率分布轮廓。图形中的颜色越亮,表示光强度越大。可以通过旋转和缩放图形来查看不同的角度和细节。


原文地址: https://www.cveoy.top/t/topic/nw8n 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录