MATLAB模拟演示小孔衍射

MATLAB模拟演示小孔衍射
MATLAB模拟演示小孔衍射

《MATLAB语言》课程论文

MATLAB模拟演示小孔衍射

姓名:王照义

学号:12010245259

专业:通信工程

班级:10级通信工程

指导老师:汤全武

学院:物理电气信息学院

完成日期:2011-12-10

MATLAB模拟演示小孔衍射

(王照义12010245259 2010级通信班)

[摘要]以单色标量波衍射理论为基础,研究了均匀平面波从不同角度入射小孔阵列的衍射特性。运用单孔衍射理论,同时考虑相邻小孔间衍射光强的相互影响,建立了小孔阵列衍射的理论模型和光强分布的数值积分式,小孔为硬边小孔。利用Matlab对500 nm波长的平面波入射微小方孔阵列衍射图样进行了计算机仿真,得到了不同几何参量下平面波从不同角度入射时的衍射图样的一维和二维光强分布图。

[关键字] 小孔衍射MATLAB

一、光的衍射种类

包括:单缝衍射、圆孔衍射、圆板衍射及泊松亮斑

光在传播过程中,遇到障碍物或小孔(窄缝)时,它有离开直线路径绕道障碍物阴影里去的现象。这种现象叫光的衍射。衍射时产生的明暗条纹或光环,叫衍射图样。

产生衍射的条件是:由于光的波长很短,只有十分之几微米,通常物体都比它大得多,但是当光射向一个针孔、一条狭缝、一根细丝时,可以清楚地看到光的衍射。用单色光照射时效果好一些,如果用复色光,则看到的衍射图案是彩色的。

1.衍射现象

光绕过障碍物偏离直线传播路径而进入阴影区里的现象,叫光的衍射。

光的衍射和光的干涉一样证明了光具有波动性。

2.光产生明显衍射的条件

小孔或障碍物的尺寸比光波的波长小,或者跟波长差不多时,光才能发生明显的衍射现象。由于可见光波长范围为4×10-7m至7.7×10-7m之间,所以日常生活中很少见到明显的光的衍射现象。

任何障碍物都可以使光发生衍射现象,但发生明显衍射现象的条件是“苛刻”的。

当障碍物的尺寸远大于光波的波长时,光可看成沿直线传播。注意,光的直线传播只是一种近似的规律,当光的波长比孔或障碍物小得多时,光可看成沿直线传播;在孔或障碍物可以跟波长相比,甚至比波长还要小时,衍射就十分明显。

3.衍射的种类:

(1)狭缝衍射

让激光发出的单色光照射到狭缝上,当狭缝由很宽逐渐减小,在光屏上出现的现象怎样?

当狭缝很宽时,缝的宽度远远大于光的波长,衍射现象极不明显,光沿直线传播,在屏上产生一条跟缝宽度相当的亮线;但当缝的宽度调到很窄,可以跟光波相比拟时,光通过缝后就明显偏离了直线传播方向,照射到屏上相当宽的地方,并且出现了明暗相间的衍射条纹,纹缝越小,衍射范围越大,衍射条纹越宽,。但亮度越来越暗。

(2)小孔衍射

当孔半径较大时,光沿直线传播,在屏上得到一个按直线传播计算出来一样大小的亮光圆斑;减小孔的半径,屏上将出现按直线传播计算出来的倒立的光源的像,即小孔成像;继续减小孔的半径,屏上将出现明暗相间的圆形衍射光环。

二、常见的几种衍射现象

(一)圆孔衍射

将一束光投射在一个小圆孔上,并在距孔l~2m 处放置一块毛玻璃屏,可观察到小圆孔的衍射花样。现用上节所得的结论,研究从点光源所发出的光通过圆孔时的衍射现象。现在先计算光到达垂直于圆孔面的对称轴上一点P 时的振幅。

图1

P 点与波面上极点B 0之间的距离为r 0。首先考虑通过圆孔部分波面的面积所含有的完

整的菲涅耳带的数目。这个整数k 与圆孔的半径、光的波长λ以及圆孔的位置(即R 和r 0)有关。

(1)

(2)

如果用平行光照射圆孔, ,则 r k x

0λρ= (3) 如果不用光阑,即相当于圆孔的半径为无限大,也就是整个波面完全不被遮蔽,则由最末一个带所发次波在到达P 点时的振幅ak 为无限小,此时P 点的合振幅为

(4)

此式表明,没有遮蔽的整个波面对P点的作用等于第一个波带在该点的作用的一半。因为波带的面积非常小,例如的绿光时,若R、r

