基于MATLAB光学信息处理结果的模拟

基于MATLAB光学信息处理结果的模拟
基于MATLAB光学信息处理结果的模拟

主要符号表

λ

入射光的波长 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)借助计算机的高速计算能力,可以反复改变输入的实验条件、系统参数、

大大提高实验效率。

因此,计算机模拟具有良好的可控制性(参数可根据需要调整)、无破坏性(不会因为设计上的不合理导致器件的损坏或事故的发生)、可复现性(排除多种随机因素的影响,如温度、湿度等)、易观察性(能够观察某些在实际实验中无法或者难以观察的现象和难以实现的测量,扑捉稍纵即逝的物理现象,可以记录物理过程的每一个细节)和经济性(不需要贵重的仪器设备)等特点。

模拟光学实验也可应用于基础光学教学。光学内容比较抽象,如果借助实验,学生很难理解,如光的干涉、夫琅和费衍射等。一些著名的光学教材配有大量的图片,来形象说明光学中抽象难懂的理论。光学实验一般需要稳定的环境,高精度的仪器,因此在教室里能做的光学实验极为有限,而且也受到授课时间的限制。为了克服光学实验对实验条件要求比较苛刻的缺点,可采用计算机模拟光学实验,特别是光学演示实验,配合理论课的进行,把光学课程涉及的大多数现象展示在学生面前,以加深对光学内容的理解。如光学夫琅和费衍射,初学者不易理解,如果通过光学模拟实验,可以得到其衍射图样和光强曲线分布。可以根据光学原理和规律,设置在模拟光学实验中的可控参数,通过改变这些参数,观察模拟实验结果的变化,加深对光学实验的理解。

1.4本论文的主要工作

本文的主要目的是利用MATLAB软件对光的干涉、衍射和空间滤波等这些比较复杂抽象的光学实验的动态模拟,首先对光学实验过程进行数学抽象,建立适合程序实现的数学模型,然后利用MATLAB软件包中的有关工具编写m文件,通过制作用户图形界面,输入并运行m文件得出光的干涉图样及光强分布曲线图、夫琅和费衍射图样及光强分布曲线和光空间滤波图像。最后通过调整有关输入参数,可以观察到模拟结果的变化。进而加深对光学实验原理概念和图像的理解。从而实现把抽象的光学实验进行简明直观的动态展现。并能完成一般光学实验中较难实现的操作。

2 光的干涉实验模拟

光的干涉实验是当两个或多个光波(光束)在空间叠加时,在叠加区域内出现的各点强度稳定的强弱分布现象。光的干涉是光的波动性的主要标志之一。本章主要讨论使用MATLAB软件模拟最具代表性的单色光双缝干涉实验,给出干涉图样分布和光强分布曲线图。

2.1单色光双缝干涉实验的数学模型

图2.1单色光双缝干涉实验示意图

为简单起见,我们以频率是单值的、振幅不随传播距离变化的单色光为例来建立光的双缝干涉实验的数学模型。单色简谐波可以用余弦函数表示。单色光双缝干涉实验示意图如图2.1所示.设从空间两定点A 、B 发出的两个这样的光波, 振幅的振动用下面的式子来表示:

010101cos()

A t ωψ=+Φ (2.1) 020202cos()A t ωψ=+Φ (2.2)

式子中01Φ和02Φ分别为A 和B 两点振动的初位相,此后当两列光波同时到达空

间另一定点p 时,p 点的振动可以用下式表示:

1

1111cos[(/)]A t r v ωψ=-+Φ (2.3) 2

2222cos[(/)]A t r v ωψ=-+Φ (2.4) 式子中1r =1s p ,22r s p =,1v 和2v 是两光波在1r 和2r 两段路程上的传播速度。两光

波在p 点相遇后,在任何时刻的位相差为3P 。

