工程光学matlab仿真.docx
- 文档编号:7594063
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:23
- 大小:702.90KB
工程光学matlab仿真.docx
《工程光学matlab仿真.docx》由会员分享,可在线阅读,更多相关《工程光学matlab仿真.docx(23页珍藏版)》请在冰豆网上搜索。
工程光学matlab仿真
工程光学仿真实验报告
1、杨氏双缝干预实验
〔1〕杨氏干预模型
杨氏双缝干预实验装置如图1所示:
S发出的光波射到光屏上的两个小孔S1和S2,S1和S2相距很近,且到S等距;从S1和S2分别发散出的光波是由同一光波分出来的,所以是相干光波,它们在距离光屏为D的屏幕上叠加,形成一定的干预图样。
图1.1杨氏双缝干预
假设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〕
〔1-4〕
〔1-5〕
可得
〔1-6〕
因此光程差:
〔1-7〕
则可以得到条纹的强度变化规律-强度分布公式:
〔1-8〕
(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
由上面四幅图可以看出,随着双缝之间的距离增大,条纹边缘坐标减小,也就是条纹间距减小,和理论公式
推导一致。
如果增大双缝的缝宽,会使光强I增加,能够看到条纹变亮。
二、杨氏双孔干预实验
1、杨氏双孔干预
杨氏双孔干预实验是两个点光源干预实验的典型代表。
如图2所示。
当光穿过这两个离得很近小孔后在空间叠加后发生干预,并在像屏上呈现出清晰的明暗相间的条纹。
由于双孔发出的波是两组同频率同相位的球面波,故在双孔屏的光射空间会发生干预。
于是,在图2中两屏之间的空间里,如果一点P处于两相干的球面波同时到达波峰(或波谷)的位置,叠加后振幅到达最高,图2.1杨氏双孔干预
表现为干预波的亮点;反之,当P处处于一个球面波的波峰以及另一个球面波的波谷时候,叠加后振幅为零,变现是暗纹。
为S1到屏上一点的距离,
〔2-1〕,
为S2到屏上这点的距离,
〔2-2〕,如图2,d为两孔之间的距离,D为孔到屏的距离。
由孔S1和孔S2发出的光的波函数可表示为
〔2-3〕
〔2-4〕
则两束光叠加后
〔2-5〕
干预后光强
〔2-6〕
2、仿真程序
clear;
Lambda=632*10^(-9);%设定波长,以Lambda表示波长
d=0.001;%设定双孔之间的距离
D=1;%设定从孔到屏幕之间的距离,用D表示
A1=;%设定双孔光的振幅都是1
A2=;
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改变孔间距对干预的影响
如图2.2,分别是孔间距为1mm和3mm的干预图样,可以看出,随着d的增加,视野中干预条纹增加,条纹变细,条纹间距变小。
2)改变孔直径的影响
图2.3孔直径对干预的影响
如图2.3,这里改变孔直径指的是改变光强,不考虑光的衍射。
孔直径变大,光强变大,可以看出,干预条纹变亮。
3、平面波干预
(1)干预模型
根据图3.1可以看出,这是两个平行光在屏上相遇发生干预,两束平行光夹角为
。
它们在屏上干预叠加,这是平面波的干预。
两束平行波波函数为:
〔3-1〕
〔3-2〕
两束光到屏上一点的光程差为
〔3-3〕图3.1平行光干预
垂直方向建立纵坐标系,y是屏上点的坐标。
那么屏上点的光强为
〔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看出,振幅比从1:
1变成1:
2后,干预条纹变得不清晰了。
干预叠加后的波峰波谷位置没有变化,条纹间距没有变化,但是叠加后的波振幅变小了,即不清晰。
2)改变平行光夹角对干预图样的影响
a)两束光夹角60度b〕两束光夹角90度
图3.3是两束平行光夹角为60度和90度的干预条纹,由于夹角不同,光程差不同,改变叠加后光波波峰波谷位置,因此干预明条纹和暗条纹的位置和间距不同。
4、
两点光源的干预
(1)干预模型
如图4.1,S1和S2是两个点光源,距离是d。
两个点光源发出的光波在空间中相遇发生干预。
在接收屏上,发生干预的两束波叠加产生干预条纹。
S2与屏距离是z,S1与屏的距离是〔d+z〕。
两个点光源的干预是典型的球面波干预,屏上一点到S1图4.1点光源干预
和S2的距离可以表示为
〔4-1〕
〔4-2〕
则
〔4-3〕
〔4-4〕
其中A1和A2分别是S1、S2光的振幅。
干预后的光为
〔4-5〕
因此干预后光波光强为
〔4-6〕
(2)仿真程序
clear;
Lambda=650;%设定波长
Lambda=Lambda*1e-9;
A1=2;%设定S1光的振幅
A2=2;%设定S2光的振幅
d=input('输入两点光源距离');%设定两个光源的距离
z=5;%设定S2与屏的距离
xmax=0.01%设定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=2mc)d=3m
图4.2是根据图4.1仿真干预出的图样,S1和S2之间距离分别为1m、2m、3m,由图样可以看出,随着d的增加,光程差变大,视野内的干预圆环逐渐增多,圆环之间的距离变小。
5、
平面上两点光源干预
(1)干预模型
S1和S2是平面上的两个点光源,距离为d,两个光源发出的光相遇发生干预,产生干预条纹。
以S1所在处为原点建立平面直角坐标系,平面上任意一点到S1、S2的距离是
〔5-1〕图5.1平面两点光源干预
〔5-2〕
S1和S2发出的都是球面波,可表示为
〔5-3〕
〔5-4〕
式中A1和A2分别是S1、S2的振幅。
干预叠加后的波函数为
〔5-5〕
因此干预后光波光强为
〔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〕发散
两个点光源并排放置,在靠近点光源的观察屏上看到的干预条纹是一组放射状的条纹,并且强度从中心向四周减弱,光源的聚散性对干预图样没有影响。
2〕改变两光源间距对干预的影响
a)d=4umb)d=8um
从图5.3可以看出,视野中条纹逐渐多了。
随着间距变小,干预条纹宽度变小,条纹间距变小。
6、平行光与点光源干预
图6.1图6.2图6.3
〔1〕平面波和球面波干预
如图,三幅图都是点光源和平行光的干预,平面光入射的角度不同。
平行光与点光源相遇在空间中产生干预,在屏上形成干预条纹。
点光源与屏的距离为z,屏上坐标为(x,y)的一点与点光源的距离是
〔6-1〕
由点光源发出的光波表示为
〔6-2〕
平行光可以表示为
〔6-3〕
式中
表示平行光与屏的夹角。
两束光发生干预叠加后,干预光复振幅
〔6-4〕
则光强
〔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)
b)
c)
图6.4平行光入射角度对干预的影响
分别是平行光与屏夹角为90度、45度、135度的情况,斜入射与垂直入射相比,干预圆环更大。
而角度互补的两种入射方式,区别在于中心是明还是暗。
由图可以看出,斜入射135度的平行光与点光源干预,干预图样中心是暗斑。
7、平行光照射楔板
(1)图
L=630*10^(-9);alfa=pi/20000;H=0.005;%波长630nm,倾角1.57*e-4,厚5mm
n=1.5;
a2=axes('Position',[0.35,0.5,0.7]);%定位在绘图中的位置
[x,y]=meshgrid(linspace(01,200));%将5mm*5mm区域打散成200*200个点
h=tan(alfa)*x+H;%玻璃厚度
Delta=(2*h*n+L/2);%光程差
In=0.5+(cos(Delta*pi*2/L))/2;%光强分布(按比例缩小到0-1)
imshow(In)%生成灰度图
图7.1图7.2λ=630nm,θ=pi/20000
λ=430nm,θ=pi/20000λ=630nm,θ=pi/30000
可见增大波长或者减小楔角会使干预条纹间距加大。
(2)牛顿环
L=630*10^(-9);R=3;%波长630nm曲率半径3M
a2=axes('Position',[0.35,0.5,0.7]);%定位在绘图中的位置
[x,y]=meshgrid(linspace(-0.005,0.005,200));%将5mm*5mm区域打散成200*200
r2=(x.^2+y.^2);%r2为各个点距中心的距离^2矩阵
h=R-sqrt(R^2-r2)%空气薄膜厚度
Delta=2*h+L/2%光程差
In=0.5+(cos(Delta*pi*2/L))/2;%光强分布(按比例缩小到0-1)
imshow(In)%生成灰度图
λ=630nm,R=3M
λ=430nm,R=3Mλ=630nm,R=10M
增大波长或者增大球的曲率半径会使牛顿环半径增大。
〔3〕圆柱曲面干预
L=630*10^(-9);R=3;%波长630nm,曲率半径3M
a2=axes('Position',[0.35,0.5,0.7]);%定位在绘图中的位置
[x,y]=meshgrid(linspace(-0.005,0.005,200));%将5mm*5mm区域打散成200*200
r2=(x.^2+0*y.^2);%r2为各个点距中心的距离^2矩阵
h=R-sqrt(R^2-r2)%空气薄膜厚度
Delta=2*h+L/2%光程差
In=0.5+(cos(Delta*pi*2/L))/2;%光强分布(按比例缩小到0-1)
imshow(In)%生成灰度图
λ=630nm,R=3M
λ=430nm,R=3Mλ=630nm,R=10M
图7.11图7.12
可见增大波长或者增大圆柱底面的半径会使干预条纹变宽。
(4)任意曲面
L=630*10^(-9);R=3;%波长630nm曲率半径3M
a2=axes('Position',[0.35,0.5,0.7]);%定位在绘图中的位置
[x,y]=meshgrid(linspace(-0.005,0.005,200));%将5mm*5mm区域打散成200*200
r2=(x.^2+y.^2);%r2为各个点距中心的距离^2矩阵
h=sin(r2*3000)%空气薄膜厚度
Delta=2*h+L/2%光程差
In=0.5+(cos(Delta*pi*2/L))/2;%光强分布(按比例缩小到0-1)
imshow(In)
曲面函数:
z=sin[3000(x^2+y^2)]
8、等倾干预
(1)平行平板干预
如图,扩展光源上一点S发出的一束光经平行平板的上、下外表的反射和折射后,在透镜后焦平面P点相遇产生干预。
两支光来源于同一光线,因此其孔径角是零。
在P点的强度是:
〔8-1〕
其中光程差
〔8-2〕
光程差越大,对应的干预级次越高,因此等倾条纹在中心处具有最高干预级次。
〔8-3〕
一般不一定是整数,即中心不一定是最亮点,它可以写成
,式中
是最靠近中心的亮条纹的整数干预级,第N条亮条纹的干预级表示为
。
如图2,其角半径记为
则
〔8-4〕
上式说明平板厚度h越大,条纹角半径就越小。
条纹角间距为
〔8-5〕
说明靠近中心的条纹稀疏,离中心越远的条纹越密,呈里疏外密分布。
(2)仿真程序
xmax=1.5;ymax=1.5;%设定y方向和x方向的范围
Lamd=452e-006;%设定波长,以Lambda表示波长
h=2;%设置平行平板的厚度是2mm
n=input('输入折射率');%设置平行平板的折射率,以n表示
f=50;%透镜焦距是50mm
N=500;%N是采样点数
x=linspace(-xmax,xmax,N);%X方向采样的范围从-ymax到ymax,采样数组命名为x
y=linspace(-ymax,ymax,N);%Y方向采样的范围从-ymax到ymax,采样数组命名为y
fori=1:
N%对屏幕上的全部点进行循环计算,则要进行N*N次计算
forj=1:
N
r(i,j)=sqrt(x(i)*x(i)+y(j)*y(j));%平面上一点到中心的距离
u(i,j)=r(i,j)/f;%角半径
t(i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工程 光学 matlab 仿真