基于Matlab的夫琅禾费衍射光学仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Matlab的夫琅禾费衍射光学仿真

摘要计算机仿真技术是以多种学科和理论为基础,以计算机及其相应的软件为工具,通过虚拟试验的方法来分析和解决问题的一门综合性技术。计算机仿真早期称为蒙特卡罗方法,是一门利用随机数实验求解随机问题的方法。

关键词:计算机仿真夫琅禾费衍射Matlab

Fraunhofer Diffraction Optical Simulation Based on Matlab

Abstract The computer simulation technology is based on a variety of disciplines and theoretical, with the computer and the corresponding software tools, we can analyze the virtual experimentation and solve the problem of a comprehensive technology. Computer simulation of early known as the Monte Carlo method, is a random problem solved using the method of random number test.

Key words:Computer simulation Fraunhofer diffraction Matlab

一、引言

计算机仿真技术是以多种学科和理论为基础,以计算机及其相应的软件为工具,通过虚拟试验的方法来分析和解决问题的一门综合性技术。计算机仿真早期称为蒙特卡罗方法,是一门利用随机数实验求

解随机问题的方法。根据仿真过程中所采用计算机类型的不同,计算机仿真大致经历了模拟机仿真、模拟-数字混合机仿真和数字机仿真三个大的阶段。20世纪50年代计算机仿真主要采用模拟机;60年代后串行处理数字机逐渐应用到仿真之中。到了70年代模拟-数字混合机曾一度应用于飞行仿真、卫星仿真和核反应堆仿真等众多高技术研究领域;80年代后由于并行处理技术的发展,数字机才最终成为计算机仿真的主流。现在,计算机仿真技术已经在机械制造、航空航天、交通运输、船舶工程、经济管理、工程建设、军事模拟以及医疗卫生等领域得到了广泛的应用。

计算机仿真的三个基本活动:

1. 数学模型建立:实际上是一个模型辩识的过程。所建模型常常是忽略了一些次要因素的简化模型。

2. 仿真模型建立:即是设计一种算法,以使系统模型能被计算机接受并能在计算机上运行。显然,由于在算法设计上存在着误差,所以仿真模型对于实际系统将是一个二次简化模型。

3. 仿真实验:即是对模型的运算。需要设计一个合理的、服务于系统研究的仿真软件。

二、本文的主要工作

本文主要使用matlab语言进行光学实验仿真,通过Matlab软件编程,用衍射积分和傅里叶变换方法实现夫琅禾费衍射计算机模拟,在大量实验的基础上建立基于Matlab的光学实验仿真系统, 用傅里叶变换方法对不同形状的孔径进行夫琅禾费衍射的模拟。

三、夫琅禾费衍射的简介

把单色点光源放在透镜的焦点上,经过透镜后的单色平行光垂直照射衍射屏时,在屏后面不同距离上会观察到一些衍射现象,其中当屏远离到足够大的距离后,光斑中心出现一个较大的亮斑,外围是一些较弱的明暗相间的同心圆环,此后再往外移动,衍射花样出现稳定分布,中心处总是亮的,只是半径不断扩大而已,这种衍射称为夫琅禾费衍射,又称远场衍射。

对于夫琅禾费衍射,光源和观察幕离障碍物(孔或屏)均为无穷远的衍射现象。实验装置如图,S 为单色点光源,放置在透镜L1的物方焦点处,所得平行光垂直入射到障碍物,借助于透镜L2将无穷远处的衍射图样移至L2的像方焦面上观察。

根据惠更斯-菲涅耳原理,单缝后面空间任一点P 的光振动是单缝处波阵面上所有子波波源发出的子波传到P 点的振动的相干叠加。

夫琅禾费衍射振幅公式一般为 其中, 观察屏上的光强表达式为: 四、Matlab 仿真

1.单缝夫琅禾费衍射

η

ξηξd d )](i ex p[),(⎰⎰+-=S y x f k C y x E ),(),(y x E y x E I *

⋅=f f y x f k A C λi ]}2/)([i ex p{22++=λ

π

2=k

单缝夫琅禾费衍射的计算机仿真程序如下:

clc;

clear;

a=-2*pi:0.0001*pi:2*pi;

p1=(1-sinc(a)).^2;

p2=sinc(a).^2;

figure;

plot(a,p2);

xlabel('kasinθ');

ylabel('光强I/I0');

title('单缝衍射强度分布');

lgray=zeros(256,3);

for i=0:255

lgray(i+1,:)=(255-i)/255;

end

figure;

imagesc(p1)

title('单缝衍射模拟图');

colormap(lgray)

计算机仿真,得到的单缝衍射的图样如下:

2.矩形孔夫琅禾费衍射

当矩形孔边长a=0.00003时,矩形孔夫琅禾费衍射的计算机仿真程序如下:

clear all

a=0.00003;

lmda=500e-9;

f=6;

k=lmda*lmda*f*f/(4*pi*pi);

h=pi*a*tan(pi/3)/(lmda*f);

x=-1:0.005:1;

y=-1:0.005:1;

for i=1:1:401

for j=1:1:401

A(i)=pi*a*x(i)/(lmda*f);

B(j)=pi*a*y(j)/(lmda*f);

I(i,j)=((sin(A(i)))/(A(i)+eps))^2*((sin(B(j)))/(B(j)+eps))^2;

end

end

figure(1)

imshow(I)

figure(2)

mesh(I)

计算机仿真得到的衍射图样如下:

3.正三角形夫琅禾费衍射

当正三角孔边长a=0.00003时,正三角孔夫琅禾费衍射仿真程序如下:clear all

a=0.00003;

lmda=500e-9;

f=10;

k=lmda*lmda*f*f/(4*pi*pi);

h=pi*a*tan(pi/3)/(lmda*f);

x=-1:0.004:1;

y=-1:0.004:1;

for i=1:1:501

for j=1:1:501

E1(i,j)=2*x(i)*sin(h*x(i))*sin(h*y(j)*tan(pi/6))/((x(i)*x(i)-y(j)*y(j)/3)*y(j)+eps);

E2(i,j)=-2*tan(pi/6)*(cos(h*x(i))*cos(h*y(j)*tan(pi/6))-cos(2*tan(pi/6)*h*y(j)))/(x(i) *x(i)-y(j)*y(j)/3+eps);

相关文档
最新文档