22110102(//)(r v r v ω?Φ=-+Φ-Φ)

=221101022/()()n r n r πλ-+Φ-Φ (2.5)

式子中λ为真空中的波长,1n 和2n 为介质的折射率,记2211()n r n r η

=-,则在最简单情况下0102Φ=Φ,n=1,此时有(2/)πλ?Φ

=,21(2/)()r r ηπλ=-。从图1可以计算出 221/210[()]2

d

r y r =-+ (2.6) 221/2

20[()]2d

r y r =++ (2.7) 从而能够计算出相位差?Φ的分布。设两束相干光在屏幕上产生的振动的振幅相同,则夹角为α的两个分量叠加后的光强为

204co s (/2)I I α= (2.8)

2.2单色光双缝干涉实验的MATLAB 模拟程序

在建立了单色光双缝干涉实验的数学模型后,依据所建立的数学模型很容易在MATLAB 环境下编写可以直接执行的m 文件。使用用户界面开发环境设计应用程序,应用程序的设计包括两个方面,首先是图形界面的设计,应当考虑到整个图形界面的布局以及控件的使用和布置事件的响应等;其次是功能的设计,通过一定的设计思路和计算方法,完成程序的设计功能。在程序中,输入光的波长表示为bc(即λ),双缝间的宽度表示为fk(即d),光栅到接收屏的距离表示为jl(即

r),则单色光双缝干涉实验的MATLAB模拟程序的m文件如下:

bc=str2double(get(handles.bc_input,'String')); %从界面输入参数

fk=str2double(get(handles.fk_input,'String')); %从界面输入参数

jl=str2double(get(handles.jl_input,'String')); %从界面输入参数

yMax=5*bc*jl/fk;

xs=yMax;

Ny=101;

ys=linspace(-yMax,yMax,Ny);

for i=1:Ny

r1=sqrt((ys(i)-fk/2).^2+jl^2);

r2=sqrt((ys(i)+fk/2).^2+jl^2);

phi=2*pi*(r2-r1)/bc;

B(i,:)=4*cos(phi/2).^2; %计算光强

end

NCLevels=255; %指定调色板

Br=(B/4.0)*NCLevels;

axes(handles.tiaowen1_axes)

image(xs,ys,Br) %显示干涉图样

set(handles.tiaowen1_axes,'XMinorTick','on')

grid on

axes(handles.tiaowen2_axes)

colormap(gray(NCLevels))

plot(B(:),ys) %绘制光强分布曲线

set(handles.tiaowen2_axes,'XMinorTick','on')

grid on

2.3单色光双缝干涉实验的模拟结果与讨论

在程序运行时,从图形界面输入光的波长 ,双缝间的距离d,光栅到接收屏的

距离

r这些参数的不同数值,可以从程序的输出结果观察到单色光双缝干涉实验0

的模拟结果,如图2.2所示

图2.2单色光双缝干涉实验模拟结果图

观察模拟结果可以得到这样的结论:

(1)当一定波长的单色光入射时,干涉条纹的间距大小与

r成正比,而与d成

反比;

(2)当

r,d一定时,干涉条纹的间距大小与光的波长成正比;

(3)要得到清晰、稳定的干涉条纹,相对一定的波长而言,必须使d小到可以

与波长相比拟,且使

r>d;

2.4本章小结

通过利用MATLAB对单色光双缝干涉这一比较复杂、抽象的光学实验的动态模拟实现,我们认为利用MATLAB对抽象物理现象进行计算机模拟时,首先必须对物理过程进行数学抽象,建立适合程序实现的数学模型。然后利用MATLAB 软件包中的有关工具编制m文件,可以通过改变输入参数的数值,进而改变模拟结果。很好地证明了使用MATLAB模拟光学实验是行之有效的。

3光的衍射实验模拟

光波在传播过程中遇到障碍物时,会偏离原来的传播方向弯入障碍物的几何影区内,并在障碍物后的观察屏上呈现出光强的不均匀分布,这种现象称为光的衍射。由于夫琅和费衍射问题的计算比较简单,并且在光学系统的成像理论和现代光学中,夫琅和费衍射有着特别重要的意义,所以本章主要讨论五种衍射屏的夫琅和费衍射。

3.1单缝衍射的模拟

3.1.1单缝衍射实验的数学模型

单缝衍射实验原理图如图3.1所示。

观察屏

图3.1单缝衍射实验示意图

由于这一单缝的b>>a,所以入射光在y方向的衍射效应可以忽略,衍射图样只分布在x轴上。由衍射图样的照片显然可知单缝衍射在x轴上的衍射强度分布公式为

I=2sin (

)U U (3.1) 其中(sin /)u a πθλ=,a 是缝宽,λ是入射光的波长,θ是衍射角,0I 是0p 点的

光强。设观察屏位于单缝后正透镜的焦平面上,f 为透镜的焦距,x 为屏上横向坐标。arctan(/)x f θ=。

3.1.2单缝衍射实验的MATLAB 模拟程序

在建立了单缝衍射实验的数学模型后,依据所建立的数学模型很容易在MATLAB 环境下编写可以直接执行的m 文件。在程序中,输入光的波长表示为bc(即λ),单缝的宽度表示为fk(即a),正透镜的焦距表示为jj(即f),则单色光双缝干涉实验的MATLAB 模拟程序的m 文件如下:

bc=str2double(get(handles.bc_input,'String')); %从界面输入参数

fk=str2double(get(handles.fk_input,'String')); %从界面输入参数

jj=str2double(get(handles.jj_input,'String')); %从界面输入参数

range=20;Np=800; %设置接收屏的范围及点数

xp=linspace(-range,range,Np);yp=xp/2; %确定接收点,坐标存入矩阵xp 、yp for i=1:Np %计算各点光强,存入矩阵I

thr=atan(xp(i)./jj);

phi=(pi*fk*sin(thr))/bc;

I(i,:)=(sin(phi)/phi).^2;

end

NCLevels=255; %指定调色板

Ir=I*NCLevels;

axes(handles.axes1);

image(xp,yp,Ir); %显示衍射图样

set(handles.axes1,'XMinorTick','on');

grid on

axes(handles.axes2);

colormap(gray(NCLevels));

plot(I(:),xp); %绘制光强分布曲线

set(handles.axes2,'XMinorTick','on');

grid on

3.1.3单缝实验的模拟结果与讨论

在程序运行时,从图形界面输入光的波长λ,单缝的宽度a ,透镜的焦距f ,这些参数的不同数值,可以从程序的输出结果观察到单缝衍射实验的模拟结果,如图3.1.2所示。

观察模拟结果可以得到这样的结论:

(1)在观察平面上得到一些与单缝平行的直线衍射条纹,它们是线光源上各个

相干点光源产生的图样的总和;

(2)在单缝衍射中,衍射条纹的间距(相邻两暗纹之间的距离)e x f a λ

=?=?

(3)在单缝衍射图样中,中央亮纹是在公式0x f a λ=?决定的两个暗点范围内,

这一范围集中了单缝衍射的绝大部分能量,在宽度上也是其他条纹宽度的

两倍。

图3.2单缝衍射模拟结果图

3.2双缝衍射的模拟

3.2.1双缝衍射实验的数学模型

在图3.3.1所示的单缝衍射原理图中,将单缝衍射屏换成两个平行等宽狭缝的屏,就变成一个研究双缝衍射的原理图、,如图3.3所示,在衍射屏上所形成的衍射图样就是一些平行于y 轴的亮暗条纹。利用夫琅和费衍射计算公式来计算双缝衍射强度,强度分布公式为 :

220sin ()co s U I I V U = (3.2)

其中sin /U a πθλ=,sin /V d πθλ=,a 是缝宽,d 是双缝的中心间距,

/V U d a =,λ是入射光的波长,θ是衍射角。设观察屏位于双缝后正透镜的焦平面上,f 为透镜的焦距,x 为屏上横向坐标,arctan(/)x f θ=。

图3.3双缝衍射实验示意图

3.2.2双缝衍射实验的MATLAB 模拟程序

在建立了双缝衍射实验的数学模型后,依据所建立的数学模型很容易在MATLAB 环境下编写可以直接执行的m 文件。在程序中,输入光的波长表示为bc(即λ),双缝的宽度表示为fk(即a),双缝的中心间距为fj(即d)正透镜的焦距表

示为jj(即f),则双缝衍射实验的MATLAB模拟程序的m文件如下:

bc=str2double(get(handles.bc_input,'String')); %从界面输入参数

fk=str2double(get(handles.fk_input,'String')); %从界面输入参数

fj=str2double(get(handles.fj_input,'String')); %从界面输入参数

jj=str2double(get(handles.jj_input,'String')); %从界面输入参数

range=20;Np=800;%设置接收屏的范围及点数

xp=linspace(-range,range,Np);yp=xp/2; %确定接收点,坐标存入矩阵xp、yp for i=1:Np %计算各点光强,存入矩阵I thr=atan(xp(i)/jj);

phi=(pi*fk*sin(thr))/bc;

phj=(pi*fj*sin(thr))/bc;

I(i,:)=(sin(phi)/phi).^2*cos(phj).^2;

end

NCLevels=255; %指定调色板

Ir=I*NCLevels;

axes(handles.tuxing1_axes);

image(xp,yp,Ir); %显示衍射图样

set(handles.tuxing1_axes,'XMinorTick','on');

grid on

axes(handles.tuxing2_axes);

colormap(gray(NCLevels));

plot(I(:),xp); %绘制光强分布曲线

set(handles.tuxing2_axes,'XMinorTick','on');

grid on

3.2.3双缝衍射实验的模拟结果与讨论

在程序运行时,从图形界面输入光的波长 ,双缝的宽度a,双缝的中心间距d,透镜的焦距f,这些参数的不同数值,可以从程序的输出结果观察到双缝衍射实验的模拟结果,如图3.4所示。

图3.4双缝衍射模拟结果图

观察模拟结果可以得到这样的结论:

(1)双缝衍射图样是单缝衍射图样和双光束干涉图样的组合,是衍射和干涉

两个因素共同作用的结果;

(2)当双缝的距离比缝宽大得多时,即d>>a 时,单缝衍射中央亮条纹区包含

的干涉条纹数目是很多的,因而条纹的强度随级次增大的衰减缓慢。

3.3 光栅衍射实验的模拟

3.3.1光栅衍射实验的数学模型

光栅衍射原理图如图3.3.1所示,s 是与图面垂直的线光源,位于透镜1L 的焦平面上,G 是缝距为d 的衍射光栅,光栅的方向与线光源平行。光栅的衍射图样在透镜2L 的焦平面上观察。假定光栅的方向是1y 方向,那么光栅衍射图样的

强度分布只沿x 方向变化,衍射条纹是一些平行于y 轴的亮暗条纹。用夫琅和费

衍射公式计算光栅衍射图样的强度分布。衍射光强公式为

220(sin /)(sin /)I I U U N V V = (3.3)

其中sin /U a πθλ=,sin /V d πθλ=,a 是缝宽,d 是双缝的中心间距,

/V U d a =,λ是入射光的波长,θ是衍射角。设观察屏位于双缝后正透镜的焦平面上,f 为透镜的焦距,x 为屏上横向坐标,arctan(/)x f θ=。N 是光栅的狭缝数目。

图3.5光栅衍射实验示意图

3.3.2 光栅衍射实验的MATLAB 模拟程序

在建立了光栅衍射实验的数学模型后,依据所建立的数学模型很容易在MATLAB 环境下编写可以直接执行的m 文件。在程序中,输入光的波长表示为bc(即λ),双缝的宽度表示为fk(即a),双缝的中心间距为fj(即d)正透镜的焦距表示为jj(即f),则光栅衍射实验的MATLAB 模拟程序的m 文件如下:

bc=str2double(get(handles.bc_input,'String')); %从界面输入参数

fk=str2double(get(handles.fk_input,'String')); %从界面输入参数

fj=str2double(get(handles.fj_input,'String')); %从界面输入参数

jj=str2double(get(handles.jj_input,'String')); %从界面输入参数

fs=str2double(get(handles.fs_input,'String')); %从界面输入参数

range=20;Np=800; %设置接收屏的范围及点数

xp=linspace(-range,range,Np);yp=xp/2; %确定接收点,坐标存入矩阵xp 、yp for i=1:Np %计算各点光强,存入矩阵I

thr=atan(xp(i)/jj);

phi=(pi*fk*sin(thr))/bc;

phj=(pi*fj*sin(thr))/bc;

I(i,:)=(sin(phi)./phi).^2*(sin(fs*phj)./sin(phj)).^2;

End

NCLevels=255; %指定调色板

Ir=I*NCLevels;

axes(handles.tuxing1_axes);

image(xp,yp,Ir); %显示衍射图样

set(handles.tuxing1_axes,'XMinorTick','on');

grid on

axes(handles.tuxing2_axes);

colormap(gray(NCLevels));

plot(I(:),xp); %绘制光强分布曲线

set(handles.tuxing2_axes,'XMinorTick','on');

grid on

3.3.3光栅实验的模拟结果与讨论

在程序运行时,从图形界面输入光的波长λ,双缝的宽度a ,双缝的中心间距d ,透镜的焦距f ,光栅的狭缝数目N 这些参数的不同数值,可以从程序的输出结果观察到光栅衍射实验的模拟结果,如图3.6所示。

图3.6光栅衍射模拟结果图

观察模拟结果可以得到这样的结论:

(1)主极大的半角宽度为co s N d λ

θθ?=,表明缝数愈大,主极大的宽度愈小;

(2)次极大的强度与它离开主极大的远近有关,次极大的宽度随N 增大而减

小;

(3)当缝数N 增大时,衍射图样最显著的改变是亮纹变成很细的亮线;

3.4矩孔衍射实验的模拟

3.4.1矩孔衍射实验的数学模型

矩孔衍射实验原理图如图3.7所示,在透镜2L 的后焦面上获得矩孔衍射图

样,衍射亮斑集中分布在互相垂直的x 轴和y 轴上,并且x 轴上亮斑的宽度比y 轴上的亮斑宽度大。利用夫琅和费衍射计算公式计算矩孔衍射图样的强度分布为

220(sin /)(sin /)I I U U V V = (3.4)

其中1sin /U a πθλ=,2sin /V b πθλ=,1arctan x f θ=,2arctan y f θ=,a 、b 分别

是矩孔的长和宽,f 是透镜的焦距, 1θ、2θ是二维衍射角。

图3.7矩孔衍射实验示意图

3.4.2矩孔衍射实验的MATLAB 模拟程序

在建立了矩孔衍射实验的数学模型后,依据所建立的数学模型很容易在MATLAB 环境下编写可以直接执行的m 文件。在程序中,输入光的波长表示为bc(即λ),矩孔的长和宽分别为a 和b ,正透镜的焦距表示为jj(即f),则矩孔衍射实验的MATLAB 模拟程序的m 文件如下:

bc=str2double(get(handles.bc_input,'String')); %从界面输入参数

kc=str2double(get(handles.kc_input,'String')); %从界面输入参数

kk=str2double(get(handles.kk_input,'String')); %从界面输入参数

jj=str2double(get(handles.jj_input,'String')); %从界面输入参数

range=100;Np=200; %设置接收屏的范围及点数

xp=linspace(-range,range,Np);yp=xp; %确定接收点,坐标存入矩阵xp 、yp for x=1:Np

for y=1:Np %计算各点光强,存入矩阵I

thr=atan(xp(i)/jj);

ths=atan(yp(i)/jj);

phi=(pi*kc*sin(thr))/bc;

phj=(pi*kk*sin(ths))/bc;

I(i,:)=(sin(phi)/phi).^2*(sin(phj)/phj).^2;

end

end

NCLevels=255; %制定调色板

Ir=I*NCLevels;

axes(handles.tuxing1_axes);

imshow(Ir,[]); %显示衍射图样

set(handles.tuxing1_axes,'XMinorTick','on');

grid on

axes(handles.tuxing2_axes);

colormap(gray(NCLevels));

mesh(I); %绘制光强分布曲线

set(handles.tuxing2_axes,'XMinorTick','on');

grid on

3.4.3矩孔衍射实验的模拟结果与讨论

在程序运行时,从图形界面输入光的波长λ,矩孔的长和宽分别为a 和b ,透镜的焦距f ,这些参数的不同数值,可以从程序的输出结果观察到矩孔衍射实验的模拟结果,如图3.8所示。

图3.8矩孔衍射模拟结果图

观察模拟结果可以得到这样的结论:

(1)如果矩孔的a 和b 不等,那么沿x 轴和y 轴相邻暗点的间距不同;

(2)衍射扩展与矩孔的宽度成反比,而与光波波长成正比;

(3)当λ<<孔宽时,衍射效应可以忽略,所得结果与几何光学的结果一致。

3.5圆孔衍射实验的模拟

3.5.1圆孔衍射实验的数学模型

圆孔衍射的实验原理图如图3.5.1所示,圆孔的半径为a ,圆孔中心c 位于光轴上。观察屏上衍射条纹呈同心圆环条文分布。利用夫琅和费衍射计算公式计算圆孔衍射图样的强度分布为:

2

02()[J Z I I Z = (3.5) 其中,1J 是一阶贝塞尔函数,MATLAB 有相应的库函数besselj (1,Z )可供调用,

Z=2sin /a πθλ,a 是圆孔的半径,对于屏上衍射场点(x ,y ),有221/2arctan[()]/x y f θ=+。

图3.9圆孔衍射实验示意图

3.5.2圆孔衍射实验的MATLAB模拟程序

在建立了圆孔衍射实验的数学模型后,依据所建立的数学模型很容易在MATLAB环境下编写可以直接执行的m文件。在程序中,输入光的波长表示为bc(即λ),圆孔的半径为bj(即a)正透镜的焦距表示为jj(即f),则圆孔衍射实验的MATLAB模拟程序的m文件如下:

bc=str2double(get(handles.bc_input,'String')); %从界面输入参数

bj=str2double(get(handles.bj_input,'String')); %从界面输入参数

jj=str2double(get(handles.jj_input,'String')); %从界面输入参数

range=200;Np=200; %设置接收屏的范围及点数

xp=linspace(-range,range,Np);yp=xp; %确定接收点,坐标存入矩阵xp、yp for x=1:Np %计算各点光强,存入矩阵I(x,y)for y=1:Np

phi=atan(sqrt(xp(x)^2+yp(y)^2)/jj);

Z=2*pi*bj*sin(phi)/bc;

I(x,y)=(2*besselj(1,Z)/Z)^2;

end

end

NCLevels=255; %指定调色板

Ir=I*NCLevels;

axes(handles.tuxing1_axes);

imshow(Ir,[]); %显示衍射图样

set(handles.tuxing1_axes,'XMinorTick','on');

grid on

axes(handles.tuxing2_axes);

colormap(gray(NCLevels));

mesh(Ir); %绘制光强分布曲线

set(handles.tuxing2_axes,'XMinorTick','on');

grid on

3.5.3圆孔衍射实验的模拟结果与讨论

在程序运行时,从图形界面输入光的波长λ,圆孔的半径a,透镜的焦距f 这些参数的不同数值,可以从程序的输出结果观察到圆孔衍射实验的模拟结果,如图3.5.2所示。

图3.10 圆孔衍射模拟结果图

观察模拟结果可以得到这样的结论:

(1)光强度与半径a有关,a相等处的光强相同,所以衍射图样是圆环条纹;

(2)在圆环衍射图样中,光能绝大部分集中在中央亮斑内。衍射图样大小与

圆孔半径成反比,而与光波波长成正比;

3.6本章小结

本文讨论了利用计算机及MATLAB和费衍射实验的两种方法,这两种方法各有其特点.直接利用衍射强度公式计算出衍射图样的仿真方法,可以得到衍射强度分布与光路中各可调参数的关系,所获得的仿真结果能够随参数的改变而相应变化,但这种方法难以对振幅透射系数较为复杂的衍射屏进行仿真处理.采用对输入图像直接进行傅里叶变换的方法,对孔径衍射屏的形状没有特殊要求,原则上适用于任意形状的衍射屏,并且模拟处理过程的物理意义更明确,因而是一种有效可行的模拟方法.

4 光空间滤波实验的模拟

空间滤波的目的是通过有意识地改变像的频谱,使像产生所希望变换。光学信息处理是一个更为宽广的领域,它主要是用光学方法实现对输入信息的各种变换和处理。根据阿贝成像原理,相干光学成像过程可分为两步:第一步称为分频过程,即从物平面到光源的共轭像平面或曰频谱面,由输入的物作为衍射屏对照射光波产生夫琅和费衍射;第二步称为合频或频谱综合过程,即从频谱面到输入物的共轭像平面,被分解的频谱成分经进一步的衍射后再次叠加形成输入物的共轭像.按照傅里叶变换理论, 两步成像过程实际上是光学系统对携带输入物信息的二维光场的复振幅分布进行的两次傅里叶变换过程.

4.1波特网格实验的模拟

4.1.1阿贝成像理论及系统模型

阿贝成像理论不仅用傅立叶变换阐述了显微镜成像的机理,更重要的是首次

引入频谱的概念,启发人们用改造频谱的手段来改造信息。阿贝-波特实验是对阿贝成像原理最好的严整和演示。这项实验的一般做法如图4.1所示,用平行相干光束照明一张细丝网格,在成像透镜的后焦面上出现周期性网格的傅立叶频谱,由于这些傅立叶频谱分量的再组合,从而在像平面上再现网格的像。若把各种遮挡物(如光圈、狭缝、小光屏)放在频谱平面上,就能以不同方式改变像的频谱,从而在像平面上得到由改变后的频谱分量重新组合得到的对应的像。

图4.1阿贝-波特实验示意图

4.1.2阿贝-波特网格实验的MATLAB模拟程序

根据阿贝-波特网格实验的原理图,编写MATLAB模拟程序的m文件如下:

A=zeros(400,400); %零矩阵

for i=1:20

A(20*i-9:20*i,:)=1;

A(:,20*i-9:20*i)=1;

end

axes(handles.axes1);

imshow(A,[0 1]); %显示网格图

set(handles.axes1,'XMinorTick','on');

B=1-A;

C=zeros(400,400)

C(195:205,:)=1;

%C(:,190:200)=1;

%end

axes(handles.axes2);

imshow(C,[0,1]); %显示滤波器

set(handles.axes2,'XMinorTick','on');

B=fft2(B); %对矩阵B进行二维傅里叶变换

D1=B.*C;

D=ifft2(D1); %对矩阵D1进行二维逆傅里叶变换

axes(handles.axes3);

imshow(D,[]); %显示输出图像

set(handles.axes3,'XMinorTick','on');

4.1.3阿贝-波特网格实验的模拟结果与讨论

程序运行后,可以从程序的输出结果观察到阿贝-波特网格实验的模拟结果,

如图4.2所示。

观察模拟结果可以得到这样的结论:

(1)使用一条水平狭缝滤波时透过的频谱只包括网格的垂直结构;

(2)使用一条垂直狭缝滤波时透过的频谱只包括网格的水平结构;

(3)这些实验以其简单的装置十分明确地演示了阿贝成像原理,对空间滤波

的作用给出了直观的说明,为光学信息处理的结果奠定了基础。

图4. 2阿贝-波特网格实验模拟结果图

4.2一维黑白光栅空间滤波实验的模拟

4.2.1一维光栅滤波的系统模型

以一维光栅为例,用傅立叶分析的手段讨论空间滤波过程,以便更彻底地了解改变系统透射频谱对像结构的影响。为简明起见,采用最典型的相干滤波系

统,通常称为4f系统,如图4.3所示。图中:

L是准直透镜;2L和3L为傅立叶

1

变换透镜,焦距均为f;

P、2P和3P分别是物面、频谱面和像面,并且3P平面采

1

用反演坐标系。

图4.3一维黑白光栅滤波实验示意图

4.2.2一维光栅空间滤波实验的MATLAB模拟程序

根据4f系统结构图编写MATLAB模拟程序的m文件如下:

A=zeros(400,400); %零矩阵

for i=1:20

%A(20*i-9:20*i,:)=1;

A(:,20*i-9:20*i)=1;

End

axes(handles.axes1);

imshow(A,[0 1]); %显示一维黑白光栅

set(handles.axes1,'XMinorTick','on');

B=1-A;

C=zeros(400,400)

%C(195:205,:)=1;

C(:,190:200)=1;

axes(handles.axes2);

imshow(C,[0 1]); %显示滤波器

set(handles.axes2,'XMinorTick','on');

B=fft2(B); %对矩阵B进行二维傅里叶变换

D1=B.*C;

D=ifft2(D1); %对矩阵D1进行二维逆傅里叶变换

axes(handles.axes3);

imshow(D,[]); %显示输出图像

set(handles.axes3,'XMinorTick','on');

4.2.3一维光栅空间滤波实验的模拟结果与讨论

程序运行后,可以从程序的输出结果观察到一维黑白光栅空间滤波实验的模拟结果,如图4.4所示。

图4.4一维黑白光栅空间滤波模拟结果图

观察模拟结果可以得到这样的结论:

(1)水平光栅经过水平狭缝滤波器后,在像平面上形成对应于物体的水平像;

(2)竖直光栅经过竖直狭缝滤波器后,在像平面上形成对应于物体的竖直像;

4.3本章小结

本章提出了一种光学空间滤波实验过程的计算机模拟的新方法,用MATLAB 软件实现了对输入图像的低通滤波借助傅里叶光学理论,我们可以通过分析光学信息处理过程而建立数学模型,经过.数值计算模拟光学信息处理.根据实际需要制作不同的空间滤波器就可达到不同的光学信息处理效果。由于可以根据需要改

变滤波器的参量,因此克服了光学实验上难以实现的复杂操作,给光学滤波器的设计和图像的处理带来方便,同时也为光学信息处理的CAI教学课件的编写提供了数学模型和编程思路。

5结论与展望

随着计算机运算能力的飞速发展,计算机模拟技术作为虚拟实验的手段已经成为计算机应用的一个重要分支。无论是在科学研究与工程计算领域,计算机模拟技术正受到越来越多的科学工作者的青睐。在光学领域里,计算机模拟技术也在发挥着愈来愈重要的作用。特别是在光学教学过程中,对光学现象的理解离不开光学实验。采用计算机模拟技术对其进行模拟,得到满足各种条件的光学实验结果图像,有助于学生在学习过程中建立清晰正确的概念。

本文在模拟实验的基础上较详细的探讨了利用MATLAB进行光学实验模拟的理论及方法,并对基础光学与近代光学中的若干经典实验进行了计算机模拟。本文完成了以下内容:

(1)在光的干涉理论的基础上,详细讨论了模拟光的干涉实验的算法和程序实现。具体详细地分析了双缝干涉实验,并对其进行MATLAB模拟,得到的模拟结果与理论的符合正验证了模拟方法的正确性;

(2)根据夫琅和费衍射的原理及实验装置建立模拟实验的数学模型,在此基础上给出编写模拟程序的方法和要点。分别得到几种衍射屏(单缝、双缝、光栅、矩孔、圆孔)的夫琅和费衍射模拟实验结果,模拟结果与理论分析和真实实验结果一致,表明这种模拟是真实可靠的。模拟实验的特点是:通过改变实验参数,可以观察和分析不同实验条件下所产生衍射条纹的光强分布和衍射图样,充分展示了夫琅和费衍射的原理和特点。

(3)在阿贝成像理论和光学空间滤波原理的上,分析给出了阿贝-波特网格实验和一维黑白光栅通过狭缝低通滤波后的实验结果,从输入图像的获得、滤波器的制作、傅里叶变换的实现等几个方面讨论实现空间滤波实验的模拟方法。实现了一维黑白光栅的空间滤波和网格输入物的空间滤波模拟实验。

由于制作光学信息处理模拟实验系统的工作量较大,加上时间的仓促和个人水平的局限,目前初步制作的系统无论是从界面的设计、功能的实现到某些实验的模拟上都存在不完善之处,有待后续工作中加以改进。我们相信,借助多种计算机模拟技术,光学信息处理模拟实验系统的功能会越来越完善。它将给研究人员提供一个良好的虚拟实验环境,使之能直接参与模拟实验操作,在分析中随时改动参数值,便于理论研究和分析,在硬件实现之前进行性能评估和可行性论证,节约时间和经费。此外,它具有直观、形象、交互性良好的特点,能为初学者提供理想的培训手段,有助于光学信息处理的原理和概念的理解和掌握。

基于Matlab的光学衍射仿真

基于Matlab的光学衍射实验仿真 摘要 光学试验中衍射实验是非常重要的实验. 光的衍射是指光在传播过程中遇到障碍物时能够绕过障碍物的边缘前进的现象, 光的衍射现象为光的波动说提供了有力的证据. 衍射系统一般有光源、衍射屏和接受屏组成, 按照它们相互距离的大小可将衍射分为两大类, 一类是衍射屏与光源和接受屏的距离都是无穷远时的衍射, 称为夫琅禾费衍射, 一类是衍射屏与光源或接受屏的距离为有限远时的衍射称为菲涅尔衍射。 本文用Matlab软件对典型的衍射现象建立了数学模型,对衍射光强分布进行了编程运算,对衍射实验进行了仿真。最后创建了交互式GUI界面,用户可以通过改变输入参数模拟不同条件下的衍射条纹。 本文对于衍射概念、区别、原理及光强分布编程做了详细全面的介绍 关键字:Matlab;衍射;仿真;GUI界面;光学实验

Matlab-based Simulation of Optical Diffraction Experiment Abstract Optical diffraction experiment is a very important experiment. is the diffraction of light propagation of light in the obstacles encountered in the process to bypass the obstacles when the forward edge of the phenomenon of light diffraction phenomenon of the wave theory of light provides a strong Evidence. diffraction systems generally have light, diffraction screen and accept the screen composition, size according to their distance from each other diffraction can be divided into two categories, one is the diffraction screen and the light source and the receiving screen is infinity when the distance between the diffraction Known as Fraunhofer diffraction, one is diffraction screen and the light source or accept a limited away from the screen when the diffraction is called Fresnel diffraction. In this paper, Matlab software on a typical phenomenon of a mathematical model of diffraction, the diffraction intensity distribution of the programming operation, the diffraction experiment is simulated. Finally, create an interactive GUI interface, users can change the input parameters to simulate different conditions of the diffraction pattern. This concept of the diffraction, difference, intensity distribution of programming principles and a detailed comprehensive description Key word: matlab;diffraction; simulation; gui interface; optical experiment

基于matlab干涉系统仿真_

《工程光学》综合性练习一题目:基于matlab的干涉系统仿真 学院精密仪器与光电子工程学院 专业测控技术与仪器

综合练习大作业一 一、要求 3-4人组成小组,对下面给出的各题目利用Matlab等工具进行仿真。 二、仿真题目 1、对于杨氏双缝干涉,改变双缝的缝宽和缝间距,观察干涉图样变化 ①原理图 图中参数 光线波长:lam=500纳米; 双缝距离:d=0.1毫米;(可调) 双缝距接收屏距离:D=1米; 接收屏范围:xs:-0.005~0.005 ys:-0.005~0.005 光源振幅:AI=A2=1; (单位振幅,可调) ②matlab代码: clear; lam=500e-9; %设定波长lam(500纳米) d=0.5e-3; %设定两缝之间距离d(0.5毫米) D=1; %双缝到接收屏距离D(1米) A1=1; %初始两光源均为单位振幅 A2=1; xm=0.005; ym=xm; %接受屏的范围ym,xm(0.01*0.01矩形) n=1001; xs=linspace(-xm,xm,n); %用线性采样法生成两个一位数组xs,ys %(n为总点数) ys=linspace(-ym,ym,n); L1=sqrt((xs-d/2).^2+ys.^2+D^2);%光屏上点(xs,ys)距光源1距离r1 L2=sqrt((xs+d/2).^2+ys.^2+D^2);%光屏上点(xs,ys)距光源2距离r2 E1=A1./sqrt(L1).*exp(1i*L1*2*pi/lam);%光源1在接受屏上复振幅E1 E2=A2./sqrt(L2).*exp(1i*L2*2*pi/lam);%光源2在接受屏上复振幅E2 E=E1+E2; %复振幅叠加为合成振幅E

Matlab在光学信息处理仿真实验中的应用

收稿日期:2004202213 基金项目:佛山科学技术学院校级科研课题经费资助 作者简介:谢嘉宁(1971-),女,广东潮州人,佛山科学技术学院物理系讲师,光学工程硕士,主要从事光学实验教学与 光信息处理的研究. Matlab 在光学信息处理仿真实验中的应用 谢嘉宁1,陈伟成1,赵建林2,陈国杰1,张潞英1 (1.佛山科学技术学院物理系,广东佛山528000;2.西北工业大学应用物理系,陕西西安710072) 摘 要:提出了一种利用计算机并通过Matlab 软件仿真光学信息处理实验的方法,其特点是可以随意改变物理参量,克服了光学实验上难以实现的操作.文中分别给出了光栅衍射、空间滤波、图像边缘增强、相关识别等实验的部分仿真结果. 关键词:Matlab ;计算机仿真;CAI 中图分类号:O4239 文献标识码:A 文章编号:100524642(2004)0620023203 1 引 言 光学信息处理是以光子传递信息,以光学或光电子器件进行操作运算,利用光的透射、干涉和衍射等光学现象来实现对输入信息的各种变换或处理.因此,它也是一门基于实验的科学.随着计算机的广泛使用,计算机仿真实验得到了大量研究,各类CA I 软件应运而生,给光学信息处理的研究和教学带来极大方便.但笔者在调研中发现,大部分的仿真程序由VB ,C 和Fortran 等高级语言编写[1~3].使用这些语言编程,需要编者具有良好的计算机编程能力并花费较多的时间.因此,本文探讨利用Matlab 软件实现对光学信息处理实验的计算机仿真方法. Matlab 作为科学计算软件,主要适用于矩阵 运算和信息处理领域的分析设计,它使用方便、输入简捷,运算高效、内容丰富,并且有大量的函数库可供使用[4].与Basic ,C 和Fortran 相比,用Matlab 编写程序,其问题的提出和解决只需以数 学方式表达和描述,不需要大量繁琐的编程过程,因此特别适合工程计算和教学软件的编写.本仿真实验系统实现了多种衍射屏的夫琅和费衍射、空间滤波、图像边缘增强、相关识别等实验的仿真.2 仿真系统的总体设计 本系统采用Matlab5.3编写,在Pentium 以上个人计算机上、Matlab 环境下运行.为了方便 用户使用,本系统的实验项目模块设置如图1所示.主界面的程序为O IP000.m ,界面如图2所 示.四大系统子模块是该窗体的子窗体模块,分别为O IP1.m ,O IP2.m ,O IP3.m 和O IP4.m ,通过单击主界面上相应的按钮即可启动相应的子窗体,在每一级子窗体界面上有相关的参量选择和操作 . 图1 系统模块功能图 图2 仿真实验系统主界面 第24卷 第6期 2004年6月 物 理 实 验 PH YSICS EXPERIM EN TA TION Vol.24 No.6  J un.,2004

基于MATLAB光学信息处理结果的模拟

主要符号表 λ 入射光的波长 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的发展过程中,许多科学家、数学家、工程人员就用它来开发一些新的、有价值的应用程序,所有的程序完全不需要使用低层代码来编写。通过这些工作,已经发展

基于MATLAB的物理光学实验仿真平台构建

毕业设计(论文)开题报告题目:基于Matlab的物理光学实验仿真平台构建 院(系)光电工程学院 专业光信息科学与技术 班级120110 姓名闫武娟 学号120110127 导师刘王云 年月日

开题报告填写要求 1.开题报告作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一。 此报告应在指导教师指导下,由学生在毕业设计(论文)工作前期内完成。2.开题报告内容必须按教务处统一设计的电子文档标准格式(可从教务处网页上下载)填写并打印(禁止打印在其它纸上后剪贴),完成后应及时交给指导教师审阅。3.开题报告字数应在1500字以上,参考文献应不少于15篇(不包括辞典、手册,其中外文文献至少3篇),文中引用参考文献处应标出文献序号,“参考文献”应按附件中《参考文献“注释格式”》的要求书写。 4.年、月、日的日期一律用阿拉伯数字书写,例:“2005年11月26日”。

这些仿真平台的使用不仅方便了教学,而且也使学生更容易理解物理光实验的基本原理,加深对理论知识的理解与记忆。 2.课题研究的主要内容和拟采用的研究方案、研究方法 2.1课题研究的主要内容 (1). 在光的干涉基本理论基础上,实现两束平面波、球面波的干涉实验,杨氏双缝和杨氏双孔干涉实验,平行平板的等倾干涉实验,楔形平板的等厚干涉实验,牛顿环干涉实验,迈克尔逊干涉实验以及平行平板的多光束干涉实验。 (2). 在菲涅尔衍射及夫琅和费衍射基本理论基础上,实现矩孔、单缝、圆孔、双缝、多缝、平面光栅及闪耀光栅的衍射实验。 2.2 研究方法及方案 物理光学实验可分为两大类:干涉与衍射。光的干涉有光源、干涉装置和干涉图形三个基本要素;衍射分为菲涅尔衍射和夫琅禾费衍射。光学领域的大部分图像及曲线分布都可以用MATLAB 软件加以计算和实现[16], 以杨氏双缝干涉为例,简述实验方案 杨氏双缝干涉模型是典型的分波面干涉,其干涉装置图如图所示,用一个单缝与一个双缝,从同一波面上分出两个同相位的单色光,进而获得相干光源并观察分析干涉图样。 图1.1杨氏双缝干涉实验装置图 2.2.1数学建模 根据干涉的基本原理,点光源S 发出的光波经双缝分解为次波源S 1、S 2,这两个次波源发出的光波在空间相干叠加,继而在其后的接收屏形成一系列明暗相间的干涉条纹。 设入射光波波长为λ,两个次波源的强度相同,且间距为d (1)位相差的计算: 221)2 (y d x r ++ =222)2 - (y d x r +=(2.1) )(*12r r n -=?(2.2)

工程光学matlab仿真设计

工程光学仿真实验报告 1、氏双缝干涉实验 (1)氏干涉模型 氏双缝干涉实验装置如图1所示: S 发出的光 波射到光屏上的两个小孔S1 和S2 , S1 和S2 相 距很近,且到S 等距;从S1 和S2 分别发散出的光 波是由同一光波分出来的,所以是相干光波,它们在距离光屏为D 的屏幕上叠加,形成一定的干涉图 样。 图1.1 氏双缝干涉 假设S 是单色点光源,考察屏幕上某一点P ,从S1 和S2 发出的光波在该点叠加 产生的光强度为: I = I1 + I2 + 2 I1 I2 cos δ (1-1) 式中, I1 和I2 分别是两光波在屏幕上的光强度, 若实验装置中S1 和S2 两个缝 大小相等, 则有 I1 = I2 =I0 (1-2) δ= 2π(r2 - r1)/λ(1-3) (1-3) 2221)2/(D y d x r +++= (1-4) 2222)2/(D y d x r ++-= (1-5) 可得 xd r r 22 122=- (1-6) 因此光程差:12r r -=? (1-7) 则可以得到条纹的强度变化规律- 强度分布公式: ]/)([cos 1220λπd r r I I -= (1-8) (2)仿真程序 clear; Lambda=650; %设定波长,以Lambda 表示波长 Lambda=Lambda*1e-9; d=input('输入两个缝的间距 )'); %设定两缝之间的距离,以d 表示两缝之间距离 d=d*0.001; Z=0.5; %设定从缝到屏幕之间的距离,用Z 表示

yMax=5*Lambda*Z/d;xs=yMax; %设定y方向和x方向的围 Ny=101;ys=linspace(-yMax,yMax,Ny);%产生一个一维数组ys,Ny是此次采样总点数 %采样的围从- ymax到ymax,采样的数组命名为ys %此数组装的是屏幕上的采样点的纵坐标 for i=1:Ny %对屏幕上的全部点进行循环计算,则要进行Ny次计算L1=sqrt((ys(i)-d/2).^2+Z^2); L2=sqrt((ys(i)+d/2).^2+Z^2); %屏上没一点到双缝的距离L1和L2 Phi=2*pi*(L2-L1)/Lambda; %计算相位差 B(i,:)=4*cos(Phi/2).^2; %建立一个二维数组,用来装该点的光强的值 end%结束循环 NCLevels=255; %确定使用的灰度等级为255级 Br=(B/4.0)*NCLevels; %定标:使最大光强(4. 0)对应于最大灰度级(白色) subplot(1,4,1),image(xs,ys,Br); %用subplot创建和控制多坐标轴 colormap(gray(NCLevels)); %用灰度级颜色图设置色图和明暗 subplot(1,4,2),plot(B(:),ys); %把当前窗口对象分成2块矩形区域 %在第2块区域创建新的坐标轴 %把这个坐标轴设定为当前坐标轴 %然后绘制以( b (: ) , ys)为坐标相连的线title('氏双缝干涉'); (3)仿真图样及分析 a)双缝间距2mm b)双缝间距4mm

