【光波电子学】MATLAB绘制光纤中线性偏振模式LP之单模光纤的电场分布(光斑)

简介: 该文章介绍了如何使用MATLAB绘制单模光纤中线性偏振模式LP₀₁的电场分布,并提供了相关的数学公式和参数用于模拟光纤中的光斑分布。

多模光纤的分析参考本人另一篇博客
【光波电子学】MATLAB绘制光纤中线性偏振模式LP之多模光纤的电场分布(光斑)

1 理论

光纤中,在弱导近似下,由 HEl+1,m模和 EHl−1,m​模组合的模式是一个线性偏振模式英文是(linear polorized mode)简称为 LPlm。根据资料以下是LPlm​模和导出或构成它的模式、简并度及模式特征方程。

1.png

单模光纤中 LP01​模在纤芯和包层的归一化电场分布公式表示为
$$E(R_a) = \begin{cases} J_0(RR_a) & R_a \leq 1 \\ J_0(U) * \frac{K_0(K_0WR_a)}{K_0(W)} & R_a > 1 \end{cases} $$

利用此关系,既可得到归一化的 LP01​模在纤芯和包层区的电场分布曲线
根据求解的LP01​的U、V、W 关系的得到以下表格,当V = 2.4000时,U= 1.6453, W= 1.7473

2.png

2 单模光纤的二维分布

V =2.4000;
U =1.6453;
W = 1.7473;

Npoint = 501;
R1 = linspace(-5,5,Npoint);
R2 = linspace(-5,5,Npoint);

X= meshgrid(R1,R2);
Y= meshgrid(R2,R1);
Y = Y';
R = sqrt(X.^2+Y.^2);

% Theta = atan(Y./(X+eps));

% 光纤中光芯光场分布
E1 = besselj(0,U*R);
I1 = E1.^2;

% 光纤中包层的光场分布
E2 = besselj(0,U).*besselk(0,W.*R)./besselk(0,W);
I2 = E2.^2;
I = I1 ;
pos = find(R>=1);
I(pos) = I2(pos);

% 作图
imagesc(R1,R2,I,[0 1]);
colormap(gray);
colorbar
xlabel('x')
ylabel('y')
zlabel('z')
zlabel('z')

3.png

3 单模光纤的三维分布

clear
close all
V =2.4000;
U =1.6453;
W = 1.7473;

Npoint = 201;
R1 = linspace(0,1,Npoint);
R2 = linspace(1,5,Npoint);
Theta1 = linspace(0,2*pi,Npoint);
Theta2 = linspace(0,2*pi,Npoint);

E1 = zeros(Npoint,Npoint);
E2 = zeros(Npoint,Npoint);
I1 = E1;
I2 = E2;

for i = 1:Npoint
    E1(:,i) = besselj(0,U*R1);
    I1(:,i) = E1(:,i).^2;
end

for i = 1:Npoint
    E2(:,i) = besselj(0,U).*besselk(0,W.*R2)./besselk(0,W);
    I2(:,i) = E2(:,i).^2;
end

[Theta1 R1] = meshgrid(Theta1,R1);
[Theta2 R2] = meshgrid(Theta2,R2);
[X1 Y1] = pol2cart(Theta1,R1);
[X2 Y2] = pol2cart(Theta2,R2);

mesh(X1,Y1,I1)
hold on
mesh(X2,Y2,I2)
colorbar
xlabel('x')
ylabel('y')
zlabel('z')

4.png

目录
相关文章
|
4月前
|
传感器 编解码 自动驾驶
线性调频延迟-多普勒域调制:面向自动驾驶汽车的通感一体化新范式研究(Matlab代码实现)
线性调频延迟-多普勒域调制:面向自动驾驶汽车的通感一体化新范式研究(Matlab代码实现)
112 0
|
3月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
224 2
|
3月前
|
传感器 机器学习/深度学习 算法
【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)
【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)
109 6
|
3月前
|
机器学习/深度学习 边缘计算 自动驾驶
【状态估计】非线性受控动力系统的线性预测器——Koopman模型预测MPC(Matlab代码实现)
【状态估计】非线性受控动力系统的线性预测器——Koopman模型预测MPC(Matlab代码实现)
154 1
|
3月前
|
机器学习/深度学习 算法 机器人
使用Koopman理论识别机器人动力学的非线性系统(Matlab代码实现)
使用Koopman理论识别机器人动力学的非线性系统(Matlab代码实现)
171 5
|
3月前
|
算法 Python
【车辆控制】基于H∞控制器与鲁棒线性二次调节器RLQR的铰接式重型车辆的稳健路径跟踪控制研究(Matlab代码实现)
【车辆控制】基于H∞控制器与鲁棒线性二次调节器RLQR的铰接式重型车辆的稳健路径跟踪控制研究(Matlab代码实现)
|
3月前
|
数据采集 Python
【阻尼器】磁流变阻尼器MR Damper非线性(阻尼、滞回)特性研究(Matlab代码实现)
【阻尼器】磁流变阻尼器MR Damper非线性(阻尼、滞回)特性研究(Matlab代码实现)
|
4月前
|
机器学习/深度学习 编解码 运维
数据驱动的自适应线性调频模式分解研究(Matlab代码实现)
数据驱动的自适应线性调频模式分解研究(Matlab代码实现)
|
3月前
|
机器学习/深度学习 算法 Python
【分布鲁棒】基于Wasserstein距离的两阶段分布鲁棒简易模型【对偶转化】【线性决策】(Matlab代码实现)
【分布鲁棒】基于Wasserstein距离的两阶段分布鲁棒简易模型【对偶转化】【线性决策】(Matlab代码实现)
212 0
|
4月前
|
数据采集 决策智能 流计算
【无人机控制】基于TS模糊模型的非线性系统四旋翼无人机跟踪控制研究(Matlab代码实现)
【无人机控制】基于TS模糊模型的非线性系统四旋翼无人机跟踪控制研究(Matlab代码实现)
156 0

热门文章

最新文章