单模光纤一维模场分布的MATLAB仿真

根据已知的单模光纤电场z分量分布,可以用MATLAB展示一维的模场分布

具体来说,通过数值计算解出给定光纤(n_1,n_2,a)参数时对应的V参量

通过特征方程解出V对应的W和U

通过这三个参数带入到光场的表达式中解出对应的解
代码如下:

clear
close all
V = [0.8000 1.6000 2.4000];
U = [0.7974 1.3670 1.6453];
W = [0.0640 0.8315 1.7473];


Ra1 = -1:0.01:1;
Ra2 = -5:0.01:-1;
Ra3 = 1:0.01:5;

E1 = zeros(length(V),length(Ra1))
E2 = zeros(length(V),length(Ra2))
E3 = zeros(length(V),length(Ra3))

for i = 1:length(V)
    E1(i,:) = besselj(0,U(i)*Ra1);
    E2(i,:) = besselj(0,U(i)).*besselk(0,W(i).*abs(Ra2))./besselk(0,W(i));
    E3(i,:) = besselj(0,U(i)).*besselk(0,W(i).*abs(Ra3))./besselk(0,W(i));
end

R = [Ra2 Ra1 Ra3];
E = [E2 E1 E3];

plot(R,E);
xlabel('R_a = r/a')
ylabel('E')
hold on
plot([-1 -1],[0 1],'b--',[1 1],[0 1],'b--');

这里是先用zeros函数生成了特定大小的矩阵,用来存储电场变量

也可以在程序运行时动态生成

结果:

由于图中想要展示的是三条曲线,用来观察V值的大小对于电场分布的影响

所以这里的电场矩阵E(包括E1、E2、E3)都由三行组成,每一行代表一个V值的结果。

两条虚线表示纤芯和包层的分界线。

从图中可以看出,当V值较小时,相当大的能量都在包层中,我们是不希望这样的情况产生的。

因此,要求光纤的V值较大。

当V值较大时,电场强度在光纤包层中按指数衰减。

参考:《高等光学仿真——光波导、激光》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab练习生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值