利用MATLAB模拟光学简单空间滤波系统

利用MATLAB 模拟光学简单空间滤波系统 摘要:阿贝成像原理是第一步在透镜的后焦面上得到物的空间频谱分布,第二步成像则是合频的过程,实则是两次傅立叶变换。利用阿贝-波特实验装置和空间滤波系统,可以对一幅光学图像进行光学信息处理。通过MATLAB 环境编写程序完成阿贝-波特实验和空间滤波的物理模型的构建并进行计算机模拟。 关键词:MATLAB ;阿贝成像原理;空间滤波;计算机模拟 引言: 早在1873年,阿贝(E .Abbe,1840—1905)在德国蔡司光学器械公司研究如何提高显微镜的分辨本领问题时,就认识到相干成像的原理。空间滤波的主要目的是通过有意识地改变像的频谱,使像实现所希望的变化。光学信息处理是一个更为广阔的领域,它是基于光学频谱分析,利用傅里叶综合技术,通过空域或频域调制,借助空间滤波技术对光学信息进行处理的过程。阿贝提出的二次成像理论和20世纪初的阿贝—波特实验,已经为光学信息处理打下了一定的理论基础。 在阿贝成像理论的教学中,单纯依靠数学推演来讲解,效果不好,特别是空间频率、空间滤波等概念的形成有一定的困难。虽然可以通过演示阿贝- 波特实验来加强教学效果,但由于在普通教室难以完成演示实验,在实验室又受仪器、场地等方面的限制,实验现象不太理想。为此,我们设计出计算机模拟实验, 获得较好的模拟效果。在学习了解了阿贝成像原理的基础上,我们可以通过MATLAB 完成对阿贝-波特实验和空间滤波系统的计算机模拟,观察各种物体的空间频谱分布,设计各种不同的空间滤波器。 1.阿贝成像原理 在相干平行光照明下,显微镜的物镜成像可以分成两步:第一步即分频过程,由入射光经过物平面1P 发生衍射在物镜的后焦面2P 上形成夫琅禾费衍射图样;第二步称为合频或频谱综合过程,衍射图样作为新的子波源发出的球面波在像平面上相干叠加成像。相干光的成像过程本质上是两次傅立叶变换,第一次是将光场空间分布变成频率分布,第二次则是傅立叶逆变换,即将各频谱分量复合为像。如下图所示,为阿贝成像原理图。 L

