matlab求FB色散模型,有效折射率法求矩形波导色散曲线(附Matlab程序)
时间: 2024-05-07 11:21:44 浏览: 242
以下是使用有效折射率法求解矩形波导色散曲线的 Matlab 程序,其中包括了 FB 色散模型:
```matlab
clear all;
%定义常数
c=3*10^8; %光速
h=6.626*10^-34; %普朗克常数
e=1.6*10^-19; %电子电量
eps0=8.854*10^-12; %真空介电常数
%定义矩形波导参数
a=2; %波导宽度
b=1; %波导高度
n1=1.5; %芯层折射率
n2=1.45; %包层折射率
%定义波长范围
lamda=linspace(1.5e-6,1.6e-6,200);
%计算有效折射率(TE模式)
for i=1:length(lamda)
k=2*pi/lamda(i);
del=k*a*sqrt(n1^2-n2^2);
beta0=k*sqrt(n1^2-((n1^2-n2^2)/(1+(del/(2*h*a))^2)));
neff(i)=beta0/k;
end
%计算群速度
cvg=diff(neff)./diff(lamda);
%计算色散曲线
for i=1:length(cvg)-1
D(i)=(cvg(i+1)-cvg(i))/(lamda(i+1)-lamda(i));
end
%绘图
plot(lamda(1:end-1),D*10^12,'b','linewidth',1.5);
title('色散曲线');
xlabel('波长/\mum');
ylabel('色散/ps/nm/km');
```
在这个程序中,我们首先定义了一些常数,然后定义了矩形波导的参数,包括宽度、高度、芯层折射率和包层折射率。接着,我们定义了波长范围,使用有效折射率法计算了 TE 模式的有效折射率和群速度,最后计算了色散曲线,并绘制了图形。
需要注意的是,这里使用的是 TE 模式的有效折射率,如果要计算 TM 模式的有效折射率,需要进行一些修改。此外,程序中的单位是国际单位制,如果使用其他单位制,需要进行相应的转换。
阅读全文