均为1m,第一个波带的面积约为即半径

约为1/2 mm。所以,没有遮藏的整个波面的光能的传播,几乎可以看作沿OP直线进行,这也是一般把光视作直线传播的原因。P点离开光源愈远,a

愈小光强愈弱。在这种情况下

1

屏沿着对称轴线前进时,不发生上述某些点较强某些点较弱的现象。

如果圆孔具有一定大小的半径,观察点P的位置仅使波面上露出第一个带,则

(5)

与不用光阑时比较,振幅为完全不遮藏时的二倍,光强则增加到四倍。

所以光在通过圆孔以后到达任一点时的光强,不能够单独由光源到该点的距离来决定,还取决于圆孔的位置及大小。仅当圆孔足够大、使小到可以略去不计时,才和光的直线传播概念所推得的结果一致。

这些讨论都假定O是理想的点光源。但是实际光源都有一定的大小。光源的每一点各自产生它自己的衍射花样,它们是不相干的。光源的线度应小到使光源上某些点所产生的亮条纹不致落到另外一些点所产生的暗条纹上去。否则由于不

图2

相干叠加,衍射花样就会完全模糊了。通常情况下不容易观察到衍射花样正是由于这个缘故。

(二)圆屏衍射

我们讨论一下点光源发出的光通过圆屏边缘时的衍射现象。O为点光源,光路上有一不透明的圆屏。现在先讨论P点的振幅。设圆屏遮蔽了开始的k个带。于是从第k+1个带开始,所有其余的带所发的次波都能到达P点。把所有这些带的次波叠加起来,可得P点的合振幅为

(6)

即不论圆屏的大小和位置怎样,圆屏几何影子的中心永远有光。不过圆屏的面积愈小时被遮蔽的带的数目k就愈小,因而愈大,到达P点的光愈强。变更圆屏和光源之间或圆屏和光屏之间的距离时,k也将因之改变,因而也将影响P点的光强。

如果圆屏足够小,只遮住中心带的一小部分,则光看起来可完全绕过它,除了圆屏影子中心有亮点外没有其它影子。这个初看起来似乎是荒谬的结论,是泊松于1818年在巴黎科学院研究菲涅耳的论文时把它当作菲涅耳论点谬误的证据提出来的。但阿喇果做了相应的实验,证实了菲涅耳的理论的正确性。

三、小孔衍射的原理

机械波的衍射实验往往用现成的仪器,通过机械振动产生水波纹来实现,我们能很清楚的观察到衍射图像,对于光的衍射实验可以通过用激光射到一个小球,从而产生衍射图像,但是小孔衍射确没法在普通的高中物理实验室中做出。

但是随着高中多媒体化的普及,教室里面多媒体的应用日益增加,我们完全可以通过数学软件来模拟小孔衍射图像来给学生演示,直观而又简单。

衍射的实质就是当光波在传播过程中遇到障碍物或者透过屏幕上的小孔时,会导致偏离原来入射方向的出射光波。

根据惠更斯-菲涅尔原理,波阵面上的每一点可以认为是产生球面子波的一个次级扰动中心,而以后任何时刻的波阵面则可以看作是这些子波的包络,假定这些次级子波互相干涉,从而产生衍射效应。通俗的说,光的传播是以波的形式传播的,下一时刻的波阵面就是前一时刻波阵面上无数点发出的球面波的叠加。当光波受到扰动(比如尺寸与波长可比的小孔或头发丝等),球面子波发生干涉,从而产生衍射。衍射的实质是干涉。

而小孔成像中的小孔的尺寸应该远大于波长。实际上即使如此,在小孔边缘附近也存在衍射效应。之所以小孔后面会成像,是因为小孔将物体向空间各方向发出的光截取了其中一部分,按照光沿直线传播这一简单的模型,在小孔后白屏上产生物体的像。

产生衍射时,光线不是沿直线传播的。几何光学里,我们认为光是沿直线传播的。波动理论中认为光是以波动的形式传播的。

四、用MATLAB语言演示小孔衍射

在光学中衍射理论的基础是惠更斯原理。这原理假设开始的光波面上每一点可以看作次级光源,它们发射出子波,这些子波叠加后得到向前传播的光波。

图3小孔衍射示意图

可以设屏幕上有一小孔,光波从左边入射,我们要计算通过小孔后在屏幕右边空间各点上光波的强度。这种普遍的解法是很复杂的,实际所用的衍射理论都是一些近似解法。

根据这个计算方法,采用波长为500nm蓝绿光做为衍射光源,编写MATLAB程序,即可得到图像。

MATLAB程序如下:

clear