圆孔矩孔的菲涅尔衍射模拟(matlab实现)-工程光学(20200607000913)

工程光学综合练习-----圆孔、矩孔的菲涅尔衍射模拟

圆孔和矩孔的菲涅尔衍射模拟 一、原理 由惠更斯-菲涅尔原理可知接收屏上的P点的复振幅可以表示为 其中为衍射屏上的复振幅分布, 为倾斜因子。根据基尔霍夫对此公式的 完善,有 设衍射屏上点的坐标为(x1, y1),接收屏上点的坐标为(x, y),衍射屏与接收屏间距离为z1,当满足菲涅尔近似条件时,即 此时可得到菲涅尔衍射的计算公式 把上式指数项中的二次项展开,并改写成傅里叶变换的形式,可以写成上式为菲涅尔衍射的傅里叶变换表达式,它表明除了积分号前面的一个与 x1、y1无关的振幅和相位因子外,菲涅尔衍射的复振幅分布是孔径平面的复振 幅分布和一个二次相位因子乘积的傅里叶变换。 相对于夫琅和费衍射而言,菲涅尔衍射的观察屏距衍射屏不太远。在菲涅尔衍射中,输入变量和输出变量分别为衍射孔径平面的光场分布和观察平面的光场 以及光强分布,考虑到这三个量都是二维分布,而且Matlab主要应用于矩阵数值运算,所以本程序选择用二维矩阵来存储衍射孔径平面和观察平面的场分布,并分别以矩阵的列数和行数来对应平面的直角坐标值(x, y)以及(x1, y1)。 二、圆孔菲涅尔衍射 用MATLAB分别构造表示衍射屏和接收屏的二维矩阵。注意使两矩阵阶次相同,考虑到运算量的要求,采样点数不能过多,所以每个屏的x和y方向各取200到300点进行运算。根据式(4),选取合适的衍射屏和接收屏尺寸和相距的

