1、139 第二章 数理探究试验 光的干涉和衍射 一、实验目的 ① 学习用用模拟实验方法探究光的干涉和衍射问题. ② 进一步熟悉MATLAB编程. 二、实验内容和要求 1. 双缝干涉模拟实验 杨氏双缝干涉实验是利用分波前法获得相干光束的典型例子. 如图2.24所示,单色光通过两个窄缝s1,s2射向屏幕,相当于位置不同的两个同频率同相位光源向屏幕照射的叠合,由于到达屏幕各点的距离(光程)不同引起相位差,叠合的结果是在有的点加强,在有的点抵消,造成干涉现象. 图2.24 双缝干涉示意图 考虑两个相干光源到屏幕上任意点P的距离差为
2、 (2.19) 引起的相位差为 设两束相干光在屏幕上P点产生的幅度相同,均为A0,则夹角为φ的两个矢量A0的合成矢量的幅度为 A=2A0 cos(φ/2) 光强B正比于振幅的平方,故P点光强为 B=4B0cos2(φ/2) (2.20) 运行sy211.m程序得到干涉条纹如图2.27所示. clear all %sy211.m lam=500e-9; %输入波长 a=2e-3; D=1; ym=5*lam*D/a; xs=ym; %设定光屏的范围 n=101;ys=linspace(-ym,ym,n); % 把光
3、屏的y方向分成101点 for i=1:n r1=sqrt((ys(i)-a/2).^2+D^2); r2=sqrt((ys(i)+a/2).^2+D^2); phi=2*pi*(r2-r1)/lam; B(i,:)=4*cos(phi/2).^2; end N=255; % 确定用的灰度等级为255级 Br=(B/4.0)*N; %使最大光强对应于最大灰度级(白色) subplot(1,2,1) image(xs,ys,Br); %画干涉条纹 colormap(gray(N)); subplot(1,2,2) plot(B
4、ys) %画出光强变化曲线 图2.25中左图是光屏上的干涉条纹,右图是光屏上沿y轴方向光强的变化曲线. 从图中也不难看出,干涉条纹是以点o所对应的水平线为对称,沿上下两侧交替,等距离排列,相邻亮条纹中心间距为2.5×10-4m. -1.5 -1 -0.5 x10-3 0 0.5 1 1.5 -0.4 -0.2 0 0.4 0.2 -1.5 0 1 2 3 4 -1 0.5 1 1.5 x10-3 -0.5 0 图2.25 单色光的干涉条纹 这与理论推导和实验结果基本一致. 下面我们从理论上加以推导,由上面的式(2.1
5、9)可得 考虑到a,y很小,(r1+r2)=2D,所以 这样就得到点P处于亮条纹中心的条件为 (2.21) 因此,亮条纹是等间距的,相邻条纹间距为. 问题2.39:推导出点P处于暗条纹中心的条件并与模拟结果相比较,看是否一致? 考虑到纯粹的单色光不易获得,通常都有一定的光谱宽度,这种光的非单色性对光的干涉会产生何种效应,下面我们用MATLAB计算并仿真这一问题. 非单色光的波长不是常数,必须对不同波长的光分别处理再叠加起来. 我们假定光源的光谱宽度为中心波长的±10%,并且在该区域均匀分布. 近似取11根谱线,相位差的计算表达式求
6、出的将是不同谱线的11个不同相位. 计算光强时应把这11根谱线产生的光强叠加并取平均值,即 将程序sy211.m中的9,10两句换成以下4句,由此构成的程序就可仿真非单色光的干涉问题. N1=11;dL=linspace(-0.1,0.1,N1); %设光谱相对宽度±10%, lam1=lam*(1+dL'); %分11根谱线,波长为一个数组 Phi1=2*pi*(r2-r1)./ lam1; %从距离差计算各波长的相位差 B(i, :)=sum(4*cos(Phi1/2).^2)/N1; %叠加各波长并影响计算光强 运行修
7、改后的程序得到的干涉条纹如图2.26所示. 可以看出,光的非单色性导致干涉现象的减弱,光谱很宽的光将不能形成干涉. 图2.26 非单色光的干涉条纹 2. 单缝衍射的模拟实验 一束单色平行光通过宽度可调的狭缝,射到其后的光屏上. 当缝宽足够小时,光屏上形成一系列亮暗相间的条纹,这是由于从同一个波前上发出的子波产生干涉的结果. 当光源到衍射屏的距离和光屏到衍射屏的距离都是无穷大时,即满足远场条件时,我们称这种衍射为夫琅禾费衍射. 所以夫琅禾费衍射中入射光和衍射光都是平行光. 为了模拟单缝衍射现象,我们把单缝看成一排等间隔光源,共NP个光源分布在A~B区间内,离A点间距为yp,则屏幕上
8、任一点S处的光强为NP个光源照射结果的合成. 如图2.27所示,子波射线与入射方向的夹角称为衍射角,时,子波射线通过透镜后,必汇聚到O点,这个亮条纹对应的光强称为主极大. NP个光源在其他方向的射线到达S点的光程差,应等于它们到达平面AC的光程差,即,其中 ys为S点的纵坐标,则与A点光源位相差为 图2.27 单缝衍射的模拟实验 设单缝上NP个光源的振幅都为1,在x,y轴上的分量各为,合振幅的平方为:. 又光强正比于振幅的平方,所以相对于O点主极大光强也为 程序sy212.m模拟了单缝衍射现象,这里取波长λ=500nm,缝宽a=1mm,透镜焦距D=1m,运行结果如
9、图2.28所示. clear all %sy212.m lam=500e-9;a=1e-3;D=1; ymax=3*lam*D/a; %屏幕范围(沿y向) Ny=51; %屏幕上的点数(沿y向) ys=linspace(-ymax,ymax,Ny); NP=51; yP=linspace(0,a,NP); %把单缝分成NP个光源 for i=1:Ny %对屏幕上y向各点作循环 SinPhi=ys(i)/D; 图2.28 单缝衍射条纹 alpha
10、2*pi*yP*SinPhi/lam; SumCos=sum(cos(alpha)); SumSin=sum(sin(alpha)); B(i,:)=(SumCos^2+SumSin^2)/NP^2; end N=255; % 确定用的灰度等级为255级 %使最大光强对应于最大灰度级(白色)Br=B/max(B)*N; subplot(1,2,1) %画衍射条纹,用灰度级颜色图 image(ymax,ys,Br); colormap(gray(N));
11、 subplot(1,2,2) %画屏幕上光强曲线 plot(B,ys,'*',B,ys);grid; 分析图2.28中的衍射条纹,我们可以看出所有亮暗条纹都平行于单缝,O点光强为最大,这都和理论推导结果相一致. 问题2.40: 从理论上讲,中央亮条纹的半角宽和第一条暗条纹的衍射角都应等于λ/a,各次极大角宽都等于中央亮条纹的半角宽,图2.28模拟的衍射条纹符合这个结论吗? 3. 光栅衍射的模拟实验 有大量等宽度、等间距的平行狭缝组成的光学系统称为衍射光栅. 单缝宽度a和刻痕宽度b之和称为光栅常数d,d=a+b. 光栅衍射条纹是单缝衍射和缝间干涉的共同结果. 设光栅有
12、N条狭缝,透镜焦距为D,理论分析可以得到,光屏上P点的夫琅禾费衍射光强IP/I0分布为 式中 运行程序sy213.m得到衍射条纹如图2.29所示. clear all %sy213.m lam=632.8e-9; N=2; a=2e-4; D=5;d=5*a; ym=1.89*lam*D/a;xs=ym; %设定光屏的范围 n=1001;ys=linspace(-ym,ym,n); % y方向分成1001点 for i=1:n Sinphi=ys(i)/D; alpha=pi*a*Sinphi/lam; beta=pi*d*Sinphi/lam; B(i,
13、 :)=(sin(alpha)./alpha).^2.*(sin(N*beta)./sin(beta)).^2 ; B1=B/max(B); %将最大光强设为1 end NC=255; Br=B/max(B)*NC; subplot(1,2,1) image(xs,ys,Br); %画衍射条纹 colormap(gray(NC)) subplot(1,2,2) plot(B1,ys) %画出沿y向的相对光强变化曲线 问题2.41:程序sy213.m中d=5a,观察图2.29衍射条纹,看有无缺级现象,为什么?改变sy213.m中的波长、缝宽、光栅常数值,看衍射条纹有何变化?试加以解释. 图2.29 光栅衍射条纹