lamba=500e-9; %波长

a=1e-3;D=1;

ym=3*lamba*D/a; %屏幕上y的范围

n=51; %屏幕上的点数

ys=linspace(-ym,ym,n);

n=51; %屏幕上的点数

yp=linspace(0,a,n);

for i=1:n

sinphi=ys(i)/D;

alpha=pi*yp*sinphi/lamba;

sumcos=sum(cos(alpha));

sumsin=sum(sin(alpha));

B(i,:)=(sumcos^2+sumsin^2)/n^2;

end

N=256; %确定灰度的等级

Br=(B/max(B))*N;

subplot(1,2,1)

image(ym,ys,Br);

colormap(hot(N)); %色调处理

subplot(1,2,2)

plot(B,ys,'k');

运行结果如图4所示。

图4衍射条纹

五、[结论]

通过图像很直观观察到波的小孔衍射的特征,中间的呈现白光,是各种颜色的光的叠加,两边颜色分别呈现黄色、红色,是因为黄色光和红色光波长较大,不能和别的窄波长的光叠加,只能单一呈现。图像是实际计算出来的数值图像,更加有数学依据。

六、[课程体会]

经过一学期的MATLAB语言课程的学习,我已经初步熟练的应用MATLAB语言,在学习的过程中,我逐步的发现用MATLAB 处理实验数据,过程直观方便,简单的命令就可以完成繁琐的计算,同时也激发了我的学习兴趣,让我摆脱了枯燥无味的重复计算。由于MATLAB具有优秀的数字计算能力、准确科学的数字图形可视化能力以及直观简洁的程序环境,因此可以在大部分课程的实验教学上广泛推广。

本次实验设计只是MATLAB语言应用的一小部分,在以后的学习中我会更多的应用MATLAB语言,它的简便、直观和强大的功能会让我的学习更加的轻松。

[参考文献]

[1] 刘卫国.MATLAB程序设计与应用(第二版)[M].北京:高等教育出版社,2006.

[2] 马文蔚.物理学(上册)(第四版)[M],北京:高等教育出版社,1999.

matlab图像处理的几个实例

Matlab图像处理的几个实例(初学者用) 1.图像的基本信息及其加减乘除 clear,clc; P=imread('yjx.jpg'); whos P Q=imread('dt.jpg'); P=im2double(P); Q=im2double(Q); gg1=im2bw(P,0.3); gg2=im2bw(P,0.5); gg3=im2bw(P,0.8); K=imadd(gg1,gg2); L=imsubtract(gg2,gg3); cf=immultiply(P,Q); sf=imdivide(Q,P); subplot(421),imshow(P),title('郁金香原图'); subplot(422),imshow(gg1),title('0.3'); subplot(423),imshow(gg2),title('0.5'); subplot(424),imshow(gg3),title('0.8'); subplot(425),imshow(K),title('0.3+0.5'); subplot(426),imshow(L),title('0.5-0.3'); subplot(427),imshow(cf),title('P*Q'); subplot(428),imshow(sf),title('P/Q'); 2.图像缩放 clear,clc; I=imread('dt.jpg'); A=imresize(I,0.1,'nearest'); B=imresize(I,0.4,'bilinear'); C=imresize(I,0.7,'bicubic'); D=imresize(I,[100,200]); F=imresize(I,[400,100]); figure subplot(321),imshow(I),title('原图'); subplot(322),imshow(A),title('最邻近插值'); subplot(323),imshow(B),title('双线性插值'); subplot(324),imshow(C),title('二次立方插值'); subplot(325),imshow(D),title('水平缩放与垂直缩放比例为2:1'); subplot(326),imshow(F),title('水平缩放与垂直缩放比例为1:4');

基于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

圆孔衍射实验仿真设计

测试与光电工程学院 计算机课程设计任务书 电子科学与技术系070832 班22 学生:吴海 课题名称:圆孔衍射实验仿真设计 课题内容: 1、课题设计要求: (1)分析圆孔衍射的物理过程,建立数学模型; (2)设计算法流程图; (3)编写程序,并对仿真结果进行分析。 2、工作进度安排: 查阅资料,设计算法流程图 6月28日~ 7月4日第18周 编写程序,撰写报告 7月5日~ 7月9日第19周系负责人:指导教师:钟可君 时间:2010年6月21日 [摘要]计算机仿真是应用电子计算机对系统的结构、功能和行为 以及与系统控制的人的思维过程和行为进行动态性比较逼真的模仿,并通过建立某一过程和某一系统的模式,来描述该过程或该系统,为决策者提供有关这一过程或系统的定量分析结果,以此作为决策的理论依据。本文主要研究了圆孔衍射理论,并对其中的不同圆孔的半径和不同的波长的情况对比与分析;然后根据圆孔衍射的数学计算公式,编写了各种干涉仿真的MATLAB程序代码;最后为了方便用户使用,本文设计了图形用户界面。 [关键词]MATLAB;计算机仿真;图形用户界面;圆孔衍射;分辨本领;仿真分析

