杨氏双缝与等倾干涉实验Matlab仿真

1.杨氏双缝干涉

1.1实验原理

1.1.1光波干涉的三个条件

①两列光波的频率必须相同。

②两列光波频率相同,在相遇点的振动方向必须相同,或者有振动方向相同的分量。

③两列光波在相遇的区域内,必须保持稳定的相位差。

1.1.2杨氏双缝干涉实验的构想

图1杨氏双缝干涉实验光路图

如图所示,S是单色光源,S1、S2是不透明板上的两个小孔(后来托马斯·杨为了提高干涉条纹的亮度改为两条平行狭缝)V是观察屏。从S发出的光波,其波面传到S1、S2以后形成两列频率相同,振动方向相同的光波,对空间某一点P,从S1、S2到P点的距离是一定的,或者说光程是一定的,光程差也是一定的,那么从S1、S2发出的两列光波到达P点时,在该点产生的相位差也是一点的,对于空间其他的点也是一样的,有类似的情况。因此,在两列光波相遇的区域内可以得到稳定的相位差分布;这就满足了光的干涉条件中非常重要的第三个条件,即是这个古老的实验的构思巧妙之处。

1.1.3 杨氏双缝干涉条纹的特点及计算

S发出的光波射到光屏上的两个小狭缝S1、S2上,S1和S2相距很近且到S的距离相等,从S1和S2分别发散出的光波是由同一光波分出来的,所以是相干光,它们在相距为D的观察屏V上叠加,形成一定的干涉图样。

假设S是单色点光源,在观察屏上某一点P,P到光屏中心O点的距离为X,S1到P得距离为r1,S2到P得距离为r2。在P点从S1和S2发出的光波在该点叠加产生的光强度为:

此实验中,令

所以:

在点P,光波1、2的相位差应当是:

其中λ是光源的波长,Δλ是光波1、2到达点P的光程差,在D、d、x之间有D>>x>>d的关系,因此和r1和r2可以看作是十分靠近而接近于平行的线段。

所以:

而:

则,

d比x小一到两个数量级,所以:

则,上式可以忽略,因而得到:

所以

P点式任意的,所以(5)式也是任意的。在观察屏上不同的地方x的值不同,代入的值就可以得到δ、Δr。实验中选定λ、d、D后,就可以得到稳定的干涉条纹。

如果观察屏上的某些点的x值使得光程差满足:

相应地,

将(7)式代入(2)式可得到

这说明。在观察屏V上满足Δr=±mλ的x,光强最大,这些地方就是亮条纹的中心,此时的x用

x亮,来表示亮条纹中心:

如果观察屏V上的某些x的值是该处的光程差满足

那么

光强为

这就表明干涉的结果使这些地方的光强最小,这些地方最暗,这些地方就是观察屏上的暗条纹的中心。

通过上面的推导,我们代入简单数值计算可以得出,相邻亮条纹和相邻暗条纹之间的距离是相等的,它们各自等于:

1.1.4 总结

①通过上面的分析,可以得出杨氏双缝干涉条纹的特点:

这组明暗相间的条纹亮度的变化是逐渐的,从最亮慢慢地变弱,直到最暗;又从最暗慢慢加强,直到最亮。

②这组条纹是等间距的,即相邻的最暗条纹间的距离(或者说最亮条纹间的距离)是相等的。

通过上面的分析,可以得出杨氏双缝干涉条纹的特点:

1.2 程序设计

实验时以单色光入射,固定双缝到接收幕屏的距离,调整好双缝间距,双缝间距用d表示,缝到屏幕的距离用D表示。根据上述理论分析,主程序编写如下,

clear
lam=500e-9;%入射光波长
d=2e-3;%窄缝宽度
D=1;%双缝与屏幕水平间距
ym=5*lam*D/d;%(2*2+1)*λ*D/d,2级暗纹宽度
xs=ym;
n=101;%取间距数
ys=linspace(-ym,ym,n);
for i=1:n
    r1=sqrt((ys(i)-d/2).^2+D^2);
    r2=sqrt((ys(i)+d/2).^2+D^2);
    phi=2*pi*(r2-r1)./lam;
    B(i,:)=sum(4*cos(phi/2).^2);
