光电工程师社区
标题:
谁帮我看下这个FP薄膜滤光片MATLAB仿真程序那里错了.
[打印本页]
作者:
卫卫
时间:
2012-5-29 17:11
标题:
谁帮我看下这个FP薄膜滤光片MATLAB仿真程序那里错了.
RT 想仿真一个4腔结构6776这样子,我用的代码如下
clear all;
n0=1;na=1.45;nb=2.06;ns=1.52%折射率
V=[1;1.52];%基板折射率矩阵
n=input('输入1光学薄膜的周期数:');
m=input('输入2光学薄膜的周期数:');
theta1=input('输入入射角:');
da=390*1e-9;
db=390*1e-9;
for lambda=1550:1570;
theta2=asin(n0*sin(theta1)/na);%介质A中的折射角
theta3=asin(n0*sin(theta1)/nb);%介质B中的折射角
deltaa=2*pi*na*da*cos(theta2)/lambda*1e9;
deltab=2*pi*nb*db*cos(theta3)/lambda*1e9;%由于波长取值不是SI单位制,此处化为SI单位制
deltaa2=2*pi*na*2*da*cos(theta2)/lambda*1e9;
eta0=n0*cos(theta1);
etaa=na*cos(theta2);
etab=nb*cos(theta3);
%传输矩阵特征参数
MA1=cos(deltaa);
MA2=i*sin(deltaa)/etaa;
MA3=i*etaa*sin(deltaa);
MA4=cos(deltaa);
MA=[MA1,MA2;MA3,MA4];%介质A中传输矩阵
MAA1=cos(deltaa2);
MAA2=i*sin(deltaa2)/etaa;
MAA3=i*etaa*sin(deltaa2);
MAA4=cos(deltaa2);
MAA=[MAA1,MAA2;MAA3,MAA4];%2L层
MB1=cos(deltab);
MB2=i*sin(deltab)/etab;
MB3=i*etab*sin(deltab);
MB4=cos(deltab);
MB=[MB1,MB2;MB3,MB4];%介质B中传输矩阵
O=MA*MB;%介质A和介质B等效层的传输矩阵LH
P=MB*MA;%HL
Q=P^n*MB*MAA*MB*O^n;
U=P^m*MB*MAA*MB*O^m;
M=Q*MA*U*MA*U*MA*Q*V;% n层光学薄膜总的传输矩阵
B=M(1,1);
C=M(2,1);
r=(n0*B-C)/(n0*B+C);
R=r*r;
T=(4*n0*ns)/((n0*B+C)^2);
s=lambda-1550+1;%对选取的数据点进行编号,以方便下一步存储
k(1,s)=T;%建立存储数据的向量,以方便下一步作图
end
lambda=1550:1570;
plot(lambda,k);
xlabel('\lambda/nm');
ylabel('T');
请教各位大神为什么不能实现功能?或者谁有代码的给我发一份
703421842@qq.com
谢谢
作者:
zouyou828459
时间:
2012-5-29 19:56
作者:
zouyou828459
时间:
2012-5-29 19:57
老兄问的问题难倒一大片了,你还是回去问你的老师吧
作者:
卫卫
时间:
2012-5-30 12:47
顶啊 求助= = 或者谁有类似代码的给我发一份= =我是陷入自己思维的怪圈了
作者:
liu.wade
时间:
2013-2-19 12:46
已看...
欢迎光临 光电工程师社区 (http://bbs.oecr.com/)
Powered by Discuz! X3.2