目录 摘要 一概述 (3) 二圆孔衍射的基本原理 (4) 三设计过程 (5) 四设计过程的问题 (8) 五心得体会 (8) 六致谢 (9) 附录

一、概述 1 本次计算机课程设计是在老师所给的众多课题中所选的课题,并在课题老师的要求下进行实际的操作和设计本次所选的课题,对于此次所选的课题其具有的意义为圆孔作为光学仪器基本形状,其衍射现象在光学研究中占有重要地位.光学衍射现象的实验演示需要特定的实验仪器和实验所,给研究工作带来许多不便。另外,清晰的圆孔衍射图样,要求的圆孔半径很小,在一般实验中难以实现.基于MATLAB7软件强大的计算能力和可视化功能上的优势,利用计算机对圆孔衍射过程进行仿分析,可以使衍射现象直观地表现出来;通过调整实验参数,可以同步生成不同实验条件下的衍射图样,便于对衍射现象和像分辨本领进行比较分析;利用色图表现光强分布,使实验效果更为逼真,在实和研究中具有重要意义。 在本次的课题设计中主要要求完成对所选的课题进行界面的设计,这也是本次课程设计的难点,在设计的过程中我们遇到了很多棘手的问题,首先是对这个功能强大的软件很是陌生,并不会充分的使用,而且在这次的实验过程中由于这个软件的版本过多,对在于学习中又有很多盲点,并在实验过程中在各个软件的安装上又遇到了新的问题,确实是软件功能过于强大,整个安装软件很大,在安装过程中又要摸索着前进,不断的尝试,最终才安装上MATLAB7软件。在此之后就具有了一定的方向,解决问题就要简单一些。并最终完成了所要求的设计。 2 仿真工具的简单介绍:本此仿真设计是基于MA TLAB软件,MA TLAB 是Matrix Laboratory的缩写。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MA TLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多。在新的版本中均嵌有对C,FORTRAN等语言的接口,可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用,非常的方便。MA TLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。MA TLAB的基础是矩阵计算,但是由于他的开放性,并且mathwork 也吸收了像maple等软件的优点,使MATLAB成为一个强大的数学软件。MATLAB具有以下几个特点:(1) 友好的编译平台和编译环境(2) 简单易用的程序语言 (3) 强大的科学计算机数据处理能力 (4) 出色的图形处理功能(5) 应用广泛的模块集合工具箱(6) 实用的程序接口和发布平台(7) 应用软件及用户界面开发

图像处理实例(含Matlab代码)

信号与系统实验报告——图像处理 学院:信息科学与工程学院 专业:2014级通信工程 组长:** 组员:** 2017.01.02

目录 目录 (2) 实验一图像一的细胞计数 (3) 一、实验内容及步骤 (3) 二、Matlab程序代码 (3) 三、数据及结果 (4) 实验二图像二的图形结构提取 (5) 一、实验内容及步骤 (5) 二、Matlab程序代码 (5) 三、数据及结果 (6) 实验三图像三的图形结构提取 (7) 一、实验内容及步骤 (7) 二、Matlab程序代码 (7) 三、数据及结果 (8) 实验四图像四的傅里叶变化及巴特沃斯低通滤波 (9) 一、实验内容及步骤 (9) 二、Matlab程序代码 (9) 三、数据及结果 (10) 实验五图像五的空间域滤波与频域滤波 (11) 一、实验内容及步骤 (11) 二、Matlab程序代码 (11) 三、数据及结果 (12)

实验一图像一的细胞计数 一、实验内容及步骤 将该图形进行一系列处理,计算得到途中清晰可见细胞的个数。 首先,由于原图为RGB三色图像处理起来较为麻烦,所以转为灰度图,再进行二值化化为黑白图像,得到二值化图像之后进行中值滤波得到细胞分布的初步图像,为了方便计数对图像取反,这时进行一次计数,发现得到的个数远远多于实际个数,这时在进行一次中值滤波,去掉一些不清晰的像素点,剩下的应该为较为清晰的细胞个数,再次计数得到大致结果。 二、Matlab程序代码 clear;close all; Image = imread('1.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); Theshold = graythresh(Image); Image_BW = im2bw(Image,Theshold); Reverse_Image_BW22=~Image_BW; figure,imshow(Image_BW),title('二值化图像'); Image_BW_medfilt= medfilt2(Image_BW,[3 3]); figure,imshow(Image_BW_medfilt),title('中值滤波后的二值化图像'); Reverse_Image_BW = ~Image_BW_medfilt; figure,imshow(Reverse_Image_BW),title('图象取反'); Image_BW_medfilt2= medfilt2(Reverse_Image_BW,[20 20]); figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像'); [Label, Number]=bwlabel(Image_BW_medfilt,8);Number [Label, Number]=bwlabel(Image_BW_medfilt2,8);Number