end
N=255;%零级条纹光强
Br=B*N;%相干光强
subplot(1,2,1)
image(xs,ys,Br);
colormap(gray(N));
subplot(1,2,2)
plot(B,ys);

根据上述理论分析可得,相邻亮条纹和相邻暗条纹之间的距离是相等的,它们各自等于:

即条纹间距 ,用edit_lam表示波长,单位是纳米;用edit_D表示双缝到屏幕的距离,单位是米;用edit_d表示双缝间距,单位是厘米;则可计算干涉条纹间距。

>> interval=lam*edit_D/(d*10000);

>>

interval =

2.5000e-08

其中interval表示条纹间距,计算出来的单位是毫米。

仿真结果:

1.3 用户界面设计

为了实现人机交互,方便人们分析不同参数对实验的影响,我设计了图形用户界面,如图2, 自由输入参数,编写了相应的回调函数,可以实现人机交互。

图2.用户界面

回调函数编写:

%所有复制参数的全局变量声明
        properties (Access = public)
               Property % Description
               lam=500e-9;%波长
               d=2e-3;%双缝间距
               D=1;%屏幕间距
               n=101;%循环次数
               N=255;%零级亮纹的光强
         end
%初始app
 % Code that executes after component creation
        function startupFcn(app)
            ym=5*app.lam*app.D/app.d;
            xs=ym;
            ys=linspace(-ym,ym,app.n);
            for i=1:app.n
                r1=sqrt((ys(i)-app.d/2).^2+app.D^2);
                r2=sqrt((ys(i)+app.d/2).^2+app.D^2);
                phi=2*pi*(r2-r1)./app.lam;
                B(i,:)=sum(4*cos(phi/2).^2);
            end
            Br=B*app.N;
           
            image(app.UIAxes_2,xs,ys,Br);
            colormap(app.UIAxes_2,gray(app.N));
            plot(app.UIAxes,B,ys);
            answer=num2str(app.lam*app.D/(app.d*10000));%反馈的条纹间距
            app.TextArea_3.Value=answer;%将反馈值赋给显示区域
        end
%波长回调函数
 % Code that executes after component creation
        function startupFcn(app)
            ym=5*app.lam*app.D/app.d;
            xs=ym;
            ys=linspace(-ym,ym,app.n);
            for i=1:app.n
                r1=sqrt((ys(i)-app.d/2).^2+app.D^2);
                r2=sqrt((ys(i)+app.d/2).^2+app.D^2);
                phi=2*pi*(r2-r1)./app.lam;
                B(i,:)=sum(4*cos(phi/2).^2);
            end
            Br=B*app.N;
           
            image(app.UIAxes_2,xs,ys,Br);
            colormap(app.UIAxes_2,gray(app.N));
            plot(app.UIAxes,B,ys);
            answer=num2str(app.lam*app.D/(app.d*10000));%反馈的条纹间距
            app.TextArea_3.Value=answer;%将反馈值赋给显示区域
        end
%屏缝宽度回调函数
% Value changing function: Spinner_2
        function Spinner_2ValueChanging(app, event)
            app.d = event.Value*1e-3;
            ym=5*app.lam*app.D/app.d;
            xs=ym;
            ys=linspace(-ym,ym,app.n);
            for i=1:app.n
                r1=sqrt((ys(i)-app.d/2).^2+app.D^2);
                r2=sqrt((ys(i)+app.d/2).^2+app.D^2);
                phi=2*pi*(r2-r1)./app.lam;
                B(i,:)=sum(4*cos(phi/2).^2);
            end
            Br=B*app.N;
           
            image(app.UIAxes_2,xs,ys,Br);
            colormap(app.UIAxes_2,gray(app.N));
            plot(app.UIAxes,B,ys);
            answer=num2str(app.lam*app.D/(app.d*10000));%反馈的条纹间距
            app.TextArea_3.Value=answer;%将反馈值赋给显示区域
        end
%屏缝间距回调函数
 % Value changing function: Spinner_3
        function Spinner_3ValueChanging(app, event)
            app.D = event.Value;%屏缝间距改变
            ym=5*app.lam*app.D/app.d;
            xs=ym;
            ys=linspace(-ym,ym,app.n);
            for i=1:app.n
                r1=sqrt((ys(i)-app.d/2).^2+app.D^2);
                r2=sqrt((ys(i)+app.d/2).^2+app.D^2);
                phi=2*pi*(r2-r1)./app.lam;
                B(i,:)=sum(4*cos(phi/2).^2);
            end
            Br=B*app.N;
           
            image(app.UIAxes_2,xs,ys,Br);
            colormap(app.UIAxes_2,gray(app.N));
            plot(app.UIAxes,B,ys);
            answer=num2str(app.lam*app.D/(app.d*10000));%反馈的条纹间距
            app.TextArea_3.Value=answer;%将反馈值赋给显示区域
        end