距离,模拟结果如下: 取典型的He-Ne激光器波长=632.8nm,固定衍射屏和接收屏尺寸和相距的 距离,分别取不同的圆孔半径,得到以下三组衍射图样,其圆孔半径分别为12mm,20mm,50mm 图 1(r=12mm) 图 2(r=20mm)

信息光学matlab仿真

%圆孔的夫琅禾费衍射: N=512; r=3; %衍射圆孔的半径 I=zeros(N,N); [m,n]=meshgrid(linspace(-N/16,N/16-1,N)); D=(m.^2+n.^2).^(1/2); I(find(D<=r))=1; subplot(1,2,1),imshow(I); title('生成的衍射圆孔'); % 夫琅禾费衍射的实现过程 L=500; [X,Y]=meshgrid(linspace(-L/2,L/2,N)); lamda_1=630; % 输入衍射波长; lamda=lamda_1/1e6 k=2*pi/lamda; z=1000000; % 衍射屏距离衍射孔的距离h=exp(1j*k*z)*exp((1j*k*(X.^2+Y.^2))/(2*z))/(1j*lamda*z);%脉冲相应 H =fftshift(fft2(h)); %传递函数 B=fftshift(fft2(I)); %孔径频谱 G=fftshift(ifft2(H.*B)); subplot(1,2,2),imshow(log(1+abs(G)),[]); title('衍射后的图样'); figure meshz(X,Y,abs(G)); title('夫琅禾费衍射强度分布')