基于matlab的单缝衍射计算机模拟研究

课程设计说明书(论文) 基于matlab的单缝衍射计算机模拟研究 学院:数理学院 专业班级: 学生姓名: 学生学号: 指导老师: 2014年月号

摘要:美国Mathworks公司推出的MATLAB,是一种集数值计算、符号预算、可视化建模、仿真和图形处理等多种功能于一体的优秀图形化软件。本文将会通过MATLAB软件编程用衍射积分的方法对单缝衍射进行计算机模拟。计算机模拟为衍射实验的验证提供一条简捷、直观的途径。从而可以加深我们对物理原理、概念和图像的理解。 关键词:MATLAB;衍射积分;单缝衍射;计算机模拟 一、单缝衍射原理 惠更斯原理表明,波源发出的波阵面上的每一点都可视为一个新的子波源。这些子波源发出次级子波,其后任一时刻次级子波的包迹决定新的波阵面。惠更斯原理用光波能确定光波的传播方向,但不能确定沿不同方向传播的光振动的振幅。 菲涅尔在次级子波概念的基础上,提出的“子波相干叠加”理论,又称为惠更斯-菲涅尔原理。这个原理表述为:同一波面上的每一微小面元都可以看作是新的振动中心,它们发出次级子波。这些次级子波经传播而在空间某点相遇时,该点的振动是所有这些次级子波在该点的相干叠加。 二、编程原理 把单缝看作是np个分立的相干光源,屏幕上任意一点复振幅为np个光源照射结果的合成,对每个光源,光程差Δ=ypsinΦ,sinΦ=ys/D,光强I=I0(Σcosα)2+(Σsinα)2,其中α=2Δ/λ=πypys/λD 三、程序的编写 编写程序如下: clear 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; sumcos=sum(cos(alpha)); sumsin=sum(sin(alpha)); B(i,:)=(sumcos^2+sumsin^2)/np^2; end N=255; Br=(B/max(B))*N;

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

菲涅尔圆孔衍射实验解析

菲涅尔圆孔衍射光强测定的实验分析 xx (xx学院物理系 10级物理2班云南玉溪 653100) 指导教师:xx 摘要:本文主要分析了菲涅尔圆孔衍射图样的特点,设计实验对光强分布规律进行验证,通过对比证明理论值与实际值之间存在一定偏差。 关键词:菲涅尔圆孔衍射;光强 1.引言 “衍射”是生活中一种普遍的光学现象,但不常被人们发现和熟知。光的衍射现象是光的波动性的重要体现。姚启钧先生在第四版《光学教程》中指出,衍射是指光在传播过程中遇到障碍物,会绕过障碍物偏离直线传播而进入几何阴影,并在屏幕上出现光强分布不均匀的现象,这种现象我们就将其称为光的衍射[1]。衍射又可根据障碍物到光源和考察点到障碍物的距离的不同分为两种,障碍物到光源和考察点的距离都是有限的,或其中之一为有限,这就称为菲涅尔衍射,又称近场衍射,另一种是障碍物到光源和考察点的距离可以认为是无限远的,则称为夫琅禾费衍射,又称远场衍射[1]。 衍射实验大多集中在夫琅禾费衍射的研究,直到近些年对菲涅尔衍射光强测定的探究才日益多了起来。顾永建曾对菲涅尔圆孔衍射中心场点光强的表示方法和分布特点做出过研究,其分别从矢量图解法和积分法推导出菲涅尔圆孔衍射中心场点的光强的表示方法和分布特点[2]。侯秀梅,郭茂田,郭洪三人曾对菲涅尔圆孔衍射的轴上光强分布做出过研究,其从惠更斯——菲涅尔原理出发,在球面波入射的情况下,导出菲涅尔圆孔衍射时轴上光强分布的解析表达式,并对轴上光强分布进行定量分析讨论[3]。陈修斌也曾对平行光的菲涅尔圆孔衍射实验进行过探究,他通过实验观察到衍射图样的中心可亮可暗,并用“菲涅尔半周期带”原理加以分析,解释,通过分析总结出圆孔衍射图像的中心光强的变化规律[4]。范体贵,吕立君利用计算机对菲涅尔衍射问题进行了数值模拟,给出了接收屏上完整的衍射图样,计算结果

