基于matlab gui设计的光学实验仿真

发布时间:2024-11-08

讲述应用Matlab来实现圆孔衍射的界面设计。

2007级计算机课程设计

测控与光电技术学院 电子科学与技术 专业

课程设计题目

学 生 姓 名 吴海

班 级 070832

指 导 教 师 钟可君

日 期 2010 年 6 月 28 日

南 昌 航 空 大 学

讲述应用Matlab来实现圆孔衍射的界面设计。

测试与光电工程学院

计算机课程设计任务书

系班 学生:吴海

课题名称: 圆孔衍射现象计算机仿真设计

课题内容:

1、课题设计要求:

(1)分析圆孔衍射的物理过程,建立数学模型;

(2)设计算法流程图;

(3)编写程序,并对仿真结果进行分析。

2、工作进度安排:

查阅资料,设计算法流程图 6月28日~ 7月4日 第

18周

编写程序,撰写报告 7月5日 ~ 7月9日 第

19周

主要参考资料:

[1]. 姚启钧.光学教程[M]. 北京:高等教育出版社

[2]. 宋清,熊万杰.光学现象的计算机仿真[J].中山大学学报论

丛,2005,25(3):24-29.

[3].圆孔衍射与像分辨本领的MATLABF仿真分析[J].湖北工学院

学报,2004,19(5):47-49.

[4].MATLAB GUI在光学仿真中的应用[J].通化师范学院学报,

讲述应用Matlab来实现圆孔衍射的界面设计。

2010,31(2):52-54.

系负责人: 指导教师: 钟可君 时间:2010年6月21日

单孔衍射上机试验

上机试验程序(1)

%圆孔衍射

clc

clear

lam=500e-9

a=1e-3

f=1

m=300;

ym=4000*lam*f;

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

xs=ys;

n=200;

for i=1:m

r=xs(i)^2+ys.^2;

sinth=sqrt(r./(r+f^2));

x=2*pi*a*sinth./lam

hh=(2*BESSELJ(1,x)).^2./x.^2;

b(:,i)=(hh)'.*5000;

end

subplot(1,2,1)

image(xs,ys,b)

colormap(gray(n))

subplot(1,2,2)

b(:,m/2)

plot(ys,b(:,m/2))

程序运行后的结果 单孔衍射图

讲述应用Matlab来实现圆孔衍射的界面设计。

光强分布图

[摘 要]运用MATLAB6的软件平台,编制演示程序,对圆孔衍射像分辨本领进行仿真分析.

[关键词]圆孔衍射;分辨本领; Airy斑;仿真分析

意义:圆孔作为光学仪器基本形状,其衍射现象在光学研究中占有重要地位.光学衍射现象的实验演示需要特定的实验仪器和实验所,给研究工作带来许多不便.另外,清晰的圆孔衍射图样,要求的圆孔 半径很小,在一般实验中难以实现.基于MATLAB6软件强大的计算

讲述应用Matlab来实现圆孔衍射的界面设计。

能力和可视化功能上的优势,利用计算机对圆孔衍射过程进行仿分析,可以使衍射现象直观地表现出来;通过调整实验参数,可以同步生成不同实验条件下的衍射图样,便于对衍射现象和像分辨本领进行比较分析;利用色图表现光强分布,使实验效果更为逼真,在实和研究中具有重要意义.

1 圆孔衍射的实验装置与数学模型的、建立

圆孔夫琅禾费衍射装置如图1所示,S为点光 源,位于透镜L1的焦平面的主光轴上,光屏E置于 焦距为D的透镜L2的焦平面上.圆孔P的半径为 R.入射光波长为λ

.

射圆孔时,沿衍射角θ方向传播的次波在光屏

Q(x,y)处的光强分布为[1]

Iθ= I0(J1(2m)m)2.

其中:m=πRλsinθ,sinθ=x2+y2x2+y2+D2;I0为 分常数.

2 主程序编写与衍射图样的生成

讲述应用Matlab来实现圆孔衍射的界面设计。

运用MATLAB编制运算程序circle_aperture

base01.m,程序运行后,在坐标区可以生成圆孔

琅禾费衍射图样.为了满足程序的普遍性和通用性, 主程序中共设置5个输入参数,分别为λ,D,R,

θ0(入射光垂直入射为θ0=0),最大坐标范围xmax. 长度以毫米为单位.主程序circle_aperture_base01. m如下:

function circle_aperture_base01(lambda,D,R,theta0,xmax) %对参量赋值

lambda=6.328*1e-4;D=64;R=0.02;xmax=pi;theta0=0

%设定图像的范围,并把x分成401个点(根据程序需要,设为奇数

点).

x=linspace(-xmax,xmax,401);

[x,y]=meshgrid(x); %%建立x,y网格

%建立强度分布矩阵

x0=D*tan(theta0);

sin_theta=sqrt(((x-x0).^2+y.^2)./((x-x0).^2+y.^2+D^2)); %%sin(theta)

讲述应用Matlab来实现圆孔衍射的界面设计。

z=R*sin_theta/lambda; %%z=Rsin(theta)/lambda m=pi*z;

I=(bessel(1,2*m)./m).^2;

%生成强度分布图

%绘制相对光强与x坐标的关系曲线(沿y=0方向) subplot('position',[0.15 0.6 0.7 0.35]),plot(x(1,:),I((end+1)/ 2,:))

%绘制相对光强与坐标(R*sin(theta)/lambda)的关系曲线(沿y=

0方向)

subplot(2,2,3),plot(z((end+1)/2,:),I((end+1)/2,:)); %绘制强度分布的灰度图