%单缝的夫琅禾费衍射: N=512; a=25; % 单缝的宽度 b=1000;% 单缝的长度 I=zeros(N,N); [m,n]=meshgrid(linspace(-N/4,N/4,N)); I(-a

工程光学matlab仿真

工程光学仿真实验报告1、杨氏双缝干涉实验 (1)杨氏干涉模型 屏 图 , 0(1-8) 2 1 (2)仿真程序 clear; Lambda=650; %设定波长,以Lambda表示波长 Lambda=Lambda*1e-9; d=input('输入两个缝的间距 )'); %设定两缝之间的距离,以d表示两缝之间距离 d=d*0.001; Z=0.5; %设定从缝到屏幕之间的距离,用Z表示 yMax=5*Lambda*Z/d;xs=yMax; %设定y方向和x方向的范围

Ny=101;ys=linspace(-yMax,yMax,Ny);%产生一个一维数组ys,Ny 是此次采样总点数 %采样的范围从- ymax 到ymax,采样的数组命名为ys %此数组装的是屏幕上的采样点的纵坐标 for i=1:Ny %对屏幕上的全部点进行循环计算,则要进行Ny 次计算 L1=sqrt((ys(i)-d/2).^2+Z^2); L2=sqrt((ys(i)+d/2).^2+Z^2); %屏上没一点到双缝的距离L1和L2 Phi=2*pi*(L2-L1)/Lambda; %计算相位差 B(i,:)=4*cos(Phi/2).^2; %建立一个二维数组,用来装该点的光强的值 end %结束循环 NCLevels=255; %确定使用的灰度等级为255级 Br=(B/4.0)*NCLevels; %定标:使最大光强(4. 0)对应于最大灰度级(白色) subplot(1,4,1),image(xs,ys,Br); %用subplot 创建和控制多坐标轴 colormap(gray(NCLevels)); %用灰度级颜色图设置色图和明暗 subplot(1,4,2),plot(B(:),ys); %把当前窗口对象分成2块矩形区域 %在第2块区域创建新的坐标轴 %把这个坐标轴设定为当前坐标轴 %然后绘制以( b (: ) , ys)为坐标相连的线 title('杨氏双缝干涉'); (3)仿真图样及分析 a)双缝间距2mm b)双缝间距4mm c)双缝间距6mm d)双缝间距8mm 图1.2改变双缝间距的条纹变化 由上面四幅图可以看出,随着双缝之间的距离增大,条纹边缘坐标减小,也就是条纹 间距减小,和理论公式d D e /λ=推导一致。如果增大双缝的缝宽,会使光强I 增加,能够 看到条纹变亮。 二、杨氏双孔干涉实验 1、杨氏双孔干涉 杨氏双孔干涉实验是两个点光源干涉实 验的典型代表。如图2所示。当光穿过这两个 离得很近小孔后在空间叠加后发生干涉, 并 在像屏上呈现出清晰的明暗相间的条纹。 由 于双孔发出的波是两组同频率同相位的球面 波, 故在双孔屏的光射空间会发生干涉。 于是, 在图2中两屏之间的空间里, 如果一点P 处于 两相干的球面波同时到达 波 峰 (或波谷)的位置, 叠加后振幅达到最高, 图2.1 杨氏双孔干涉 表现为干涉波的亮点; 反之, 当P 处处于一个球面波的波峰以及另一个球面波的波谷时候, 叠加后振幅为零,变现是暗纹。