基于Matlab的菲涅尔衍射仿真

南京航空航天大学 高等光学期末报告 题目:基于Matlab的单缝菲涅尔衍射实验仿真 学院 专业 姓名 学号 2014 年12 月30 日

基于Matlab的菲涅尔衍射仿真 摘要 光学试验中衍射实验是非常重要的实验. 光的衍射是指光在传播过程中遇到障碍物时能够绕过障碍物的边缘前进的现象, 光的衍射现象为光的波动说提供了有力的证据. 衍射系统一般有光源、衍射屏和接受屏组成, 按照它们相互距离的大小可将衍射分为两大类, 一类是衍射屏与光源和接受屏的距离都是无穷远时的衍射, 称为夫琅禾费衍射, 一类是衍射屏与光源或接受屏的距离为有限远时的衍射称为菲涅尔衍射。 本文用Matlab软件主要针对单缝菲涅尔衍射现象建立了数学模型,对衍射光强分布进行了编程运算,对衍射实验进行了仿真。 关键字:Matlab;单缝菲涅尔衍射;仿真;光学实验 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 single slit Fresnel diffraction, the diffraction intensity distribution of the programming operation, the diffraction experiment is simulated. Key word: matlab;single slit Fresnel diffraction; simulation; optical experiment

基于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实现

《数字图像处理》课程设计 课设题目:图像增强与MATLAB实现学校学院:华东交通大学理学院 学生班级:13级信息计算(2)班学生:超 学生学号:20130810010216 指导老师:自柱

图像增强与MATLAB实现 摘要 数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。 关键字:图像;图像增强;算法

目录 一、MATLAB的简介 (1) 1.1MATLAB主要功能 (1) 二、MATLAB的主要功能 (1) 2.1数字增强技术概述 (1) 2.2数字图像的表示 (2)

三、直方图的均衡化 (2) 3.1图像的灰度 (2) 3.2灰度直方图 (2) 3.3直方图均衡化 (3) 四、图像二值化 (5) 4.1图像二值化 (5) 五、对比度增强 (7) 5.1对比度增强 (7) 5.2灰度调整 (8) 5.3对数变换 (9) 六、滤波 (10) 6.1平滑滤波 (10) 6.2线性平滑滤波程序: (11) 6.3非线性滤波 (12) 七、锐化 (18) 八、参考文献 (19) 九、自我评价 (20)

一、Matlab的简介 1.1 MATLAB主要功能 MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。 二、MATLAB的主要功能 2.1数字增强技术概述 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。

单缝衍射的matlab分析教程

单缝衍射的MATLAB分析 学院:精密仪器与光电子工程学院专业:生物医学工程 班级:1班 姓名:

单缝衍射的MATLAB分析 摘要:在光的衍射概述和发展历史的基础上,说明了单缝衍射的图样特点,介绍了夫琅禾费衍射和菲涅耳衍射,几种实现夫琅禾费衍射的方法和原理及光强、条纹分布特点。并利用衍射公式的近似对基尔霍夫衍射公式进行了推导,从理论上得出了夫琅禾费单缝衍射的光强公式,利用Matlab软件进行了光强分布的图样仿真,并用实验采集到的图样对理论和仿真的结论进行了验证,计算结果与实验结果得到了很好的吻合。 关键字:单缝衍射夫琅禾费单缝衍射光强分布条纹分布 一、光的衍射概述

1.光的衍射现象 物理光学中,光的衍射现象是指光波在空间传播遇到障碍时,其传播方向会偏离直线传播,弯入到障碍物的几何阴影中,并呈现光强的不均匀分布的现象。通常将观察屏上的不均匀的光强分布称为衍射图样。光的衍射是光的波动性的主要标志之一。 光波遇到障碍物以后会或多或少地偏离几何光学传播定律的现象。几何光学表明,光在均匀媒质中按直线定律传播,光在两种媒质的分界面按反射定律和折射定律传播。但是,光是一种电磁波,当一束光通过有孔的屏障以后,其强度可以波及到按直线传播定律所划定的几何阴影区内,也使得几何照明区内出现某些暗斑或暗纹。 1.1衍射现象的基本问题 1.已知照明光场和衍射屏的特征,求屏幕上衍射光场的分布; 2.已知衍射屏及屏幕上衍射光场的发布,去探索照明光场的某些特性; 3.已知照明光场及屏幕上所需的衍射光场发布,设计、计算衍射屏的结构和制造衍射光学元件。 1.2衍射现象的分类 根据光源、衍射物(衍射屏)和衍射场(观察屏)三者之间的位置确定 1.夫琅和费衍射:(远场衍射) 光源和衍射场都在衍射物无限远处的衍射。 2.菲涅耳衍射:(近场衍射)

