基于MATLAB光学信息处理结果的模拟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主要符号表
λ
入射光的波长 0
r 狭缝到接收屏的距离 a
缝宽(矩形孔的长度) b
矩形孔的宽度 d
缝间距 r
圆孔半径 θ
衍射角 f
透镜的焦距 x
屏上横向坐标 y
屏上纵向坐标 0I
0P 点的光强
I P 点的光强
1 绪论
1.1MATLAB语言用于计算机模拟的优势
有过计算机语言编程经验的人可能都会有这样的体会,当我们进行程序设计时,特别是当程序涉及到矩阵运算或绘图时,程序的编程过程是比较繁琐的,尤其是当我们需要编出一个通用程度较高的程序时就更为麻烦。它不仅要求我们深刻了解所要求解的问题以找到一个可靠性较好的算法,还必须研究各种可能的边界条件,特别是要考虑各种范围的数据大小等。另外,还要熟练掌握所使用的计算机语言。即便如此,所编写出的程序仍有可能会由于这样或那样的原因出错,或得不到满意的结果。因此,对于非计算机专业的科研和教学人员,更渴望有一种能让他们省时省力就能编写出解决专业问题的软件,从而避免资源浪费,提高工作效率。MATLAB就是顺应这一需求产生的,而且从它诞生之日起,就受到用户的欢迎,并且很快在各个领域得到推广。
MATLAB语言是Mathworks公司推出的一套高性能的数值计算可视化软件,它集数值分析、矩阵运算和图形显示于一体,被称为演算纸式的语言,是当今国际上最具活力的软件开发工具包。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形生成及模拟、便捷的与其它程序和语言接口的功能。高质量的图形生成及模拟包括完成2D和3D数据图示、图像处理、动画生成、图形显示等功能的高层MATLAB命令,也包括用户对图形图像等对象进行特性控制的低层MATLAB 命令,以及开发GUI应用程序的各种工具。MATLAB提供了一个人机交互的系统环境,与利用C语言或FORTRAN语言作数值计算的程序设计相比,可以节省大量的
编程时间。通过MATLAB高质量的图形生成及模拟功能对抽象物理现象的细致模拟,使这些过程变得非常直观明了,从而把一些抽象的理论简明化,而且这种方法的实现要比其它的一些仿真软件简单、易行。因为MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台,它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,可以在它的集成环境中交互或编程以完成各自的计算及图形生成与模拟。MATLAB中的Simulink是用来对真实世界的系统建模、模拟和分析的部件,提供了基于MATLAB核心的数值、图形、编程功能的一个块状图界面,对模型进行分析和模拟。通过利用MATLAB的编译器、C/C++数学库和图形库,可以自动地将包含数值计算和图形的MATLAB语言的源程序转换为C/C++的源代码。这些代码根据需要既可以当作子模块嵌入大的应用程序中,也可以作为一个独立的程序脱离环境单独运行。这样把一些复杂的物理现象通过MATLAB模拟出来并生成可执行的程序,可以拿来直接MATLAB使用,这是非常方便的。
MATLAB软件包括基本部分和专业扩展部分。基本部分包括:矩阵的运算和各种变换,代数和超越方程的求解。数据处理和傅立叶边变换,数值积分等等。专业扩展部分称为工具箱。它实际上是用MATLAB的基本语句编成的各种子程序集,用于解决某一方面的专门问题,或实现某一类的新算法。易扩展性是MATLAB 最重要的特点,每一个MATLAB用户都可以成为对其有贡献的人。在MATLAB的发展过程中,许多科学家、数学家、工程人员就用它来开发一些新的、有价值的应用程序,所有的程序完全不需要使用低层代码来编写。通过这些工作,已经发展
起来的工具箱有控制系统、信号处理、图像处理、系统辨识、模糊集合、神经员网络、小波分析等20余个。如果使用MATLAB来开发光学方面的应用程序,在不久的将来,也可能出现专门用来解决光学问题的工具箱。
1.2光学信息处理发展概况
近几十年来,现代光学的最新进展之一是光学信息处理和数字光计算的飞速发展。光学信息处理是以傅立叶分析方法为核心研究光学成像和光学变换的理论和技术。它以光子传递信息,利用光学或光电子器件进行操作运算,用光的折射、干涉和衍射等特性来实现对输入信息的各种变换和处理。光学信息处理是以光子传递信息,以光学或光电子器件进行操作运算,利用光的透射、干涉和衍射等光学现象来实现对输入信息的各种变换或处理.因此,它也是一门基于实验的科学.随着计算机的广泛使用,计算机仿真实验得到了大量研究,各类CAI软件应运而生,给光学信息处理的研究和教学带来极大方便.但笔者在调研中发现,大部分的仿真程序由VB,C和Fortran等高级语言编写.使用这些语言编程,需要编者具有良好的计算机编程能力并花费较多的时间.因此,本文探讨利用Matlab软件实现对光学信息处理实验的计算机仿真方法。在计算机飞速发展的今天,光学信息处理结果的模拟受到越来越多的科研工作者和教育工作者的广泛关注。其应用主要有两个方面:第一是在科学计算方面,利用模拟实验的结果指导实际实验,减少和避免贵重仪器的损伤;第二是在光学教学方面,将抽象难懂的光学概念和规律,由模拟实验过程直观地描述,让学生饶有兴趣的掌握知识。
空间滤波和光学信息处理可以追溯到1873年阿贝提出二次成像理论。阿贝于1893年,波特于1906年为验证这一理论所做的实验,科学地说明了成像质量与系统传递的空间频谱之间的关系。1935年策尼克提出的相衬显微镜是空间滤波技术早期最成功的应用。1946年杜费把光学成像系统看作线性滤波器,成功地用傅立叶方法分析成像过程,发表了《傅立叶变换及其在光学中的应用》的著名论著。50年代,艾里亚斯及其同事的经典论文《光学和通信理论》和《光学处理的傅立叶方法》为光学信息处理提供了有力的数学工具。60年代由于激光的出现和全息术的重大发展,光学信息处理进入了蓬勃发展的新时期。
1.3光学实验模拟研究的意义
在工程设计领域中,人们通过对研究对象建立模型,用计算机程序实现系统的运行过程和得到运算结果,寻找出最优方案,然后再予以物理实现,此即为计算机模拟科学。在计算机日益普及的今天,计算机模拟技术作为虚拟实验手段已经成为计算机应用的一个重要分支。它是继理论分析和物理实验之后,认识客观世界规律性的一种新型手段。计算机模拟过程是以模拟程序的运行来实现的。模拟程序运行时,首先要对描述系统特性的模型设置一定的参数值,并让模型中某些变量在指定的范围内变化,通过计算可以求得这种变量在不断变化的过程中,系统运动的具体情况及结果。模拟程序在运行过程中具有以下多种功能:(1)计算机可以显示出系统运动时的整个过程和在这个过程中所产生的各种现象和状态。具有观测方便,过程可控制等特点;
(2)可减少系统外界条件对实验本身的限制,方便地设置不同的参数,便于研究和发现系统运动的特性;
(3)借助计算机的高速计算能力,可以反复改变输入的实验条件、系统参数、