工程光学matlab仿真设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工程光学仿真实验报告
1、氏双缝干涉实验
(1)氏干涉模型
氏双缝干涉实验装置如图1所示: S 发出的光
波射到光屏上的两个小孔S1 和S2 , S1 和S2 相
距很近,且到S 等距;从S1 和S2 分别发散出的光
波是由同一光波分出来的,所以是相干光波,它们在距离光屏为D 的屏幕上叠加,形成一定的干涉图
样。 图1.1 氏双缝干涉
假设S 是单色点光源,考察屏幕上某一点P ,从S1 和S2 发出的光波在该点叠加
产生的光强度为:
I = I1 + I2 + 2 I1 I2 cos δ (1-1)
式中, I1 和I2 分别是两光波在屏幕上的光强度, 若实验装置中S1 和S2 两个缝
大小相等, 则有
I1 = I2 =I0 (1-2)
δ= 2π(r2 - r1)/λ(1-3) (1-3) 2221)2/(D y d x r +++= (1-4) 2222)2/(D y d x r ++-= (1-5)
可得 xd r r 22
122=- (1-6)
因此光程差:12r r -=∆ (1-7)
则可以得到条纹的强度变化规律- 强度分布公式:
]/)([cos 1220λπd r r I I -= (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
%此数组装的是屏幕上的采样点的纵坐标
for i=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)双缝间距2mm b)双缝间距4mm
c)双缝间距6mm d)双缝间距8mm
图1.2改变双缝间距的条纹变化
由上面四幅图可以看出,随着双缝之间的距离增大,条纹边缘坐标减小,也就是条纹间距减小,和理论公式d D e /λ=推导一致。如果增大双缝的缝宽,会使光强I 增加,能够看到条纹变亮。
二、氏双孔干涉实验
1、氏双孔干涉
氏双孔干涉实验是两个点光源干涉实验
的典型代表。如图2所示。当光穿过这两个
离得很近小孔后在空间叠加后发生干涉,
并在像屏上呈现出清晰的明暗相间的条纹。
由于双孔发出的波是两组同频率同相位的
球面波, 故在双孔屏的光射空间会发生干
涉。 于是, 在图2中两屏之间的空间里,
如果一点P 处于两相干的球面波同时到达
波峰(或波谷)的位置, 叠加后振幅达到最高, 图2.1 氏双孔干涉
表现为干涉波的亮点; 反之, 当P 处处于一个球面波的波峰以及另一个球面波的波谷时候,叠加后振幅为零,变现是暗纹。
1r 为S1到屏上一点的距离, 2221)2/(D y d x r +++= (2-1),2r 为S2到屏上这点的距离,2222)2/(D y d x r ++-= (2-2),如图2,d 为两孔之间的距离,D 为孔到屏的距离。由孔S1和孔S2发出的光的波函数可表示为 )ex p(11
11ikr r A E = (2-3) )ex p(2212ikr r A E =
(2-4) 则两束光叠加后 21E E E += (2-5)
干涉后光强 **E E I = (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
for i=1:N
for j=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('氏双孔');