图像处理matlab程序实例

程序实例 1旋转: x=imread('d:\MATLAB7\work\flower.jpg'); y=imrotate(x,200,'bilinear','crop'); subplot(1,2,1); imshow(x); subplot(1,2,2); imshow(y) 2.图像的rgb clear [x,map]=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh1.jpg');y=x(90:95,90:95);imshow(y)R=x(90:95,90:95,1);G=x(90:95,90:95,2);B=x(90:95,90:95,3);R,G,B 3.加法运算clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh3.jpg');J=imnoise(I,'gaussian',0,0.02);%向图片加入高斯噪声subplot(1,2,1),imshow(I);%显示图片subplot(1,2,2),imshow(J);K=zeros(242,308);%产生全零的矩阵,大小与图片的大小一样for i=1:100%循环100加入噪声J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end K=K/100; figure,imshow(K);save

4.减法 clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); J=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao1.jpg'); K=imsubtract(I,J);%实现两幅图相减 K1=255-K;%将图片求反显示 figure;imshow(I); title('有噪声的图'); figure;imshow(J); title('原图'); figure;imshow(K1); title('提取的噪声'); save 5.图像的乘法 H=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); I=immultiply(H,1.2);将此图片乘以1.2 J=immultiply(H,2); subplot(1,3,1),imshow(H); title('原图'); subplot(1,3,2),imshow(I); title('·放大1.2'); subplot(1,3,3),imshow(J); title('放大2倍'); 6除法运算 moon=imread('moon.tif'); I=double(moon); J=I*0.43+90; K=I*0.1+90; L=I*0.01+90; moon2=uint8(J); moon3=uint8(K); moon4=uint8(L); J=imdivide(moon,moon2); K=imdivide(moon,moon3); L=imdivide(moon,moon4); subplot(2,2,1),imshow(moon); subplot(2,2,2),imshow(J,[]); subplot(2,2,3),imshow(K,[]); subplot(2,2,4),imshow(L,[]);

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

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

圆孔与矩孔的菲涅尔衍射模拟 一、原理 由惠更斯-菲涅尔原理可知接收屏上的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)

数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1直方图 一.实验目的 1 ?熟悉matlab图像处理工具箱及直方图函数的使用; 2?理解和掌握直方图原理和方法; 二.实验设备 1. PC 机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(1,2,1),imshow(l) % 输出图像 title(' 原始图像')% 在原始图像中加标题subplot(1,2,2),imhist(l) % 输出原图直方图 title(' 原始图像直方图')%在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab 环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3?浏览源程序并理解含义; 4. 运行,观察显示结果; 5. 结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像(b) 原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2灰度均衡 一.实验目的 1 .熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2?理解和掌握灰度均衡原理和实现方法; 二.实验设备 1. PC机一台; 2. 软件matlab ; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(2,2,1),imshow(l) % 输出图像title(' 原始图像')% 在原始图像中加标题subplot(2,2,3),imhist(l) % 输出原图直方图 title(' 原始图像直方图')%在原图直方图上加标题a=histeq(l,256); % 直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) % 输出均衡化后图像title(' 均衡化后图像')%在均衡化后图像中加标题 subplot(2,2,4),imhist(a) % 输出均衡化后直方图 title(' 均衡化后图像直方图')%在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab 环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3?浏览源程序并理解含义; 4. 运行,观察显示结果; 5. 结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 均衡化后图像

MATLAB模拟演示小孔衍射

《MATLAB语言》课程论文 MATLAB模拟演示小孔衍射 姓名:王照义 学号:12010245259 专业:通信工程 班级:10级通信工程 指导老师:汤全武 学院:物理电气信息学院 完成日期:2011-12-10

