工程光学matlab仿真设计.docx
《工程光学matlab仿真设计.docx》由会员分享,可在线阅读,更多相关《工程光学matlab仿真设计.docx(34页珍藏版)》请在冰豆网上搜索。
![工程光学matlab仿真设计.docx](https://file1.bdocx.com/fileroot1/2023-2/1/46f0ab7a-22d3-4d8f-a22f-1c4c948a7b60/46f0ab7a-22d3-4d8f-a22f-1c4c948a7b601.gif)
工程光学matlab仿真设计
工程光学仿真实验报告
1、杨氏双缝干涉实验
(1)杨氏干涉模型
y
y
xP(x,y,D)
杨氏双缝干涉实验装置如图1所示:
S发出的
r1x
S1
SO
r2
光波射到光屏上的两个小孔
S1和S2,S1和S2
S2
z
d
相距很近,且到S等距;从S1和S2分别发散出的
D
光波是由同一光波分出来的
因此是有关光波,它们
在距离光屏为D的屏幕上叠加,形成一定的干涉图
样。
图杨氏双缝干涉
假设S是单色点光源,观察屏幕上某一点P,从S1和S2发出的光波在该点叠加
产生的光强度为:
I=I1+I2+2I1I2cosδ
(1-1)
式中,I1和I2分别是两光波在屏幕上的光强度
若实验装置中
S1和S2
两个缝
大小相等,则有
I1=I2=I0
(1-2)
δ=2π(r2-r1)/λ(1-3)
(1-3)
r1
(xd/2)2
y2
D2
(1-4)
r2
(xd/2)2
y2
D2
(1-5)
可得
(1-6
)
因此光程差:
r2r1
(1-7)
则可以获取条纹的强度变化规律-强度分布公式:
II
0
cos2[(r
2
r)d/]
(1-8)
1
(2)仿真程序
clear;
Lambda=650;
%设定波长,以Lambda表示波长
Lambda=Lambda*1e-9;
d=input('输入两个缝的间距
)');%设定两缝之间的距离,以d表示两缝之间距离
d=d*0.001;
Z=0.5;
%设定从缝到屏幕之间的距离,用Z表示
yMax=5*Lambda*Z/d;xs=yMax;
%设定y方向和x方向的范围
Ny=101;ys=linspace(-yMax,yMax,Ny);%产生一个一维数组ys,Ny是此次采样总
点数
%采样的范围从-ymax到ymax,采样的数组命名
为ys
%此数组装的是屏幕上的采样点的纵坐标
fori=1:
Ny%对屏幕上的全部点进行循环计算,则要进行Ny次计
算
L1=sqrt((ys(i)-d/2).^2+Z^2);
L2=sqrt((ys(i)+d/2).^2+Z^2);%屏上没一点到双缝的距离L1和L2
Phi=2*pi*(L2-L1)/Lambda;%计算相位差
B(i,:
)=4*cos(Phi/2).^2;%建立一个二维数组,用来装该点的光强的值
end%结束循环
NCLevels=255;%确定使用的灰度等级为255级
Br=(B/4.0)*NCLevels;%定标:
使最大光强(4.0)对应于最大灰度级(白色)
subplot(1,4,1),image(xs,ys,Br);%用subplot创办和控制多坐标轴
colormap(gray(NCLevels));%用灰度级颜色图设置色图和明暗
subplot(1,4,2),plot(B(:
),ys);%把当前窗口对象分成2块矩形地域
%在第2块地域创办新的坐标轴
%把这个坐标轴设定为当前坐标轴
%今后绘制以(b(:
),ys)为坐标相连的线
title('杨氏双缝干涉');
(3)仿真图样及剖析
a)双缝间距2mmb)双缝间距4mm
c)双缝间距6mmd)双缝间距8mm
图1.2改变双缝间距的条纹变化
由上面四幅图可以看出,随着双缝之间的距离增大,条纹边缘坐标减小,也就
是条纹间距减小,和理论公式eD/d推导一致。
若是增大双缝的缝宽,会使光强
I增加,可以看到条纹变亮。
二、杨氏双孔干涉实验
1、杨氏双孔干涉
杨氏双孔干涉实验是两个点光源干涉实
验的典型代表。
如图2所示。
当光穿过这两
个离得很近小孔后在空间叠加后发生干涉,
并在像屏上表现出清楚的明暗相间的条纹。
由于双孔发出的波是两组同频率同相位的
球面波,故在双孔屏的光射空间会发生干涉。
于是,在图2中两屏之间的空间里,
若是一点P处于两有关的球面波同时到达波峰(或波谷)的地址,叠
加后振幅达到最高,
图杨氏双孔干涉
表现为干涉波的亮点;反之,当P各处于一个球面波的波峰以及另一个球面波的波
谷时候,叠加后振幅为零,变现是暗纹。
r1为S1
到屏上一点的距离,
r1
(x
d/2)2
y2
D2
(2-1),r2为S2到屏
上这点的距离,r2
(xd/
2)2
y2
D2
(2-2),如图2,d为两孔之间的距离,
D为孔到屏的距离。
由孔S1
和孔S2
发出的光的波函数可表示为
E1
A1exp(ikr1)
(2-3)
r1
E2
A1exp(ikr2)
(2-4)
r2
则两束光叠加后E
E1E
2
(2-5)
干涉后光强
I
E*E*
(2-6)
2、仿真程序
clear;
Lambda=632*10^(-9);%设定波长,以Lambda表示波长
d=0.001;%设定双孔之间的距离
D=1;%设定从孔到屏幕之间的距离,用D表示
A1=0.5;%设定双孔光的振幅都是1
A2=0.5;
yMax=1;%设定y方向的范围
xMax=yMax/500;%设定x方向的范围
N=300;%采样点数为N
ys=linspace(-yMax,yMax,N);%Y方向上采样的范围从-ymax到ymax
xs=linspace(-xMax,xMax,N);%X方向上采样的范围从-xmax到xmax
fori=1:
N
forj=1:
N%对屏幕上的全部点进行循环计算,则要进行N*N次计
算
r1(i,j)=sqrt((xs(i)-d/2)^2+ys(j)^2+D^2);
r2(i,j)=sqrt((xs(i)+d/2)^2+ys(j)^2+D^2);%屏上一点到双孔的距离r1和r2
E1(i,j)=(A1/r1(i,j))*exp(2*pi*1j*r1(i,j)/Lambda);%S1发出的光的波函数
E2(i,j)=(A2/r2(i,j))*exp(2*pi*1j*r2(i,j)/Lambda);%S2发出的光的波函数
E(i,j)=E1(i,j)+E2(i,j);%干涉后的波函数
B(i,j)=conj(E(i,j))*E(i,j);%叠加后的光强
end
end%结束循环
NCLevels=255;%确定使用的灰度等级为255级
Br=(B/4.0)*NCLevels;%定标:
使最大光强(4.0)对应于最大灰度级(白色)
image(xs,ys,Br);%仿真出图像
colormap('hot');
title('杨氏双孔');
(3)干涉图样及剖析
1)改变孔间距对干涉图样的影响
d=1mmd=3mm
图改变孔间距对干涉的影响
如图2.2,分别是孔间距为1mm和3mm的干涉图样,可以看出,随着d的增加,
视野中干涉条纹增加,条纹变细,条纹间距变小。
2)改变孔直径的影响
图孔直径对干涉的影响
如图2.3,这里改变孔直径指的是改变光强,不考虑光的衍射。
孔直径变大,光
强变大,可以看出,干涉条纹变亮。
3、平面波干涉
(1)干涉模型
依照图3.1可以看出,这是两个平行光在屏上相遇发生干涉,两束平行光夹角为。
它们在屏上干涉叠加,这是平面波的干涉。
两束平行波波函数为:
E1
A1exp(ikr1)
(3-1)
E2
A2exp(ikr2)
(3-2)
两束光到屏上一点的光程差为
ysin
(3-3)
图
平行光干涉
垂直方向建立纵坐标系,y是屏上点的坐标。
那么屏上点的光强为
IA1
2
A2
2
2A1A2cos(k)
(3-4)
式中A1和A2分别是两束光的振幅。
(2)仿真程序
clear;
Lambda=632.8;%设定波长
Lambda=Lambda*1e-9;
t=input('两束光的夹角');%设定两束光的夹角
A1=input(
'光一的振幅');
%设定1光的振幅
A2=input(
'光二的振幅');
%设定2光的振幅
yMax=10*Lambda;xs=yMax;
%X方向和Y方向的范围
N=101;
%设定采样点数为N
ys=linspace(-yMax,yMax,N);
%Y方向上采样的范围从-ymax到ymax
fori=1:
N
%循环计算N次
phi=ys(i)*sin(t/2);%计算光程差
B(i,:
)=A1^2+A2^2+2*sqrt(A1^2*A2^2)*cos(2*pi*phi/Lambda);
%计算光强
end%结束循环
NCLevels=255;%确定使用的灰度等级为255级
Br=B*NCLevels/6;%定标:
使最大光强(4.0)对应于最大灰度级(白色)
subplot(1,4,1),image(xs,ys,Br);%用subplot创办和控制多坐标轴
colormap(gray(NCLevels));%用灰度级颜色图设置色图和明暗
subplot(1,4,2),plot(B(:
),ys);%把这个坐标轴设定为当前坐标轴
%今后绘制以(b(:
),ys)为坐标相连的折线
(3)干涉图样及剖析
1)改变振幅比对干涉图样的影响
a)振幅比1:
1b)振幅比1:
2
图3.2不同样样振幅比的干涉图样
由图3.2看出,振幅比从1:
1变成1:
2后,干涉条纹变得不清楚了。
干涉叠加后的
波峰波谷地址没有变化,条纹间距没有变化,但是叠加后的波振幅变小了,即不清
晰。
2)改变平行光夹角对干涉图样的影响
a)两束光夹角60度b)两束光夹角90度
图3.3平面波不同样样夹角的干涉图样
图3.3是两束平行光夹角为60度和90度的干涉条纹,由于夹角不同样样,光程差不同样样,改变叠加后光波波峰波谷地址,因此干涉明条纹和暗条纹的地址和间距不同样样。
4、两点光源的干涉
(1)干涉模型
如图4.1,S1和S2是两个点光源,距离是d。
两个点光源发出的光波在空间中相
遇发生干涉。
在接收屏上,发生干涉的两束波叠加产生干涉条纹。
S2与屏距离是z,
S1与屏的距离是(d+z)。
两个点光源的干涉是典型的球面波干涉,屏上一点到S1
图点光源干涉
和S2的距离可以表示为
r1x2y2(dz)2(4-1)
r2x2y2z2(4-2)
则E1A1exp(ikr1)(4-3)
r1
E2A2exp(ikr2)(4-4)
r2
其中A1和A2分别是S1、S2光的振幅。
干涉后的光为
EE1E2(4-5)
因此干涉后光波光强为
IE*E*(4-6)
(2)仿真程序
clear;
Lambda=650;%设定波长
Lambda=Lambda*1e-9;
A1=2;%设定S1光的振幅
A2=2;%设定S2光的振幅
d=input('输入两点光源距离');%设定两个光源的距离
z=5;%设定S2与屏的距离
%设定x方向的范围
ymax=0.01;
%设定y方向的范围
N=200;
%采样点数为N
x=linspace(-xmax,xmax,N);
%X方向上采样的范围从-xmax到xmax,采样数组命
名为x
y=linspace(-ymax,ymax,N);
%Y方向上采样的范围从-ymax
到ymax,采样数组命
名为y
fori=1:
N
fork=1:
N
%对屏幕上的全部点进行循环计算
则要进行N*N次计
算
l1(i,k)=sqrt((d+z)^2+y(k)*y(k)+x(i)*x(i));
%计算采样点到S1的距离
l2(i,k)=sqrt(z^2+y(k)*y(k)+x(i)*x(i));
%计算采样点到S2的距离
E1(i,k)=(A1/l1(i,k))*exp((2*pi*1j.*l1(i,k))/Lambda);
%S1复振幅
E2(i,k)=(A2/l2(i,k))*exp((2*pi*1j.*l2(i,k))/Lambda);
%S2复振幅
E(i,k)=E1(i,k)+E2(i,k);
%干涉叠加后复振幅
B(i,k)=conj(E(i,k)).*E(i,k);%干涉后光强
end
end
Nclevels=255;%确定使用的灰度等级为255级
Br=B*Nclevels;%定标
image(x,y,Br);%做出干涉图像
colormap('hot');
title('双点光源干涉');
(3)干涉图样及剖析
改变点光源的间距对干涉图样的影响
a)d=1mb)d=2m
c)d=3m
图4.2改变点光源间距的干涉图样
图4.2是依照图4.1仿真干涉出的图样,S1和S2之间距离分别为1m、2m、3m,
由图样可以看出,随着d的增加,光程差变大,视野内的干涉圆环逐渐增加,圆环之间的距离变小。
5、平面上两点光源干涉
(1)干涉模型
S1和S2是平面上的两个点光源,距离为d,两个光源发出的光相遇发生干涉,
产生干涉条纹。
以S1所在处为原点建立平面直角坐标系,平面上任意一点到S1、
S2的距离是
r1x2y2(5-1)
图平面两点光源干涉
r2(xd)2
y2
(5-2)
S1和S2发出的都是球面波,可表示为
E1
A1
exp(ikr1)
(5-3)
r1
E2
A2
exp(ikr2)
(5-4)
r2
式中A1和A2分别是S1、S2的振幅。
干涉叠加后的波函数为
E
E1
E2
(5-5)
因此干涉后光波光强为
IE*E*
(5-6)
(2)仿真程序
clear;
Lambda=650;%设定波长
Lambda=Lambda*1e-9;
A1=0.08;%设定S1光的振幅
A2=0.08;%设定S2光的振幅
%设定两个光源的距离
xmax=0.3;%设定x方向的范围
ymax=0.3;%设定y方向的范围
N=500;%采样点数为N
x=linspace(-xmax,xmax,N);%X方向上采样的范围从-xmax到xmax,采样数组命
名为x
y=linspace(-ymax,ymax,N);%Y方向上采样的范围从-ymax到ymax,采样数组命
名为y
fori=1:
N
fork=1:
N%对屏幕上的全部点进行循环计算,则要进行N*N次计
算
r1(i,k)=sqrt(y(k)*y(k)+x(i)*x(i));%计算采样点到S1的距离
r2(i,k)=sqrt(y(k)*y(k)+(x(i)-d)*(x(i)-d));%计算采样点到S2的距离
E1(i,k)=(A1/r1(i,k))*exp((2*pi*j.*r1(i,k))/Lambda);%S1复振幅
E2(i,k)=(A2/r2(i,k))*exp((2*pi*j.*r2(i,k))/Lambda);%S2复振幅
E(i,k)=E1(i,k)+E2(i,k);%干涉叠加后复振幅
B(i,k)=conj(E(i,k)).*E(i,k);%干涉后光强
end
end
%结束循环
Nclevels=255;
%确定使用的灰度等级为
255级
Br=B*Nclevels/4;
%定标
image(x,y,Br);
colormap('hot');
title('并排双点光源干涉');
(3)干涉图样及剖析
1)聚散性对干涉图样的影响
a)汇聚b)发散
图5.2聚散性对干涉的影响
两个点光源并排放置,在凑近点光源的观察屏上看到的干涉条纹是一组放射状
的条纹,并且强度从中心向四周减弱,光源的聚散性对干涉图样没有影响。
2)改变两光源间距对干涉的影响
a)d=4umb)d=8um
图5.3两光源间距对干涉的影响
从图5.3可以看出,视野中条纹逐渐多了。
随着间距变小,干涉条纹宽度变小,条
纹间距变小。
6、平行光与点光源干涉
图图图
(1)平面波和球面波干涉
如图,三幅图都是点光源和平行光的干涉,平面光入射的角度不同样样。
平行光与
点光源相遇在空间中产生干涉,在屏上形成干涉条纹。
点光源与屏的距离为z,屏
上坐标为(x,y)的一点与点光源的距离是
r1x2y2z2(6-1)
由点光源发出的光波表示为
E1
A1exp(ikr1)
(6-2)
r1
平行光可以表示为E2A2exp(ikz/sin)
(6-3)
式中表示平行光与屏的夹角。
两束光发生干涉叠加后,干涉光复振幅
EE1E2
(6-4)
则光强
IE*E*
(6-5)
(2)仿真程序
clear;
Lambda=650;%设定波长,以Lambda表示波长
Lambda=Lambda*1e-9;%变换单位
A1=1;%设定球面波的振幅是1
A2=1;%设定平面波的振幅是1
xmax=0.003;%设定x方向的范围
ymax=0.003;%设定y方向的范围
t=input('输入角度');%设定平行光和屏的夹角
z=1;%设定点光源和屏的距离
N=500;%N是此次采样点数
x=linspace(-xmax,xmax,N);%X方向上采样的范围从-xmax到ymax
y=linspace(-ymax,ymax,N);%Y方向上采样的范围从-ymax到ymax
fori=1:
N%对屏幕上的全部点进行循环计算,则要进行N*N次计
算
fork=1:
N
l1(i,k)=sqrt(y(k)*y(k)+x(i)*x(i)+z^2);%表示屏上一点到点光源的距离
E1(i,k)=(A1/l1(i,k))*exp((2*pi*j.*l1(i,k))/Lambda);%球面波的复振幅
E2(i,k)=A2*exp((2*pi*j.*z*(1/sin(t)))/Lambda);%平面波的复振幅
E(i,k)=E1(i,k)+E2(i,k);%屏上点的振幅
B(i,k)=conj(E(i,k)).*E(i,k);%屏上每个采样点的光强
end%结束循环
end%结束循环
Nclevels=255;%确定使用的灰度等级为255级
Br=B*Nclevels/4;%定标:
使最大光强(4.0)对应于最大灰度
级
image(x,y,Br);%干涉图样
colormap('hot');%设置色图和明暗
(3)仿真图样及剖析
平行光入射角度对干涉图样的影响
a)90b)45
c)135
图6.4平行光入射角度对干涉的影响
图6.4分别是平行光与屏夹角为90度、45度、135度的情况,斜入射与垂直入射比较,干涉圆环更大。
而角度互补的两种入射方式,差异在于中心是明还是暗。
由图可以看出,斜入射135度的平行光与点光源干涉,干涉图样中心是暗斑。
7、平行光照射楔板
(1)图7.1的楔板
L=630*10^(-9);alfa=pi/20000;H=0.005;%波长630nm,倾角1.57*e-4,厚