基于Matlab的光学衍射实验仿真基于Matlab的光学衍射实验仿真.doc

基于Matlab的光学衍射实验仿真基于Matlab的光学衍射实验仿真.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Matlab的光学衍射实验仿真基于Matlab的光学衍射实验仿真

基于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=1.0;b=2.0; resolution=64; center=(resolution)/2; A=zeros(resolution,resolution); for i=1:1:resolution for j=1:1:resolution if abs(i-center)a*10/2abs(j-center)b*10/2 A(j,i)=255; end end end E=ones(resolution,resolution); k=2*pi*10000/focallength/lambda; imag=sqrt(-1); for m=1:1:resolution x=m-center; for n=1:1:resolution y=n-center; C=ones(resolution,resolution); for i=1:1:resolution p=i-center; for j=1:1:resolution q=j-center; C(j,i)=A(j,i)*exp(-imag*k*(x*p+y*q)); end end E(n,m)=sum(C(:)); end end E=abs(E); I=E.^2;I=I.^(1/3); I=I.*255/max(

您可能关注的文档

文档评论(0)

cduutang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档