NCLevers=255; %%确定用的灰度等级为255

Imax=max(max(I));

Ir=I/Imax*NCLevers;

colormap(gray(NCLevers)); %%用灰度级颜色绘图

subplot(2,2,4),image(x(1,:),y(:,1),Ir) %%绘制强度的灰度图

axis square

讲述应用Matlab来实现圆孔衍射的界面设计。

axis([-2 2 -2 2]);

colorbar('vert')

程序运行后,在坐标区,生成强度分布曲线和色 图(如图2,图中的极值判断和文字标示命令在程序 中未列出).图中,上图表示强度沿x坐标(y =0)分 布,下图左侧表示强度随无量纲因子Rsinθ/λ的变 化规律,右侧则表示光强在xoy平面的变化规律,中 央的白色亮区为Airy斑.在光强曲线图中,用红点 和绿点表示极大值点和极小值点,对应坐标也在图 2(c)中央明区中给出

.

3 衍射图样分析

讲述应用Matlab来实现圆孔衍射的界面设计。

3.1 Airy斑与极小值

由图2可知,当Rsinθ/λ≈0.61时,出现第一级 极小值.定义在光屏上由两个第一级极小值之间所 围圆形区间为Airy斑.Airy斑的中心位于坐标原 点,其角半径为0.61λ/R,如图所示.

3.2 第一级次极大

由图2可知,当Rsinθ/λ≈0.82时,出现第一级 次极大值,其相对光强为1.7%.其余次极大的光强 将更小.

3.3 参数对衍射图样的影响

进一步调整参数R、D及λ,其Airy斑及各级 衍射环的相对位置发生变化.如图3所示,Airy斑 的角半径与R成反比,与λ成正比,其线半径与D成 正比.

讲述应用Matlab来实现圆孔衍射的界面设计。

5 结论

从上面的一系列讨论可以发现,通过计算机编

程,对圆孔夫琅禾费衍射进行仿真分析,无需复杂的 实验仪器和苛刻的实验环境,可在短时间内完成多 种实验条件衍射图样的演示.运用MATLAB强大 的数值计算功能和优越的可视化特征,可以同步求 出衍射图样的一些重要物理量的数值,满足仿真实 验的需要,为教学和研究工作提供了强有力的演示 工具.利用计算机编程,仿真演示复杂的物理现象, 作为计算物理学的一个发展方向,具有广阔的发展

讲述应用Matlab来实现圆孔衍射的界面设计。

前景.

[ 参 考 文 献 ]

[1] 姚启钧.光学教程[M].北京:高等教育出版社, 2002.

[2] 赵凯华,钟锡华.光学(上册)[M].北京:北京大学出版 社, 1984.

摘 要:采用matlab7.0强大的函数作图功能对圆孔、矩孔和双矩孔的夫琅和费衍射进行模

拟,建立直观形象并且精确完整的理论模型,并附上程序代码,将干涉理论联系起来,分析衍射和

干涉的本质。

在一些光学教科书[1,2]中,讨论衍射理论的

时候多数只对单缝的夫琅和费衍射和圆孔的夫琅

和费衍射进行讨论,而不提及夫琅和费矩孔衍射

和双矩孔的夫琅和费衍射。为此,本文借助衍射

理论的数学模型,利用MATLAB7.0对夫琅和费

衍射进行计算机模拟,通过改变衍射条件,从而可

以看出衍射现象的具体变化。另外,本文同时附

上了几个典型的代码,便于参考。

1 夫琅和费衍射理论

衍射是光的波粒二象性中波动性的表现,是

光的基本属性之一。其主要表现在光波在遇到一

定尺寸的障碍物时不沿直线传播而绕过障碍物继

续传播。

讲述应用Matlab来实现圆孔衍射的界面设计。

图1 光衍射原理图

如图1,假设光在衍射屏∑平面上的某个波 前点P0和观察点P的坐标分别是(x0,yo)和(x, y),当衍射屏相距光源以及观察点无限远时,即 P0和P同时满足远场条件: | z|≥x2/λ、y2/λ和 |z|≥x20/λ、y20/λ时,光场复振幅的分布满足夫琅 和费衍射公式[3]:

U(P) =

-ieikzλz ∑U0(P0)exp(-ikxx0+yy0z)dx0dy0

(1)

公式中z是衍射屏和观察屏的距离,λ为光波 波长, U0(P0)为光在P0处的复振幅。

因此,观察屏上任意一点P的光强分布为: I(P) =| U(P) |2。对于不同情况的衍射屏,只要 对衍射孔进行积分,理论上都是可以求出观察屏 上任意一点P的光强分布I(P),从而可以对光强 的分布进行定量研究。

2 夫琅和费圆孔衍射仿真

当衍射孔为半径为r的圆孔时,根据公式

(3),可以导出其夫琅和费衍射光强公式[1]为:

参考文献

[1]姚启钧.光学教程[M].北京:高等教育出版社, 2008: 69-102.

[2]马科斯·波恩,埃米尔·沃耳夫.光学原理(第七版, 上册)[M].北京:电子工业出版社,2005:342-400.

[3]赵建林.光学[M].北京:高等教育出版社, 2006: 200 -202.

[4]蓝海江,潘晓明,吴建生.夫琅禾费矩孔衍射的特征 及MATLAB模拟[J].柳州师专学报, 2006(3): 111 -113.

[5]孙为民,黎明,宋志章.夫朗和费双矩孔衍射图样的 分析[J].高师理科学刊, 2004(2): 28-29.

基于matlab gui设计的光学实验仿真.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219