介电结构的传递矩阵法

时间:2018-03-23 14:26:59

标签: matlab physics fresnel

我正在编写一个代码来模拟五层介质结构的行为。使用的方法是TMM方法.. 输入是结构上的入射角。 在这个结构中,我所期望的是在临界角(该折射率叠层为65.1)之后的零透射和一段时间之后的意外峰值(这是由于光隧道效应)。 使用的公式取自纸张:http://ieeexplore.ieee.org/document/6417944/

你知道为什么这个结构会像法布里 - 佩罗一样吗?你认为我在循环中遗漏了什么吗?

非常感谢

`

N=5; %numbers of layer
theta=0:90;
lambda=800;%wavelength in vacuum in nm
eps1=2.28;eps2=1.87;eps3=2.28;eps4=1.87;eps5=2.28;
d=[600,400,600];%thickness of layer in nm for layer 2,3,4
mu=[1,1,1,1,1]; %permeability of every layer
eps=[eps1,eps2,eps3,eps4,eps5];

n=zeros(1,5);%refractive index
T=zeros(1,length(theta));
for s=1:5 
n(s)=sqrt(eps(s)*mu(s));
end

nk1=sqrt((eps(1)-(n(1)^2)*(sin(theta)).^2));%optical admittance inc layer
nk2=sqrt((eps(2)-(n(1)^2)*(sin(theta)).^2));%optical admittance second layer
nk3=sqrt((eps(3)-(n(1)^2)*(sin(theta)).^2));%optical admittance third layer
nk4=sqrt((eps(4)-(n(1)^2)*(sin(theta)).^2));%optical admittance fourth layer
nk5=sqrt((eps(5)-(n(1)^2)*(sin(theta)).^2));%optical admittance fith layer
delta1=((2*pi)/lambda)*d(1)*sqrt((eps(2)-(n(1)^2)*(sin(theta)).^2));
delta2=((2*pi)/lambda)*d(2)*sqrt((eps(3)-(n(1)^2)*(sin(theta)).^2));
delta3=((2*pi)/lambda)*d(3)*sqrt((eps(4)-(n(1)^2)*(sin(theta)).^2));



m211=cos(delta1);
m212=j*sin(delta1)./nk2;
m221=j*nk2.*sin(delta1);
m222=cos(delta1);
%M2=[m211,m212;m221,m222];

m311=cos(delta2);
m312=j*sin(delta2)./nk3;
m321=j*nk3.*sin(delta2);
m322=cos(delta2);
%M3=[m311, m312;m321,m322];

m411=cos(delta3);
m412=j*sin(delta3)./nk4;
m421=j*nk4.*sin(delta3);
m422=cos(delta3);
%M4=[m411, m412;m421,m422];
Mtot=zeros(2,length(theta));

for i=1:length(theta)
M4=[m411(1,i),m412(1,i);m421(1,i),m422(1,i)];       
M3=[m311(1,i),m312(1,i);m321(1,i),m322(1,i)];
M2=[m211(1,i),m212(1,i);m221(1,i),m222(1,i)];
Mtot=M4*M3*M2;
T(i)=((nk5(i)/nk1(i))*(abs((2*nk1(i)/((Mtot(1,1)+Mtot(1,2).*nk5(i)).*nk1(i)+(Mtot(2,1)+Mtot(2,2).*nk5(i))))).^2));

end
figure(1);
plot(theta,T);
xlabel('incident angle');
ylabel('transmmission, s-pol');`

1 个答案:

答案 0 :(得分:0)

sin以弧度为角度作为参数,sind取角度(以度为单位)。因此,您可以将所有sin更改为sind(期望具有delta的那些)或将theta更改为弧度。后者最容易改变。像

这样的东西
theta=0:.01:pi/2;

将足够好,较小的步骤当然更好。同时将plot更改为

plot(theta*180/pi,T);

以x轴为度。然后获得以下内容(对于theta=0:.0001:pi/2;

transmission