Matlab数字衍射光学实验讲义(一)

实验注意事项(必读) 1.没有弄清楚实验内容者,禁止接触实验仪器。 2.注意激光安全。绝对不可用眼直视激光束,或借助有聚光性的光学组件观察激光束,以免损伤眼睛。 3.注意用电安全。He-Ne激光器电源有高压输出,严禁接触电源输出和激光头的输入端,避免触电。 4.注意保持卫生。严禁用手或其他物品接触所有光学元件(透镜、反射镜、分光镜等)的光学表面;特别是 在调整光路中,要避免手指碰到光学表面。 5.光学支架上的调整螺丝,只可微量调整。过度的调整,不仅损坏器材,且使防震功能大减。 6.实验完成后,将实验所用仪器摆放整齐,清理一下卫生。

Matlab数字衍射光学实验一 计算机仿真过程是以仿真程序的运行来实现的。仿真程序运行时,首先要对描述系统特性的模型设置一定的参数值,并让模型中的某些变量在指定的范围内变化,通过计算可以求得这种变量在不断变化的过程中,系统运动的具体情况及结果。仿真程序在运行过程中具有以下多种功能: 1)计算机可以显示出系统运动时的整个过程和在这个过程中所产生的各种现象和状态。具有观测方便,过程可控制等优点; 2)可减少系统外界条件对实验本身的限制,方便地设置不同的系统参数,便于研究和发现系统运动的特性; 3)借助计算机的高速运算能力,可以反复改变输入的实验条件、系统参数,大大提高实验效率。因此.计算机仿真具有良好的可控制性(参数可根据需要调整)、无破坏性(不会因为设计上的不合理导致器件的损坏或事故的发生)、可复现性(排除多种随机因素的影响,如温度、湿度等)、易观察性(能够观察某些在实际实验当中无法或者难以观察的现象和难以实现的测量,捕捉稍纵即逝的物理现象,可以记录物理过程的每一个细节)和经济性(不需要贵重的仪器设备)等特点。 Matlab是MathWorks公司于1982年推出的一套高性能的数值计算和可视化软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便、界面友好的用户环境。它还包括了ToolBox(工具箱)的各类问题的求解工具,可用来求解特定学科的问题。Matlab的长处在于数值计算,能处理大量的数据,而且效率比较高。MathWorths公司在此基础上开拓了符号计算、文字处理、可视化建模和实时控制能力,增强了Matlab的市场竞争力,使Matlab成为市场主流的数值计算软件。Matlab产品族支持概念设计、算法开发、建模仿真、实时实现的理想的集成环境。其主要功能有:数据分析、数值和符号计算、工程与科学绘图、控制系统设计、数字图像信号处理、财务工程,建模、仿真、原型开发,应用开发,图形用户界面。 在光学仪器设计和优化过程中,计算机的数值仿真已经成为不可缺少的手段。通过仿真计算,可以大幅度节省实验所耗费的人力物力,特别是在一些重复实验工作强度较大且对实验器材、实验环境等要求较苛刻的情况下。如在大型激光仪器的建造过程中,结合基准实验的仿真计算结果可为大型激光器的设计和优化提供依据。仿真光学实验也可应用于基础光学教学。光学内容比较抽象,如不借助实验,很难理解,如光的干涉、菲涅耳衍射、夫琅禾费衍射等。传统的光学实验需要专门的实验仪器和实验环境。其操作比较烦琐,误差大现象也不明显,对改变参数多次观察现象也多有不便。MATLAB是当今国际上公认的在科技领域方面最为优秀的应用软件和开发环境。利用它对光学实验仿真可避免传统实验中的缺点,强大的功能使光学实验变得简便准确。基于MATLAB的科学可视化功能对光学仿真实验现象进行计算机模拟的效果更加准确明显。 1.实验目的: 掌握基本的Matlab编程语言,了解其编程特点;模拟几种常用函数,了解其编程过程及图像显示命令函数,掌握Matlab画图方法;通过设计制作一系列光学研究物体掌握其编程方法;掌握光波的matlab编程原理及方法,初步了解Matlab

MATLAB编程用两种方法模拟光学实验

MATLAB编程用两种方法模拟光学实验 摘要: 利用MATLAB软件编程实现了用衍射积分的方法对单缝衍射、杨氏双缝干涉、黑白 光栅衍射的计算机模拟;以及用傅立叶变换方法对简单孔径衍射、黑白光栅及正弦光栅夫 琅和费衍射的模拟。 关键词: MATLAB;衍射积分;傅立叶变换;计算机模拟 引言: 美国Mathworks公司推出的MA TLAB,是一种集数值计算、符号预算、可视化建模、 仿真和图形处理等多种功能于一体的优秀图形化软件。本文介绍了通过MA TLAB软件编 程实现用衍射积分和傅立叶变换实现夫琅和费衍射计算机模拟的方法。 计算机模拟为衍射实验的验证提供一条简捷、直观的途径。从而加深了对物理原理、 概念和图像的理解。 正文: 大学教学课程中引入计算机模拟技术正日益受到重视,与Basic、C和Fortran相比,用MA TLAB软件做光学试验的模拟,只需要用数学方式表达和描述,省去了大量繁琐的编 程过程。下面来介绍利用MATLAB进行光学模拟的两种方法。 (一)衍射积分方法: 该方法首先是由衍射积分算出接收屏上的光强分布,然后根据该分布调制色彩作图,从而得到衍射图案。 1.单缝衍射。 把单缝看作是np个分立的相干光源,屏幕上任意一点复振幅为np个光源照射结果 的合成,对每个光源,光程差Δ=ypsinΦ,sinΦ=ys/D,光强I=I0(Σcosα)2+(Σsinα)2,其中α=2Δ/λ=πypys/λD 编写程序如下,得到图1 lam=500e-9; a=1e-3;D=1; ym=3*lam*D/a; ny=51; ys=linspace(-ym,ym,ny); np=51; yp=linspace(0,a,np); for i=1:ny sinphi=ys(i)/D; alpha=2*pi*yp*sinphi/lam; 图1 单缝衍射的光强分布 sumcos=sum(cos(alpha)); sumsin=sum(sin(alpha)); B(i,:)=(sumcos^2+sumsin^2)/np^2; end N=255; Br=(B/max(B))*N; subplot(1,2,1)

用matlab实现杨氏双缝干涉的实验仿真

用MATLAB实现杨氏双缝干涉实验仿真摘要: 实验室中,做普通光学实验,受到仪器和场所的限制;实验参数的改变引起干涉图样的改变不明显,难以体现实验的特征。本文利用MA TLAB仿真杨氏双缝干涉实验,创建用户界面,实现人机交互,输入不同实验参数,使干涉现象直观表现出来。 关键词: MATLAB;杨氏双缝干涉实验;用户界面设计;程序编写;仿真。 1. 引言: 在计算机迅猛发展的今天,光学实验的仿真越来越多的受科研工作者和教育工作者关注。其应用主要有两个方面:一是科学计算方面,利用仿真实验的结果指导实际实验,减少和避免贵重仪器的损害;二是在光学教学方面,将抽象难懂的光学概念和规律,由仿真实验过程直观的描述,使学生对学习感兴趣。在科学计算方面,国外的光学实验仿真是模拟设计和优化光学系统的过程中发展起来的,在这方面美国走在最前,其中最具代表性的是劳伦斯利和弗莫尔实验光传输模拟计算机软件Prop92及大型总体优化设计软件CHAINOP和PROPSUITE;另外法国也开发完成其具有自身特点的光传输软件Miro。在光学教学方面,国外已有相关的配有光盘演示光学实验的教材。我国用于科学研究的光学实验计算机数值仿真软件随开发较晚,但也已经取得了显著成绩。特别是1999年,神光——III原型装置TLL分系统集成实验的启动为高功率固体激光驱动器的计算机数值模拟的研究创造了条件。目前已基本完成SG99光传输模拟计算软件的开发,推出的标准版本基本能稳定运行。目前该软件已经应用于神光——III主机可行性论证的工作中。计算机仿真具有观测方便,过程可控等优点,可以减少系统对外界条件对实验本身的限制,方便设置不同的参数,借助计算机的高数运算能力,可以反复改变输入的实验条件系统参数,大大提高实验效率。MATLAB是MatlabWorks公司于1982年推出的一套高性能的数值计算和可视化软件。具有可扩展性,易学易用性,高效性等优势。 通过对目前计算机仿真光学实验的现状和相关研究的分析,本文将用Matlab 编程实现杨氏双缝干涉实验的仿真。利用Matlab GUI建立用户界面,实现人机

