资源描述
光的干涉和衍射分析
一、 实验目的:
1学习使用模拟实验的方法探究光的干涉和衍射问题。
2熟悉matlab编程。
二、 实验内容和及方法:
1双缝干涉模拟实验
杨氏双缝干涉实验是利用分波前法获得相干光束的典型例子 。如图1所示, 单色光通过两个窄缝, 射向屏幕,相当于位置不同的两个同频率同相位光源向屏幕照射的叠加,由于到达屏幕个点的距离(光程)不同引起的相位差,叠合的结果是在有的点加强,在有的点抵消,造成干涉现象。
图 1
考虑两个相干光源到达屏幕上任意点P的距离差为
=
=
引起的相位差为
设两束相干光在屏幕上P点产生的幅度相同,均为, 则夹角为的两个矢量 的合成矢量的幅度为:
A2
光强B正比于振幅的平方,故P点光强为
B=
运行程序1的到如图所示
下图中左图是光屏上的干涉条纹,右图是光屏上沿y轴方向光强的变化曲线,从图中不难看出,干涉条文是以点o所对应的水平线为对称,沿上下两侧交替,等距离排列,相邻亮条纹中心间距为0.00025m。
图 2
这与理论推导和实验结果基本一致。
下面我们从理论上加以推导,由上面的式子可得
考虑到啊a,y很小,,所以
r1-r2=D/a*y
这样就得到点P处于亮条纹中心的条件为
Y=D/a*2k*λ/2,k=0,1,-1,2,-2…
因此亮条纹是等间距的,相邻条纹间距为D/a*λ=0.00025m.
考虑到纯粹的单色光不易获得,通常有一定的光谱宽度,这种光的非单色性对光的干涉产生何种效应,下面我们用MATLAB计算并仿真这一问题。
非单色光的波长不是常数,必须对不同波长的光分别处理并叠加起来。我们假定光源的光谱宽度为中心波长的,并且在该区域均匀分布。近似取11根谱线,相位差的计算表达式求出的将是不同谱线的11个不同的相位。计算光强时应把这11根不同的谱线产生的光强叠加并取平均值,即
将程序1中的9,10两句换成以下4句,由此构成的程序2就可仿真非单色光的干涉问题。
运行修改后的程序得到的干涉条纹如图所示。可以看出,光的非单色性导致干涉现象的减弱,光谱很宽的光将不能形成干涉。
图 3
2.单缝衍射的模拟实验
一束单色平行光通过宽度可调的狭缝,射到其后的光屏上。当狭缝宽度足够小时光屏上形成一系列亮暗相同的条纹,这是由于从同一个波前上发出的子波产生干涉的结果。当光源到衍射屏的距离和光屏到衍射屏的距离都是无穷大时,既满足远场条件时,我们称这种衍射为夫琅禾费。所以夫琅禾费衍射中入射光与衍射光都是平行光。为了模拟单缝衍射现象,我们把单缝看成一排等间隔光源,共NP个光源分布在A~B区间内,离点A间距为yp,则屏幕上任意一点S处的光强为NP个光源照射结果的合成。
如图4所示,,子波射线与入射方向夹角φ称为衍射角,φ=0时,子波射线通过透镜后,必汇聚到O点,这个亮条纹对应的光强称为主极大。NP个光源在其他方向的射线到达S点的光程差,应等于它们到达AC的光程差,即Δ=ypsinφ,其中
ys为S点的纵坐标,则与A 点的光源位相差为:
图 4 单缝衍射的模拟实验
设单缝上NP个光源的振幅都为1,在x,y轴上的分量各为cosα,sinα,合振幅的平方为:
又光强正比于振幅的平方,所以相对于O点的主极大光强也为:
程序3模拟了单缝衍射现象,这里取波长,缝宽,透镜焦距,运行结果如下图所示。
图 5
分析图5 中的衍射条纹,我们可以看出所有亮暗条纹都平行于单缝,O点光强为最大,这都和理论推导结果相一致。
3.光栅衍射的模拟实验
有大量等宽度、等间距的平行狭缝组成的光学系统称为衍射光栅。单缝宽度a和刻痕宽度b之和称为光栅常数d,d=a+b。光栅衍射条纹是单缝衍射和缝间干涉的共同结果。
设光栅有N条狭缝,透镜焦距为D,理论分析可以得到,光屏上P点的夫琅和费衍射光强
运行程序4得到衍射条纹,如下图所示:
图 6
三、 实验结果及现象
结果1:P点处于暗条纹中心的条件与模拟结果一致。
结果2:从理论上讲,中央亮条纹的半角宽和第一条暗条纹的衍射角都应等于,各次级大角宽都等于中央亮条纹的半角宽, 图中模拟的衍射条纹符合这个结论。
结果3:程序4中d=5a,观察图6衍射条纹,在离中心0.015m有缺级现象。
程序1:
clear all
>> lam=500e-9
>> a=2e-3;d=1;
>> D=1;
>> ym=5*lam*D/a;xs=ym;
>> n=101;ys=linspace(-ym,ym,n);
>> 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;
>> Br=(B/4.0)*N;
>> subplot(1,2,1)
>> image(xs,ys,Br);
>> colormap(gray(N));
>> subplot(1,2,2)
>> plot(B,ys)
程序2:
clear all
>> lam=500e-9
>> a=2e-3;D=1;
>> ym=5*lam*D/a;xs=ym;
>> n=101;ys=linspace(-ym,ym,n);
>> for i=1:n
r1=sqrt((ys(i)-a/2).^2+D^2);
r2=sqrt((ys(i)+a/2).^2+D^2);
N1=11;dL=linspace(-0.1,0.1,N1);
lam1=lam*(1+dL');
Phi1=2*pi*(r2-r1)./lam1;
B(i,:)=sum(4*cos(Phi1/2).^2)/N1;
end
>> N=255;
>> Br=(B/4.0)*N;
>> subplot(1,2,1)
>> image(xs,ys,Br);
>> colormap(gray(N));
>> subplot(1,2,2)
>> plot(B,ys)
程序3:
clear all
lam=500e-9;a=1e-3;D=1;
ymax=3*lam*D/a;
Ny=51;
ys=linspace(-ymax,ymax,Ny);
NP=51;
yP=linspace(0,a,NP);
for i=1:Ny
SinPhi=ys(i)/D;
alpha=2*pi*yP*SinPhi/lam;
SumCos=sum(cos(alpha));
SumSin=sum(sin(alpha));
B(i,:)=(SumCos^2+SumSin^2)/NP^2;
end
N=255;
Br=B/max(B)*N;
subplot(1,2,1)
image(ymax,ys,Br);
colormap(gray(N));
subplot(1,2,2)
plot(B,ys,'*',B,ys);
grid;
程序4:
clear all
lam=632.8e-9;N=2;
B(i,:) =(sin(alpha)./alpha).^2.*(sin(N*beta)./sin(beta).^2;
B1=B/max(B);
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)
展开阅读全文