文档介绍:基于Matlab的光学衍射实验仿真()摘要通过Matlab软件编程,实现对矩孔夫琅和费衍射的计算机仿真,结果表明:该方法直观正确的展示了衍射这一光学现象,操作性强,仿真度高,取得了较好的仿真效果。关键词夫琅和费衍射;Matlab;仿真1引言物理光学是高校物理学专业的必修课,其中,光的衍射既是该门课程的重点内容,也是人们研究的热点。然而由于光学衍射部分公式繁多,规律抽象,学生对相应的光学图像和物理过程的理解有一定的困难,大大影响了教学效果。当然,在实际中可以通过加强实验教学来改善教学效果,但是光学实验对仪器设备和人员掌握的技术水平要求都较高,同时实验中物理现象容易受外界因素的影响,这给光学教学带来了较大的困难1【-5】。随着计算机技术的迅速发展,现代化的教育模式走进了课堂,利用计算机对光学现象进行仿真也成为一种可能。Matlab是一款集数值分析、符号运算、图形处理、系统仿真等功能于一体的科学与工程计算软件,它具有编程效率高、简单易学、人机交互好、可视化功能、拓展性强等优点[6-8],利用Matlab编程仿真光学现象只需改变程序中的参数,就可以生成不同实验条件下的光学图像,使实验效果更为形象逼真。在课堂教学中,能快速的验证实验理论,使学生更直观的理解理论知识,接受科学事实。本文以矩孔夫琅和费衍射为例,介绍了Matlab在光学衍射实验仿真中的应用。2衍射基本原理衍射是光波在空间或物质中传播的基本方式。实际上,光波在传播的过程中,只要光波波面受到某种限制,光波会绕过障碍物偏离直线传播而进入几何阴影,并在屏幕上出现光强分布不均匀的现象,称为光的衍射。根据障碍物到光源和考察点的距离,把衍射现象分为两类:菲涅尔衍射和夫琅和费衍射。研究不同孔径在不同实验条件下的光学衍射特性,对现代光学有重要的意义。如图1所示,衍射规律可用菲涅尔衍射积分表示,其合振幅为[9]:(1)其中,K是孔径平面,E是观察平面,r是衍射孔径平面Q到观察平面P的距离,d是衍射孔径平面O到观察平面P0的距离,cosθ是倾斜因子,k=2π/λ是光波波数,λ是光波波长,x1,y1和x,y分别是孔径平面和观察平面的坐标。由图(1)中可得(2)根据r的不同取值,产生两种不同的衍射,即菲涅尔衍射和夫琅和费衍射。当障碍物到光源和考察点的距离都是无限的情况,式(1)的合振幅分布可进一步表示为:(3)由此衍射积分得到的合振幅分布称为夫琅和费衍射。3仿真过程及结果基于上述原理分析,假设矩孔夫琅和费衍射透镜焦距f=1000mm,光波长λ=500nm,矩形的孔径宽a=1mm,长b=2mm,根据公式(3),通过Matlab编程,则得到相应的仿真结果。矩孔夫琅和费衍射仿真程序如下:focallength=1000;lambda=500;a=;b=;resolution=64;center=(resolution)/2;A=zeros(resolution,resolution);fori=1:1:resolutionforj=1:1:resolutionifabs(i-center)<a*10/2&abs(j-center)<b*10/2A(j,i)=255;endendendE=ones(resolution,resolution);k=2*pi*10000/focallength/lambda;imag=sq