logo资料库

传输矩阵对应的MATLAB仿真程序.docx

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
传输矩阵的 Matlab 简易编程 o - 百度文库 n0=1;%n0 为空气折射率 a0=0;% 初始入射角为0 ,即正入射 n1=1.444; n2=1.7514; d1=3.4886; d2=4.6373; d=1.55; p1=2*pi*n1*d1/d; p2=2*pi*n2*d2/d; u0=4*pi*1e-7;% 真空磁导率 e0=1e-9/(36*pi);% 真空介电常数 b=sqrt(e0/u0); c1=b*n1;% 波阻抗 c2=b*n2; c0=b*n0; c00=b*n0; A1=cos(p1);B1=-i*sin(p1)/c1;C1=-i*c1*sin(p1);D1=cos(p1); M1=[A1B1;C1D1];% 介质1 的传输矩阵 A2=cos(p2);B2=-i*sin(p2)/c2;C2=-i*c2*sin(p2);D2=cos(p2); M2=[A2B2;C2D2];% 介质2 的传输矩阵 M=M1*M2;% 两个介质层的总传输矩阵 A=M(1,1);B=M(1,2);C=M(2,1);D=M(2,2); r=(A*c0+B*c0*c00-C-D*c00)/(A*c0+B*c0*c00+C+D*c00)% 反射系数
t=(2*c0)/(A*c0+B*c0*c00+C+D*c00)% 透射系数 R=r*conj(r) T=t*conj(t) 以上可作为TE 波和TM 波的一特列,即垂直入射 n0=1;%n0 为空气折射率 a0=input(' 请输入入射角a0:');% 初始入射角 n1=input(' 请输入介质1 的折射率n1:'); n2=input(' 请输入介质2 的折射率n2:'); d1=input(' 请输入介质1 的厚度d1:'); d2=input(' 请输入介质2 的厚度d2:'); d=input(' 请输入入射光波长d:'); a1=asin(n0*sin(a0)/n1);% 光在介质1 中的传播角度 a2=asin(n1*sin(a1)/n2);% 光在介质2 中的传播角度 a3=asin(n2*sin(a2)/n0);% 射出介质时的出射角 p1=2*pi*n1*d1*cos(a1)/d;% 相位厚度 p2=2*pi*n2*d2*cos(a2)/d; u0=4*pi*1e-7;% 真空磁导率 e0=1e-9/(36*pi);% 真空介电常数 b=sqrt(e0/u0); c1=b*n1*cos(a1);% 波阻抗 c2=b*n2*cos(a2); c0=b*n0*cos(a0); c00=b*n0*cos(a3); A1=cos(p1);B1=-i*sin(p1)/c1;C1=-i*c1*sin(p1);D1=cos(p1); M1=[A1B1;C1D1];% 介质1 的传输矩阵 A2=cos(p2);B2=-i*sin(p2)/c2;C2=-i*c2*sin(p2);D2=cos(p2); M2=[A2B2;C2D2];% 介质2 的传输矩阵
M=M1*M2;% 两个介质层的总传输矩阵 A=M(1,1);B=M(1,2);C=M(2,1);D=M(2,2); r=(A*c0+B*c0*c00-C-D*c00)/(A*c0+B*c0*c00+C+D*c00)% 反射系数 t=(2*c0)/(A*c0+B*c0*c00+C+D*c00)% 透射系数 R=r*conj(r) T=t*conj(t) 以上为TE 波的例子。 若为TM 波则,只有波阻抗表达不同,即: n0=1;%n0 为空气折射率 a0=input(' 请输入入射角a0:');% 初始入射角 n1=input(' 请输入介质1 的折射率n1:'); n2=input(' 请输入介质2 的折射率n2:'); d1=input(' 请输入介质1 的厚度d1:'); d2=input(' 请输入介质2 的厚度d2:'); d=input(' 请输入入射光波长d:'); a1=asin(n0*sin(a0)/n1);% 光在介质1 中的传播角度 a2=asin(n1*sin(a1)/n2);% 光在介质2 中的传播角度 a3=asin(n2*sin(a2)/n0);% 射出介质时的出射角 p1=2*pi*n1*d1*cos(a1)/d;% 相位厚度 p2=2*pi*n2*d2*cos(a2)/d; u0=4*pi*1e-7;% 真空磁导率 e0=1e-9/(36*pi);% 真空介电常数 b=sqrt(e0/u0); c1=b*n1/cos(a1);% 波阻抗 c2=b*n2/cos(a2); c0=b*n0/cos(a0); c00=b*n0/cos(a3);
A1=cos(p1);B1=-i*sin(p1)/c1;C1=-i*c1*sin(p1);D1=cos(p1); M1=[A1B1;C1D1];% 介质1 的传输矩阵 A2=cos(p2);B2=-i*sin(p2)/c2;C2=-i*c2*sin(p2);D2=cos(p2); M2=[A2B2;C2D2];% 介质2 的传输矩阵 M=M1*M2;% 两个介质层的总传输矩阵 A=M(1,1);B=M(1,2);C=M(2,1);D=M(2,2); r=(A*c0+B*c0*c00-C-D*c00)/(A*c0+B*c0*c00+C+D*c00)% 反射系数 t=(2*c0)/(A*c0+B*c0*c00+C+D*c00)% 透射系数 R=r*conj(r) T=t*conj(t) 若入射光中TE 波,TM 波都存在且TE 占e% 比例,TM 占m% 比例,则计算方法 如下:n0=1;%n0 为空气折射率 e=input(' 请输入e:'); m=input(' 请输入m:'); a0=input(' 请输入入射角a0:');% 初始入射角 n1=input(' 请输入介质1 的折射率n1:'); n2=input(' 请输入介质2 的折射率n2:'); d1=input(' 请输入介质1 的厚度d1:'); d2=input(' 请输入介质2 的厚度d2:'); d=input(' 请输入入射光波长d:'); a1=asin(n0*sin(a0)/n1);% 光在介质1 中的传播角度 a2=asin(n1*sin(a1)/n2);% 光在介质2 中的传播角度 a3=asin(n2*sin(a2)/n0);% 射出介质时的出射角 p1=2*pi*n1*d1*cos(a1)/d;% 相位厚度 p2=2*pi*n2*d2*cos(a2)/d; u0=4*pi*1e-7;% 真空磁导率
e0=1e-9/(36*pi);% 真空介电常数 b=sqrt(e0/u0); c1m=b*n1/cos(a1);% 波阻抗 c2m=b*n2/cos(a2); c0m=b*n0/cos(a0); c00m=b*n0/cos(a3); A1m=cos(p1);B1m=-i*sin(p1)/c1m;C1m=-i*c1m*sin(p1);D1m=cos(p1); M1m=[A1mB1m;C1mD1m];% 介质1 中TM 的传输矩阵 A2m=cos(p2);B2m=-i*sin(p2)/c2m;C2m=-i*c2m*sin(p2);D2m=cos(p2); M2m=[A2mB2m;C2mD2m];% 介质2 中TM 的传输矩阵 Mm=M1m*M2m;% 两个介质层的TM 的总传输矩阵 Am=Mm(1,1);Bm=Mm(1,2);Cm=Mm(2,1);Dm=Mm(2,2); rm=(Am*c0m+Bm*c0m*c00m-Cm- Dm*c00m)/(Am*c0m+Bm*c0m*c00m+Cm+Dm*c00m)%TM 的反射系数和透射系 数tm=(2*c0m)/(Am*c0m+Bm*c0m*c00m+Cm+Dm*c00m) Rm=rm*conj(rm) Tm=tm*conj(tm)% 计算TM 波的反射率和透射率 c1e=b*n1*cos(a1);% 波阻抗 c2e=b*n2*cos(a2); c0e=b*n0*cos(a0); c00e=b*n0*cos(a3); A1e=cos(p1);B1e=-i*sin(p1)/c1e;C1e=-i*c1e*sin(p1);D1e=cos(p1); M1e=[A1eB1e;C1eD1e];% 介质1 中TE 的传输矩阵 A2e=cos(p2);B2e=-i*sin(p2)/c2e;C2e=-i*c2e*sin(p2);D2e=cos(p2); M2e=[A2eB2e;C2eD2e];% 介质2 中TE 的传输矩阵 Me=M1e*M2e;% 两个介质层的TE 的总传输矩阵 Ae=Me(1,1);Be=Me(1,2);Ce=Me(2,1);De=Me(2,2);
反射系数和透射系数 re=(Ae*c0e+Be*c0e*c00e-Ce-De*c00e)/(Ae*c0e+Be*c0e*c00e+Ce+De*c00e)%TE 的 te=(2*c0e)/(Ae*c0e+Be*c0e*c00e+Ce+De*c00e) Re=re*conj(re) Te=te*conj(te)% 计算TM 波的反射率和透射率 R=(e*Re+m*Rm)/(e+m) T=(e*Te+m*Tm)/(e+m) 用传输矩阵计算周期性光子晶体的反射和透射的 简易编程: n0=1;%n0 为空气折射率 a0=0;% 初始入射角为0 ,即正入射 d1=3.4886; d2=4.6373; n1=1.444; n2=1.7514; d=1.55; p1=2*pi*n1*d1/d; p2=2*pi*n2*d2/d; u0=4*pi*1e-7;% 真空磁导率 e0=1e-9/(36*pi);% 真空介电常数 b=sqrt(e0/u0); c1=b*n1;% 波阻抗 c2=b*n2; c0=b*n0; c00=b*n0; A1=cos(p1);B1=-i*sin(p1)/c1;C1=-i*c1*sin(p1);D1=cos(p1); M1=[A1B1;C1D1];% 介质1 的传输矩阵 A2=cos(p2);B2=-i*sin(p2)/c2;C2=-i*c2*sin(p2);D2=cos(p2); M2=[A2B2;C2D2];% 介质2 的传输矩阵
s=0; forN=1:1:200 M=(M1*M2)^N;% 介质层的总传输矩阵 A=M(1,1);B=M(1,2);C=M(2,1);D=M(2,2); r=(A*c0+B*c0*c00-C-D*c00)/(A*c0+B*c0*c00+C+D*c00);% 反射系数 t=2*c0/(A*c0+B*c0*c00+C+D*c00);% 透射系数 R=r*conj(r); T=t*conj(t); s=s+1; kr(1,s)=R; kt(1,s)=T; endN=1:1:200; subplot(2,1,1);plot(N,kr,'r') xlabel(' 周期数');ylabel(' 反射率') subplot(2,1,2);plot(N,kt,'g') xlabel(' 周期数');ylabel(' 透射率')
clear % 基础数据 [lambda,L,o1]=textread('C:\Users\Administrator\Desktop\TOZLM\SiO2_refr1_imag0.txt','%n %n %n'); [lambda,H,o2]=textread('C:\Users\Administrator\Desktop\TOZLM\TiO2_imag0.txt','%n %n %n'); N=20; % 单模块膜的层数 ns=1; n0=1; % 基底折射率 % 空气折射率 d=1*[ 108 66 108 66 108 66 108 66 108 66 108 66 108 66 108 66 108 66 108 66 ]; % 膜的几何厚度 R;G;B theta0=0; % 入射角 p=0; % 为 p 偏振波时该值为 1,为 s 偏振波时该值为 0 absorb=0; % 系统有无吸收,有 1,无 0 % 开始计算 ct=sqrt(1-n0^2*sin(theta0)^2./L);% 各层的折射角余弦 cosθ eta=zeros(1,N); % 预设矩阵η,δ delta=zeros(1,N); for q=1:501 n=[ L(q) H(q) L(q) H(q) L(q) H(q) L(q) H(q) L(q) H(q) L(q) H(q) L(q) H(q) L(q) H(q) L(q)
分享到:
收藏