当输入单色光光波波长,双峰间距,屏缝间距,然后点击演示,即可在图形框现实相应的干涉图样和光强分布图,如图3。

图3干涉图样、光强分布曲线

点击界面上的计算条纹间距,在interval数据框中可显示计算的条纹,如图4。

图4.计算条纹间距

1.4 仿真实验与传统实验的比较

传统实验,要受到实验环境、仪器设备的制约;除此之外,还要求操作者能熟练调节各个仪器,才能是实验顺利完成,在屏幕上才能看到清晰的干涉图样。但是,当改变实验参数时,看到的干涉图样改变不是很明显,不易体现改变实验参数对实验的影响,不能完全体现实验的特征。但它能锻炼学生的动手操作能了,熟悉实验步骤。

利用计算机仿真杨氏双缝干涉实验,不受实验环境、实验条件的影响,是难理解的干涉现象直观的呈现出来,通过输入不同实验参数,得到相应的干涉图样、光强分布曲线,便于观察和比较试验参数对地实验的影响。但是,都使用仿真实验进行教学,不利于学生动手能力和创新能力的陪养。

1.5总结

由上面的分析和讨论,可以看出,用计算机对光学实验进行仿真,给教学带来了很大便利,它可以不受实验场所、仪器的限制,使实验及时化、方便化,更使抽象难懂的光学概念形象化。

2.等倾干涉

2.1 实验原理

光线以倾角i入射,上下两条反 射光线经过透镜作用汇聚一起,形成干涉。由于入射角相同的光经薄膜两表面反射形成的 反射光在相遇点有相同的 光程差,也就就是说,凡入射角相同的就形成同一条纹,故这些 倾斜度不同的 光束经薄膜反射所形成的干涉花样就是一些明暗相间的同心圆环.这种干涉称为等倾干涉。

基本理论:薄膜干涉中两相干光的光程差公式(表示为 入射角的函数形式) 为式中n为薄膜的折射率;n0为空气的折射率;h为入射点的薄膜厚度;i0为薄膜的入射角;+λ/2为由于两束相干光在性质不同的两个界面(一个就是光疏-光密界面,另一就是光密-光疏界面)上反射而引起的附加光程差;λ为真空中 波长。 薄膜干涉原理广泛应用于光学表面的检验、微小的角度或线度的精密测量、 减反射膜与干涉滤光片的制等。

当光程差为波长整数倍时,形成亮条纹,为半波长奇数倍时就是暗条纹。等倾条纹就是内疏外密的同心圆环。

2.2 程序设计

为了方便计算,这里假设光波为垂直入射到薄膜上,并且设光源波长为450nm。薄膜的厚度魏0、35nm,透镜焦距为0、25m。

主程序编写

clc;clear all
xmax=1.5;ymax=1.5;
Lamd=452e-009;
h=0.35;
n=input('请输入折射率:');
f=250;
N=500;
x=linspace(-xmax,xmax,N);
y=linspace(-ymax,ymax,N);
for i=1:N
    for j=1:N
        r(i,j)=sqrt(x(i)*x(i)+y(j)*y(j));
        u(i,j)=r(i,j)/f;
        t(i,j)=asin(n*sin(atan(u(i,j))));
        phi(i,j)=2*n*h*cos(t(i,j))+Lamd/2;
        B(i,j)=4*cos(pi*phi(i,j)/Lamd).^2;
        
    end
end
Nclevels=255;
Br=B/2.5*Nclevels;
figure(1)%二维展示
image(x,y,Br);
colormap(gray(Nclevels));
figure(2);%三维展示
mesh(x,y,Br);
colormap(gray(Nclevels));

2.3 仿真结果

通过matlab编程计算获得等倾干涉二维与三维光强分别如图5、图6所示。

图5.二维干涉图像

图6.三维干涉图像

  • 12
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值