基于matlab gui设计的光学实验仿真
发布时间:2024-11-08
发布时间: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.