工程光学matlab仿真.docx
《工程光学matlab仿真.docx》由会员分享,可在线阅读,更多相关《工程光学matlab仿真.docx(28页珍藏版)》请在冰豆网上搜索。
工程光学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
图1.2改变双缝间距的条纹变化
由上面四幅图可以看出,随着双缝之间的距离增大,条纹边缘坐标减小,也就是条纹间距减小,和理论公式
推导一致。
如果增大双缝的缝宽,会使光强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=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改变孔间距对干涉的影响
如图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不同振幅比的干涉图样
由图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图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.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光的振幅
d=0.00001%设定两个光源的距离
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、平行光与点光源干涉
图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平行光入射角度对干涉的影响
图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,厚5mm
n=1.5;%折射率N=1.5
a2=axes('Position',[0.3,0.15,0.5,0.7]);%定位在绘图中的位置
[x,y]=meshgrid(linspace(0,0.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
图7.3图7.4
可见增大波长或者减小楔角会使干涉条纹间距加大。
(2)牛顿环
L=630*10^(-9);R=3;%波长630nm曲率半径3M
a2=axes('Position',[0.3,0.15,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
图7.5图7.6
λ=430nm,R=3Mλ=630nm,R=10M
图7.7图7.8
增大波长或者增大球的曲率半径会使牛顿环半径增大。
(3)圆柱曲面干涉
L=630*10^(-9);R=3;%波长630nm,曲率半径3M
a2=axes('Position',[0.3,0.15,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
图7.9图7.10
λ=430nm,R=3Mλ=630nm,R=10M
图7.11图7.12
可见增大波长或者增大圆柱底面的半径会使干涉条纹变宽。
(4)任意曲面
L=630*10^(-9);R=3;%波长630nm曲率半径3M
a2=axes('Position',[0.3,0.15,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)]
图7.13图7.14
8、等倾干涉
(1)平行平板干涉
图8.1图8.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);%