基于Matlab的光学等厚干涉实验仿真
2016-03-15赵鑫
赵鑫
【摘要】通过Matlab软件编程,实现对光学等厚干涉的计算机仿真,仿真结果正确的展示了等厚干涉这一光学现象,对于光学的教学和学习具有很好的帮助作用。
【关键词】等厚干涉 Matlab 仿真
【中图分类号】TP391.9 【文献标识码】A 【文章编号】2095-3089(2016)01-0176-02
1.引言
在计算机技术迅速发展的今天,光学实验仿真受到越来越多的科研工作者和教育者的广泛关注。其中主要有两个方面:第一是在科学计算方面,利用仿真实验的结果指导实际实验,减少和避免贵重仪器的损伤:第二是在光学教学方面,将抽象难懂的光学概念和规律,由仿真实验过程直观的描述,让学生饶有兴趣的掌握知识。本文在光学理论的基础上,编写了MATLAB程序代码,实现了等厚干涉的实验仿真。
2.等厚干涉的基本原理
当光源照到一块由透明介质做的薄膜上时,光在薄膜的上表面被分割成反射和折射两束光(分振幅),折射光在薄膜的下表面反射后,又经上表面折射,最后回到原来的媒质中,在这里与反射光交迭,发生相干。只要光源发出的光束足够宽,相干光束的交迭区可以从薄膜表面一直延伸到无穷远。薄膜厚度相同处产生同一级的干涉条纹,厚度不同处产生不同级的干涉条纹。这种干涉称为等厚干涉。如图1所示。由于介质的折射率满足n1
■ (1)
图1等厚干涉
由于各处薄膜的厚度e不同,光程差也不同,因而产生明暗相间的干涉条纹。
明纹条件为
■ (2)
明纹所在处的厚度为
■ (3)
暗纹条件为
■ (4)
暗纹所在处的厚度为
■ (5)
这里k是干涉条纹的级次,k=0的零级条纹这里应为暗纹,出现在厚度为零处即棱边处。
3.仿真过程及结果
基于上述原理分析,假设波长为500nm,楔形角大小为0.000001rad。通过Matlab编程,则得到相应的仿真结果。实现等厚干涉仿真程序如下:
Clear %清除原有变量
Lambda=500*(1e-9); %设定波长
theta=1*(1e-6); %设定倾角
ni=500; %微元个数
ds=linspace(0,0.0005,ni); %竖直方向分割
for k=1:ni
y(k)=ds(k)/sin(theta); %水平方向的对应坐标
Delta=2*ds(k)+Lambda/2; %对应点的光程差
Phi=2*pi*Delta/Lambda; %对应点的相位差
B(k,:)=4*cos(Phi/2).^2; %光强与相位差相联系
end
figure(gcf); %以下为形成图像过程, 将光强与图像辉度相对应
NCLevels=250;
Br=(B/4.0)*NCLevels;
image(0,y,Br);
colormap(gray(NCLevels));
title('二维强度分布');
图2 等厚干涉条纹
运行上述程序即可获得等厚干涉条纹分布图,如图2所示。由图可见,图样是明暗相间的条纹,相邻两条亮条纹或暗条纹对应的光程差都为λ,所以从一个条纹过度到相邻一个条纹,平板的厚度改变为λ∕2n。
4.结束语
在光学干涉教学中,光学理论复杂抽象,实验演示难度大。本文基于Matlab仿真技术,利用matlab简单易学、编程效率高、图形处理功能强大的特点,将其作为光学实验演示平台,很好地解决真实的光学实验因环境限制而不能进入课堂的难题。通过仿真不仅可以提高对光学理论的学习效率,还可以增强对光学规律的理解能力,受到很好的教学效果。
参考文献:
[1]姚启均.光学教程[M].北京:高等教育出版社,2002.