摘要:
实验室中,做普通光学实验,受到仪器和场所的限制;实验参数的改变引起干涉图样的改变不明显,难以体现实验的特征。本文利用MATLAB仿真杨氏双缝干涉实验,创建用户界面,实现人机交互,输入不同实验参数,使干涉现象直观表现出来。
关键词:
MATLAB;杨氏双缝干涉实验;用户界面设计;程序编写;仿真。
1. 引言:
在计算机迅猛发展的今天,光学实验的仿真越来越多的受科研工作者和教育工作者关注。其应用主要有两个方面:一是科学计算方面,利用仿真实验的结果指导实际实验,减少和避免贵重仪器的损害;二是在光学教学方面,将抽象难懂的光学概念和规律,由仿真实验过程直观的描述,使学生对学习感兴趣。在科学计算方面,国外的光学实验仿真是模拟设计和优化光学系统的过程中发展起来的,在这方面美国走在最前,其中最具代表性的是劳伦斯利和弗莫尔实验光传输模拟计算机软件Prop92及大型总体优化设计软件CHAINOP和PROPSUITE;另外法国也开发完成其具有自身特点的光传输软件Miro。在光学教学方面,国外已有相关的配有光盘演示光学实验的教材。我国用于科学研究的光学实验计算机数值仿真软件随开发较晚,但也已经取得了显著成绩。特别是1999年,神光——III原型装置TLL分系统集成实验的启动为高功率固体激光驱动器的计算机数值模拟的研究创造了条件。目前已基本完成SG99光传输模拟计算软件的开发,推出的标准版本基本能稳定运行。目前该软件已经应用于神光——III主机可行性论证的工作中。计算机仿真具有观测方便,过程可控等优点,可以减少系统对外界条件对实验本身的限制,方便设置不同的参数,借助计算机的高数运算能力,可以反复改变输入的实验条件系统参数,大大提高实验效率。MATLAB是MatlabWorks公司于1982年推出的一套高性能的数值计算和可视化软件。具有可扩展性,易学易用性,高效性等优势。
通过对目前计算机仿真光学实验的现状和相关研究的分析,本文将用Matlab
编程实现杨氏双缝干涉实验的仿真。利用Matlab GUI建立用户界面,实现人机交互;通过自由输入不同实验参数,得到相应的干涉图样和光强分布曲线图,使双缝干涉现象直观化,便于比较不同实验参数对实验的影响。
本文由四部分构成:第一部分阐述杨氏双缝干涉相关理论知识;第二部分进行实现仿真主程序编写;第三部分创建用户界面,并编写回调函数,实现人机交互;第四部分将仿真的双缝干涉实验和传统双缝干涉实验进行比较。
2.杨氏双缝干涉实验
2.1.光波干涉的三个条件:
第一、两列光波的频率必须相同。(这一条件的必要性是显而易见的,两列不同频率的光波不可能叠加为简谐振动。)
第二、两列光波频率相同,在相遇点的振动方向必须相同,或者有振动方向相同的分量。
第三、两列光波在相遇的区域内,必须保持稳定的相位差。 2.2. 杨氏双缝干涉实验的构想
杨氏双缝干涉实验的装置如图1,所示:
r1P r2S1x O S d S2D 干涉条I 光强分布
图1杨氏双缝干涉实验光路图
S是单色光源,s1、s2是不透明板上的两个小孔(后来托马斯·杨为了提高干涉条纹的亮度改为两条平行狭缝)V是观察屏。从S发出的光波,其波面传到s2、
s1以后形成两列频率相同,振动方向相同的光波,对空间某一点P,从s1、s2到
P点的距离是一定的,或者说光程是一定的,光程差也是一定的,那么从s1、s2发出的两列光波到达P点时,在该点产生的相位差也是一点的,对于空间其他的点也是一样的,有类似的情况。因此,在两列光波相遇的区域内可以得到稳定的相位差分布;这就满足了光的干涉条件中非常重要的第三个条件,即是这个古老的实验的构思巧妙之处。
2.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发出的光波在该点叠加
产生的光强度为:
II1I22I1I2cos (1)
此实验中,令1I2I0 所以 :I4I0cos2 (2) 2在点P,光波1、2的相位差应当是 2r2r1r (3) 2其中是光源的波长,r是光波1、2到达点P的光程差,在D、d、x之间有D>>x>>d的关系,因此和r1 和r2可以看作是十分靠近而接近于平行的线段。 所以 rdsin'dsind (4)
x而 Dd2
dd2d(x)dx22 则 rDDd2d2dx,则上式可以忽略d比x小一到两个数量级,所以,因而得到
22dx Ddx2d所以 2*x (P点的相位差) (5)
DD rP点式任意的,所以(5)式也是任意的。在观察屏上不同的地方x的值不同,代入的值就可以得到、r。实验中选定、d、D后,就可以得到稳定的干涉条纹。
如果观察屏上的某些点的x值使得光程差满足
dxm (m=0、1、2,、3…..) (6) Ddx2d那么相应的 2 *x2m (m=0、1、2,、3…..) (7)
DD r将(7)式代入(2)式可得到 I4I0cos2即
4I0cos22m (m=0、1、2,、3….) 2I4I0 (8)
这说明。在观察屏V上满足rm的x,光强最大,这些地方就是亮条纹的中心,此时的x用x亮来表示亮条纹中心。 即 x亮=mD (m=0、1、2,、3…..) (9) d如果观察屏V上的某些x的值是该处的光程差满足
(m'=0、1、2,、3…..) (10) 2dx2d那么 2*x2m'1 (m'=0、1、2,、3…..) (11)
DD r2m'1光强为 I4I0cos24I0cos22m'10 (12) 22这就表明干涉的结果使这些地方的光强最小,这些地方最暗,这些地方就是观察屏上的暗条纹的中心。x暗=2m'1D (m'=0、1、2、3…..) (13) d2通过上面的推导,我们代入简单数值计算可以得出,相邻亮条纹和相邻暗条纹之间的距离是相等的,它们各自等于: x亮=x暗=D (14) d通过上面的分析,可以得出杨氏双缝干涉条纹的特点:
第一,这组明暗相间的条纹亮度的变化是逐渐的,从最亮慢慢地变弱,直到最暗;
又从最暗慢慢加强,直到最亮。
第二,这组条纹是等间距的,即相邻的最暗条纹间的距离(或者说最亮条纹间的
距离)是相等的。
3. 编写程序
实验时以单色光入射,固定双缝到接收幕屏的距离,调整好双缝间距,双缝间距用d表示,缝到屏幕的距离用D表示。 根据上述理论分析,主程序编写如下,
clear lam=500e-9; d=2e-3;D=1;
ym=5*lam*D/d;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/4.0)*N subplot(1,2,1) image(xs,ys,Br); colormap(gray(N)); subplot(1,2,2) plot(B,ys);
根据上述理论分析可得,相邻亮条纹和相邻暗条纹之间的距离是相等的,它们各自等于:
x亮=x暗=D d即条纹间距
xDd,用edit_lam表示波长,单位是纳米;用edit_D表示双
缝到屏幕的距离,单位是米;用edit_d表示双缝间距,单位是厘米;则可计算干涉条纹间距。
>>edit_interval=edit_lam*edit_D/(edit_d*10000);
其中edit_interval表示条纹间距,计算出来的单位是毫米。回调函数编程为: num1=str2num(get(handles.edir_lam,'string')); num2=str2num(get(handles.edit_D,'string')); num3=str2num(get(handles.edit_d,'string')); num4=num2str(num1*num2/(num3*10000));
set(handles.edit_interval,'string',num4);
4. 用户界面设计
为了实现人机交互,方便人们分析不同参数对实验的影响,我设计了图形用户界面,如图2, 自由输入参数,编写了相应的回调函数,可以实现人机交互;
图2.用户界面
当输入单色光光波波长,双峰间距,屏缝间距,然后点击演示,即可在图形框现实相应的干涉图样和光强分布图,如图3;
图3干涉图样、光强分布曲线
点击界面上的计算条纹间距,在interval数据框中可显示计算的条纹,如图4。
图4.计算条纹间距
5. 仿真实验与传统实验的比较
传统实验,要受到实验环境、仪器设备的制约;除此之外,还要求操作者能熟练调节各个仪器,才能是实验顺利完成,在屏幕上才能看到清晰的干涉图样。但是,当改变实验参数时,看到的干涉图样改变不是很明显,不易体现改变实验
参数对实验的影响,不能完全体现实验的特征。但它能锻炼学生的动手操作能了,熟悉实验步骤。
利用计算机仿真杨氏双缝干涉实验,不受实验环境、实验条件的影响,是难理解的干涉现象直观的呈现出来,通过输入不同实验参数,得到相应的干涉图样、光强分布曲线,便于观察和比较试验参数对地实验的影响。但是,都使用仿真实验进行教学,不利于学生动手能力和创新能力的陪养。
6. 结束语
由上面的分析和讨论,可以看出,用计算机对光学实验进行仿真,给教学
带来了很大便利,它可以不受实验场所、仪器的限制,使实验及时化、方便化,更使抽象难懂的光学概念形象化。
致 谢:
本论文是在悉心指导下完成的,在此,对任老师在我整个论文写作中提供的诸多帮助表示诚挚的感谢!
参考文献:
[1] 赵成美、丁兰英,《干涉与衍射》,科学出版社; [2] 胡守信、李柏年,《基于MATLAB的数学实验》, 科学出版社。 [3] 张铮、杨文平、石博强、李海鹏,《MATLAB程序设计实例应用》,中国铁道出版社。 [4] 王沫然,《MATLAB6.0与科学计算》,电子工业出版社。 [5] 张平,《MATLAB基础与应用简明教程》,北京航空航天大学出版社。 [6] 陈莉、钟生海,《MATLAB在光学实验中的应用》; [7] 蓝海江,《白光干涉、衍射实验的计算机仿真》; [8] 庄建、青莉,《基于MATLAB的光学实验仿真平台》;
[9] 崔祥霞、杨兆华、陈军,《基于MATLAB的光学衍射与干涉实验仿真》; [10] 毛欲民、洪家平,《基于MATLAB的杨氏双缝干涉实验仿真》,湖北师范学
院学报。
因篇幅问题不能全部显示,请点此查看更多更全内容