随着科学技术的飞速发展,计算机在科学研究和工程技术中扮演着越来越重要的角色。 日益复杂的数学计算和数值分析迫使人们寻找到更为高效的运算工具。于是,各种计算机 语言应运而生。传统的计算机语言如 BASIC,FORTRAN,C 虽然能一定程度上减轻计算 量,但对于专业数学运算依旧较为繁琐,需要开发复杂的算法。直到 Matlab 的出现彻底改 变了这一切[2]。
Matlab(Matrix Laboratory)是由美国 MathWorks 公司开发的一款商业数学软件。是用 于数据开发、数据可视化、数值分析以及数值计算的高级计算机语言和交互环境,可以很 方便地进行矩阵运算、绘制函数和数据、系统仿真、创建用户界面、连接其他编程语言等。
应用 Matlab 强大的数值处理和图像处理功能,可以任意设定实验参数,得到实验结果 数据图像等,是光学学习研究的强大工具。本文将应用 Matlab 对夫琅禾费圆孔衍射这一现 象进行仿真模拟,直观观察实验结果,有助于对实验过程的了解与分析。
本文的主要内容安排如下: 第二章将以基尔霍夫衍射理论为基础,介绍夫琅禾费圆孔衍射的基本原理,说明衍射
图样的特征。第三章将应用 Matlab 对夫琅禾费衍射圆孔衍射进行仿真,并比较不同光学参 数对仿真结果的影响。第四章将应用 Matlab GUI 建立交互式界面,直观反映衍射结果随各 参数的变化情况。
2 夫琅禾费圆孔衍射的原理及意义
光具有波粒二象性,而光的衍射体现了其波动性。主要表现在光遇到一定尺寸的障碍 物时不沿直线传播而是绕过障碍物继续传播,也可叫光的绕射[3]。根据光源、衍射屏与观 察屏三者之间的距离,可将衍射分为两大类,即菲涅尔衍射与夫琅禾费衍射。本章将重点 介绍夫琅禾费圆孔衍射的原理,确定衍射斑光强分布特点。
2。1 菲涅尔衍射与夫琅禾费衍射
按近似情况看,菲涅尔衍射是近场衍射,光源 O 或观察屏 E 到衍射屏 S 的距离是有限 的,如图 2。1 所示。夫琅禾费衍射是远场衍射,光源 O,观察屏 E 到衍射屏 S 的距离为无 穷远的衍射,如图 2。2 所示。由于夫琅禾费衍射是菲涅尔衍射的特例,衍射积分计算也相 对较为简单,应用广泛,所以它是研究衍射问题的重点之一。 文献综述
图 2。1 菲涅尔衍射实验原理图 图 2。2 夫琅禾费衍射原理图
2。2 夫琅禾费圆孔衍射的原理
波前(波振面)上的每一点都可以看做一个次级扰动中心,发出球面子波;在后一时 刻这些子波的包络面就是新的波前。这一假说被称为惠更斯原理[4]。
为了定量得到衍射中光强分布的特点,一般采用惠更斯-菲涅尔-基尔霍夫衍射理论推 导出观察屏上某点的复振幅公式。
2。2。1 基尔霍夫衍射理论
基尔霍夫衍射理论又称为标量衍射理论,建立在惠更斯-菲涅尔原理上,并弥补其不 足之处。即:波前上的每一点都可以看成是一个次级扰动中心,发出球面子波;在后一时 刻这些子波的包络面就是新的波前,且子波之间相干叠加,利用场论中格林定理,得到较 完善的数学表达式,确定了倾斜因子的具体形式。
图 2。3 球面波在孔径 Σ 上的衍射
图 2。3 示意了某一时刻由点光源 S 发出的球面波经过孔径 Σ 后的衍射波。根据基尔 霍夫衍射理论,衍射场中任一 P 点的复振幅可通过下式计算得出:
Ẽ(P)= A ∬exp(ikl) exp(ikr) [cos(n⃗ ,r )- cos(n⃗ , l)] dδ