MATLAB模拟演示小孔衍射 (王照义12010245259 2010级通信班) [摘要]以单色标量波衍射理论为基础,研究了均匀平面波从不同角度入射小孔阵列的衍射特性。运用单孔衍射理论,同时考虑相邻小孔间衍射光强的相互影响,建立了小孔阵列衍射的理论模型和光强分布的数值积分式,小孔为硬边小孔。利用Matlab对500 nm波长的平面波入射微小方孔阵列衍射图样进行了计算机仿真,得到了不同几何参量下平面波从不同角度入射时的衍射图样的一维和二维光强分布图。 [关键字] 小孔衍射MATLAB 一、光的衍射种类 包括:单缝衍射、圆孔衍射、圆板衍射及泊松亮斑 光在传播过程中,遇到障碍物或小孔(窄缝)时,它有离开直线路径绕道障碍物阴影里去的现象。这种现象叫光的衍射。衍射时产生的明暗条纹或光环,叫衍射图样。 产生衍射的条件是:由于光的波长很短,只有十分之几微米,通常物体都比它大得多,但是当光射向一个针孔、一条狭缝、一根细丝时,可以清楚地看到光的衍射。用单色光照射时效果好一些,如果用复色光,则看到的衍射图案是彩色的。 1.衍射现象 光绕过障碍物偏离直线传播路径而进入阴影区里的现象,叫光的衍射。 光的衍射和光的干涉一样证明了光具有波动性。 2.光产生明显衍射的条件 小孔或障碍物的尺寸比光波的波长小,或者跟波长差不多时,光才能发生明显的衍射现象。由于可见光波长范围为4×10-7m至7.7×10-7m之间,所以日常生活中很少见到明显的光的衍射现象。 任何障碍物都可以使光发生衍射现象,但发生明显衍射现象的条件是“苛刻”的。 当障碍物的尺寸远大于光波的波长时,光可看成沿直线传播。注意,光的直线传播只是一种近似的规律,当光的波长比孔或障碍物小得多时,光可看成沿直线传播;在孔或障碍物可以跟波长相比,甚至比波长还要小时,衍射就十分明显。 3.衍射的种类: (1)狭缝衍射 让激光发出的单色光照射到狭缝上,当狭缝由很宽逐渐减小,在光屏上出现的现象怎样? 当狭缝很宽时,缝的宽度远远大于光的波长,衍射现象极不明显,光沿直线传播,在屏上产生一条跟缝宽度相当的亮线;但当缝的宽度调到很窄,可以跟光波相比拟时,光通过缝后就明显偏离了直线传播方向,照射到屏上相当宽的地方,并且出现了明暗相间的衍射条纹,纹缝越小,衍射范围越大,衍射条纹越宽,。但亮度越来越暗。

MATLAB图像处理简介

MATLAB图像处理基础?MATLAB语言的特点: MATLAB图像处理基础 ?典型桌面: 2 MATLAB图像处理基础 ?一. 读取图像:将图像rose-orginal.tif读入图像数组f >> f = imread('.\rose-original.tif'); ?显示图像大小信息: >> size(f) ans = 1024 1024 或者将大小信息赋给变量 ?或者将大小信息赋给变量: >> [M, N] = size(f); ?whos显示更为详细的信息: >> whos f Name Size Bytes Class f 1024x1024 1048576 uint8 array Grand total is 1048576 elements using 1048576 bytes 3 MATLAB图像处理基础 ?二. 显示图像: >> imshow(f) ?指定显示的灰度范围 >> figure, imshow(f, [100 200]) ?情况下显示图像的整个 动态范围: >> figure, imshow(f, [ ]) 4 MATLAB图像处理基础 ?直接显示: >> imshow(h)?改善动态范围: >> imshow(h, [ ]) 利用imshow改善图像动态范围(设图像已被读入到h): 5 MATLAB图像处理基础 ?以交互方式显示像素值: >> pixval ?利用pixval显示像素之间 距离:按下鼠标左键并拖 动 6

MATLAB图像处理基础 ?三. 将图像写入磁盘: >> imwrite(f, 'rose.jpg') ?对于JPEG压缩格式,可指定质量因子: >> imwrite(f, 'rose.jpg', 'quality', 25) 7 quality = 100quality = 50quality = 5 MATLAB图像处理基础?显示图像信息: >> imfinfo rose.jpg MATLAB图像处理基础?计算压缩率:将图像信息存储在结构变量中以方 MATLAB图像处理基础?四. MATLAB中的数据类型: MATLAB图像处理基础?五. MATLAB中的图像类型: MATLAB图像处理基础 ?六. 图像类型的相互转换:下表中的函数在图像类型转换中会进行必要的数据比例变换。 12 >> f = [-0.5 0.5;0.75 1.5] f = -0.5000 0.5000 0.7500 1.5000 >> g = im2uint8(f) g = 0 128 191 255 im2unit8将输入double类型数据中小于0的 数转换为0,大于1的数转换为255,其余数 据乘以255再四舍五入到最近整数。

相关文档
最新文档