圆孔矩孔的菲涅尔衍射模拟(matlab实现)-工程光学.docx

XX大学XXXX学院 工程光学综合练习?…圆孔、矩孔的菲涅尔衍射模拟

圆孔和矩孔的菲涅尔衍射模拟 一、原理 由恵更斯?菲涅尔原理町知接收屏上的 P点的复振幅可以表示为 其中F(Q)为衍射屏上的复振幅分布,K(B)为倾斜因子。根据基尔霍夫对此公式的完善,有 设衍射屏上点的坐标为(χ17yj,接收屏上点的坐标为(χ,y),衍射屏与接收屏间距离为“,当满足菲涅尔近似条件时,即 上式为菲涅尔衍射的傅里叶变换表达式,它表明除了积分号前面的一个与xl、yl无关的振幅和相位因子外,菲涅尔衍射的复振幅分布是孔径平面的复振幅分布和一个二次和位因子乘积的傅里叶变换。 相对于夫琅和费衍射而言,菲涅尔衍射的观察屏距衍射屏不太远。在菲涅尔衍射中,输入变最和输出变最分别为衍射孔径平面的光场分布利观察平面的光场以及光强分布,考虑到这三个量都是二维分布,而且MatIab主要应用于矩阵数值运第所以本程序选择用二维矩阵來存储衍射孔径平面和观察平而的场分布,并分别以矩阵的列数和行数來对应平面的直角坐标值(x,y)以及(x h yι)o 用MATLAB分别构造表示衍射屏和接收屏的二维矩阵。注意使两矩阵阶次相冋,考虑到运算最的要求,釆样点数不能过多,所以每个屏的X和y方向各取200到300点进行运算。根据式(4),选取合适的衍射屏和接收屏尺寸和相距 E(P) = C —K(θ)ciσ 把上式指数项中的二次项展开,并改写成傅里叶变换的形式,可以写成

的距离,模拟结果如下: 取典型的He-Ne激光器波长λ=632.8nm,固定衍射屏和接收屏尺寸和相距的距离,分别取不同的圆孔半径,得到以下三组衍射图样,其圆孔半径分别为12 mm ■ 2Omm, 5Omm 图 1 (r=12mm) 图 2 (r=20mm) 园礼形状 ?J 103 2CD 253 Tn 1DO 2C0 3□□ 衍射园洋 圆孔形状 3C0 2£0 2C0 1∞ 1Γ∩ E O 100 2C0 300 轨射區存 2UJ -200

光学信息处理讲义

光学信息处理 1. 引 言 自六十年代激光出现以来,光学的重要发展之一是形成了一个新的光学分支——傅里叶光学。傅里叶光学是指把数学中的傅里叶分析方法用于波动光学,把通讯理论中关于时间、时域、时间调制、频率、频谱等概念相应地改为空间、空域、空间调制、空间频率、空间频谱,并用傅里叶变换的观点来描述和处理波动光学中学波的传播、干涉、衍射等。傅里叶变换已经成为光信息处理的极为重要的工具。 光学信息处理就是对光学图像或光波的振幅分布作进一步的处理。自从阿贝成像理论提出以后,近代光学信息处理通常是在频域中进行。由于光的衍射,图像的夫琅和费衍射分布,即图像的空间频谱分布与图像的空间分布规律不同,这使得在频谱面上对其进行处理可获得一些特殊的图像处理效果。近代光学信息处理具有容量大,速度快,设备简单,可以处理二维图像信息等许多优点,是一门既古老又年青的迅速发展的学科。光学信息存储、遥感、医疗、产品质量检验等方面有着重要的应用。 2. 实验目的 1) 通过实验,加强对傅里叶光学中有关空间频率、空间频谱和空间滤波等概念的理解。 2) 掌握光学滤波技术,观察各种光学滤波器产生的滤波效果,加深对光学信息处理基本思想的认识。 3) 加深对卷积定理的理解 4) 了解用光栅滤波实现图像相加减及光学微分的原理和方法。 5) 了解黑白图像等密度的假彩色编码。 3. 实验原理 1) 二维傅里叶变换和空间频谱 在信息光学中常用傅里叶变换来表达和处理光的成像过程。设在物屏X -Y 平面上光场的复振幅分布为g (x ,y ) ,根据傅里叶变换特性,可以将这样一个空间分布展开成一系列二维基元函数的线性叠加,即 )](2exp[y f x f i y x +π∫∫+∞ ∞ ?+= y x y x y x df df y f x f i f f G y x g )](2exp[),(),(π (1) 式中f x 、f y 为x 、y 方向的空间频率,即单位长度内振幅起伏的次数,G (f x ,f y )表示原函数g (x ,y )中相应于空间频率为f x 、f y 的基元函数的权重,亦即各种空间频率的成分占多大的比例,也称为光场(optical field )g (x ,y )的空间频谱。G (f x 、f y )可由g (x ,y )的傅里叶变换求得 ∫∫+∞ ∞ ?+?= dxdy y f x f i y x g f f G y x y x )](2exp[),(),(π (2) g (x ,y )与G (f x ,f y )是一对傅里叶变换式,G (f x ,f y )称为g (x ,y )的傅里叶的变换,g (x ,y )是G (f x ,f y )的逆变换,它们分别描述了光场的空间分布及光场的频率分布,这两种描述是等

利用MATLAB模拟光学简单空间滤波系统-

利用MATLAB模拟光学简单空间滤波系统 摘要:阿贝成像原理是第一步在透镜的后焦面上得到物的空间频谱分布,第二步成像则是合频的过程,实则是两次傅立叶变换。利用阿贝-波特实验装置和空间滤波系统,可以对一幅光学图像进行光学信息处理。通过MATLAB环境编写程序完成阿贝-波特实验和空间滤波的物理模型的构建并进行计算机模拟。 关键词:MATLAB;阿贝成像原理;空间滤波;计算机模拟 引言: 早在1873年,阿贝(E.Abbe,1840—1905)在德国蔡司光学器械公司研究如何提高显微镜的分辨本领问题时,就认识到相干成像的原理。空间滤波的主要目的是通过有意识地改变像的频谱,使像实现所希望的变化。光学信息处理是一个更为广阔的领域,它是基于光学频谱分析,利用傅里叶综合技术,通过空域或频域调制,借助空间滤波技术对光学信息进行处理的过程。阿贝提出的二次成像理论和20世纪初的阿贝—波特实验,已经为光学信息处理打下了一定的理论基础。 在阿贝成像理论的教学中,单纯依靠数学推演来讲解,效果不好,特别是空间频率、空间滤波等概念的形成有一定的困难。虽然可以通过演示阿贝-波特实验来加强教学效果,但由于在普通教室难以完成演示实验,在实验室又受仪器、场地等方面的限制,实验现象不太理想。为此,我们设计出计算机模拟实验,获得较好的模拟效果。在学习了解了阿贝成像原理的基础上,我们可以通过MATLAB完成对阿贝-波特实验和空间滤波系统的计算机模拟,观察各种物体的空间频谱分布,设计各种不同的空间滤波器。

1.阿贝成像原理 在相干平行光照明下,显微镜的物镜成像可以分成两步:第一步即分频过程,由入射光经过物平面1P 发生衍射在物镜的后焦面2P 上形成夫琅禾费衍射图样;第二步称为合频或频谱综合过程,衍射图样作为新的子波源发出的球面波在像平面上相干叠加成像。相干光的成像过程本质上是两次傅立叶变换,第一次是将光场空间分布变成频率分布,第二次则是傅立叶逆变换,即将各频谱分量复合为像。如下图所示,为阿贝成像原理图。 阿贝-波特实验是对阿贝成像理论最好的验证和演示。实验一般做法如下图所示,用平行相干光束照明一张细丝网格,在成像透镜后焦面上出现周期性网格的傅里叶频谱,由这些傅里叶频谱分量的在组合,从而在像平面上再现网格得像。若把各种遮挡物放在频谱面上,就能得到不同的像的频谱,从而得到由改变后的频谱分量重新组合得到的对应的像。

相关文档
最新文档