您的当前位置:首页正文

夫琅禾费圆孔衍射及mathematica的数值模拟

2021-08-26 来源:个人技术集锦
 华 东 交 通 大 学 课程设计(论文)

夫琅禾费圆孔衍射及mathematica模拟

学 院: 学 号: 姓 名:

专 业: 指导老师:

二零一四年一月八日

的数值 利用mathematica数值模拟圆孔衍射

目录

摘 要 ................................................................................................................. I Abstract ................................................................................................................... I 第1章 绪 论 ...................................................................................................... 1

1.1 背景和意义 ............................................. 1 1.2 主要方法和研究进展 ..................................... 1 1.3 主要内容与结构安排 ..................................... 1 第2章 夫琅禾费圆孔衍射 ................................................................................ 1

2.1 基尔霍夫衍射理论 ....................................... 1 2.2 圆孔的夫琅禾费衍射 ..................................... 2

2.2.1 复振幅公式 ................................................. 2

2.2.2 光强公式与光强分布分析 ..................................... 4 2.2.4 爱里斑 ..................................................... 5

2.3 用Mathematica模拟圆孔衍射的光强分布 ................... 5

2.3.1 Mathematica的一些功能 .................................... 5 2.3.2 圆孔衍射光强分布的模拟及分析 .............................. 6

2.4 总结 ................................................... 9

参考文献 .............................................................................................................. 10 附录 ...................................................................................................................... 10

利用mathematica数值模拟圆孔衍射 I

摘 要

夫琅禾费衍射,又称为远场衍射,是指光源和观察幕离障碍物(孔或屏)均为无穷远的,光线偏离原来传播方向弯入障碍物的几何影区内的,并在几何影区和几个照明区内形成光强不均匀分布的现象。对于观察屏上各点的光强分布,是通过由基尔霍夫衍射理论及其伴轴近似和夫琅禾费近似而得到的夫琅禾费衍射公式来说明的。夫琅禾费圆孔衍射的光强分布图是一些同心圆环,中间的艾里斑集中了绝大部分光强,研究夫琅禾费圆孔衍射对我们研究成像系统有很关键的作用。在本文中利用Mathematica软件模拟了夫琅禾费圆孔衍射,利用Mathematica软件中的有关函数可灵活调节入射波长、透镜焦距、圆孔半径各变量,直接形象地展示各个变量对衍射图样的影响。

关键词:基尔霍夫衍射理论; 艾里斑; 夫琅禾费圆孔衍射; mathematica

Abstract

Fraunhofer diffraction, also known as the far-field diffraction. Light curtain and observe from the obstacle (holes or screen) are infinity. Deviation from the original direction of propagation of light bent into geometric shadow zone obstructions.The formation of the light intensity distribution uneven phenomenon in the geometric shadow and lighting area. Light intensity distribution on the viewing screen at various points, by the Fraunhofer diffraction formula to illustrate. The Fraunhofer diffraction formula by Kirchhoff diffraction theory approximation through with axes and Fraunhofer approximation is obtained. Airy disk in the middle of the vast majority concentrated intensity. Fraunhofer diffraction studies of the hole we study the imaging system has a very crucial role. In this paper is to use Mathematica software to simulate the round hole of Fraunhofer diffraction intensity distribution. Use Mathematica software related functions can be flexibly adjusted incident wavelength, lens focal length, hole radius of each variable, vividly demonstrate the direct impact of each variable on the diffraction pattern.

Key words:Kirchhoff diffraction theory; Airy disk; Circular aperture Fraunhofer diffraction; mathematica

利用mathematica数值模拟圆孔衍射 1

第1章 绪 论

1.1 背景和意义

夫琅禾费圆孔衍射在实验室是可以实现的,而且也可以得到比较清晰的光强

分布图,但实验需要稳定的环境,高精密的仪器,在普通教室难以完成,在实验室室也受到时间安排等条件的限制,利用mathematica可以很好的解决这一问题,可以产生与真实实验相同的实验现象,达到与真实演示实验相同的演示效果。 光的衍射现象是光的波动性的一种表现,通过对光的衍射现象的研究,可以深入具体地了解光的波动性。本课题研究夫琅禾费圆孔衍射,对于深刻理解衍射的实质,研究光波在不同光学系统的传播规律,分析复杂图像的空间频谱分布以及改进光学滤波器设计等具有非常重要的意义。课题利用mathematica的绘图能力,根据衍射场的理论公式,得出光强分布并绘制光强的衍射图样。

1.2 主要方法和研究进展

根据夫琅禾费圆孔衍射光强分布的理论公式,通过mathematica来模拟,并进行分析。了解夫琅禾费衍射公式的推导,并得到夫琅禾费圆孔衍射公式,再通过mathematica的模拟,可以很好的改变个变量值,来观察其对衍射的影响。

1.3 主要内容与结构安排

夫琅禾费衍射公式是由基尔霍夫衍射理论推导而来的,下面会对基尔霍夫

衍射理论做详细的介绍,并通过它来推导夫琅禾费圆孔衍射公式,再由mathematica来模拟观察屏上的光强分布图样,改变影响光强分布的各参量,对图形进行比较和分析。

2章 夫琅禾费圆孔衍射

2.1 基尔霍夫衍射理论

基尔霍夫衍射理论又叫作标量衍射理论,它只适合标量波的衍射。它的基本内容是建立在惠更斯—菲涅耳原理基础上,并弥补了其不足之处,即:波前上的没一点都可以看成是一个次级扰动中心,发出球面子波;在后一时刻这些子波的包络面就是新的波前,且子波之间相干叠加,利用场论中格林定理,得到较完善的数学表达式,确定了倾斜因子的具体形式。在观察屏上P点的复振幅

利用mathematica数值模拟圆孔衍射 2

A~公式:E(P)iexp(ikl)exp(ikr)cos(n,r)cos(n,l)d lr2令C1cos(n,r)cos(n,l),k(), i2 图1 exp(ikr)Acos(ikl)~~K()d 且E(Q),则E(P)CE(Q)rl当点光源离孔径足够远时,此时到达孔的光可以看成事平面波,则cos(n,l)1, 令cos(n,r)cos,则K()1cos。 2因为基尔霍夫公式中被积函数的形式复杂,还需引入近似计算。由伴轴近似

11

有cos1,即K()1,,(z1是观察屏和衍射屏之间的距离);又有夫琅

rz1禾费近似,即将观察屏和光源移到离衍射孔径很远的地方,这时可以近似有

x2y2xx1yy1,如图2所示,其中(x1,y1)是衍射屏上的点坐标,(x,y)rz12z1z1是观察屏上的点坐标。从而可以得到在观察屏上某点的复振幅公式:

ik2ikexp(ikz1)~~2E(x,y)exp(xy)E(x1,y1)exp(xx1yy1)dx1dy1

iz12z2z11

1 yQC∑ K1 xyrPx

z1 0 PE 图2

2.2 圆孔的夫琅禾费衍射

2.2.1 复振幅公式

利用mathematica数值模拟圆孔衍射 3

圆孔夫琅禾费衍射的实验采用下图所示的系统。

y0

x0L2

R

ypoorp0xf

图3

因为观察夫琅禾费衍射需要入射平面波,故一般可以在衍射屏前放置一透镜,使入射光转化为平面波,也可以使用激光;又因为出射的光也是平面波,即要把观察屏放置在离衍射孔径很远的地方,但若是这样的话,在实验室中很难实现,所以可以使用透镜来缩短距离。如图3所示,在孔径后紧靠孔径处放置一个焦距为f的透镜,则由透镜的性质,对应于θ方向的光波将通过透镜汇聚于焦面上的P点。在焦面上观察到的衍射图样与没有透镜时在远场观察到的衍射图样相似,只是大小比例输小为f/z1。这对于我们只关心的衍射图样的相对强度分布来说,并无任何影响。

假定圆孔的半径为R,圆孔中心O位于光轴上,由于圆孔的圆对称性,在计算圆孔的衍射强度分布时采用极坐标比较方便。有x1r1cos1,y1r1sin1,xrcos,ysin,并把z1换成f,结合前面的观察屏上点(x,y)复振幅公式:

ik2~ikexp(ikz1)~E(P)exp(xy2)E(x1,y1)exp(xx1yy1)dx1dy1 ,可以得

iz12z12z1~E(P)C'expikr1)r1dr1d1,到夫琅禾费圆孔的复振幅公式:式中,1cos(00a2CA'x2y2Cexp(ikf),另一位相因子exp[ik()]在计算强度时最终将被消去,

f2f'为使式子简化,上式省略。根据零阶贝塞尔函数的积分表示式,

1J0(Z)22~'exp(iZcos)dE(P)2C ,则J0(kr1)r1dr1 ,根据J0(kr1)为偶

00a 利用mathematica数值模拟圆孔衍射 4

d函数的性质与贝塞尔函数的递推关系[ZJ1(Z)]ZJ0(Z) ,可以得到:

dZ2J(kR)~ 。 E(P)R2C'1kR

2.2.2 光强公式与光强分布分析

2~2J1(Z)22'22J1(kR)点的光强度 ,式中,pIE(P)(R)CI0kRZ22I0(R2)2C'是轴上点P0的强度,而ZkR 。在光学仪器理论中,这是个很

2重要的公式。

(1)、J1(Z)函数的性质

a. Z0时J1(Z)0,2J1(Z)的最大值为1/2的最大值=1/2; Z, 3.24,...; b. J1(Z)的零点在1.22,2.23c. Z增大J1(Z)以振荡形式衰减,如图4所示。

图4

J1(Z) J1(2m) 0.5 o 1.22π 2.23π 3.24π m Z

(2)、光强分布特点

由光强度公式可知,p点的强度与它对应的衍射角有关,而r/f,由此可知,对于确定入射光波长及圆孔半径的衍射在观察屏上的强度分布与对应的透镜焦距f有关,而与无关。I/I0关于Z的函数如图5所示。后面将会用

Mathematica软件来分析光强分布随,f,R的变化的情景。

a. 光强分布是以P0为中心的圆对称斑;

b. 几何像点光强具有极大值,中央亮斑—爱里斑(零级主极强);

利用mathematica数值模拟圆孔衍射 5

c. 爱里斑集中了入射光84%的能量,可看作由圆孔衍射所造成的光束扩展范围,其角半径即第一暗环的角半径;

I/I0

图5

Z

2.2.4 爱里斑

爱里斑在光学成像系统中有重要的地位,对于光学成像系统,除几何像差外,还有由光的衍射现象造成的衍射像差,我们一般利用用爱里斑角半径来说明成像系统的分辨请况。

在伴轴情况下,tansin。由第一级极小条件tansin0.61爱里斑半角宽:由第一级极小条件sin应的角宽度1。爱里斑线半径:lf10.61R

0.61 ,第一暗环的半径 r1对RRD判据作为分辨标准,即一个点物衍射图样的中央极大与近旁另一个点物衍射图样的第一极小重合,作为光学成像系统的分辨极限,认为此时系统恰好可以分辨开两个点物。

f1.22f 。一般以瑞利

2.3 用Mathematica模拟圆孔衍射的光强分布

2.3.1 Mathematica的一些功能

它是一个将计算与完整工作流程完全融合的开发平台。从一个最初的创意出发,到最终个人或企业解决方案的部署,从始至终,乃至中间的每一环节,都可以由它来实现。

Mathematica软件包是 Wolfram Research,Inc.推出的面向科学计算的交互式软件,具有强大的图形输出功能。该软件将三维图形的绘制和显示集成在

利用mathematica数值模拟圆孔衍射 6

Plot3D,Pa—rametricPlot3D,ListPlot3D和Show 等内部函数中,有4O个可选项用于对图形的修饰,并且在其 StandardPack—ages的Graphics中还有多达22类函数可以用于特殊图形的描绘和特殊效果的显示,用户不需编制复杂的程序,直接调用内部函数和外部函数,就可以完成图形的绘制及特性的分析。

这里说明它的二维,三维图及等高图的实现。

a. 两维画图

程序: f1[x_]:=x;f2[x_]:=x^2; f3[x_]:=x^3; Plot[{f1[x],f2[x],f3[x]},{x,0,10},PlotRange->{0,5},

PlotStyle->{RGBColor[1,0,0],RGB[Color[0,1,0],RGBColor[0,0,1]]},AxesLabel->{“x”, “functions”}]

解释:首先我们定义了三个函数f1,f2,f3,接着我们用Plot 命令画一个两维图,而且我们要把三个函数画在一个图里,所以我们用一个大括号括起来{f1[x],f2[x],f3[x]},接着我们希望在自变量x从0到10之间进行画图,所以用了命令{x,0,10},我们希望对函数的值域限制在[0,5]之间,所以我们用命令PlotRange->{0,5},我们知道如果三个函数画在一起,最好能够用不同的颜色表示不同的函数,方便区分,所以用命令PlotStyle->{RGBColor[1,0,0],RGB[Color[0,1,0],RGBColor[0,0,1]]},表示第一个函数红色,第二个函数绿色,第三个函数蓝色。AxesLabel->{“x”, “functions”}表示横轴坐标为x,纵轴坐标为functions。 b. 画三维图

程序:f[x_,y_]:=x^2/(y+y^3)

Plot3D[f[x,y],{x,-5,10},{y,0,10},PlotRange->All,PlotPoints->80, BoxRatios->{1,1,0.8}, AxesLabel->{“x”, “y”, “f(x,y)”}]

解释:Plot3D 表示画三维图,两个变量分别为x,y,范围是 -5长宽高比例为1:1:0.8, 坐标表示为 x,y,f(x,y)。 c. 画等高图

ContouPlot[f[x,y],{x,-5,10},{y,0,10},PlotPoints->80]

2.3.2 圆孔衍射光强分布的模拟及分析

有公式:

222J1(Z)2J1(Z)2J1(kRr/f)2J1(2Rxy/f)II0I/I0 22ZZkRr/f2Rxy/f由此公式,即可通过mathematica画出光强分布图。光强分布是随圆孔半径R,

2222入射光波长,透镜焦距f而变的,下面对其进行逐一分析。 a. 光强分布随波长变化的模拟与分析

波长取400nm,R=1mmf=1000mm得到三维图与等高图为:

利用mathematica数值模拟圆孔衍射 7

图6

由图可知,圆孔衍射光强分布图样中心艾里斑强度最大,向周围扩展,亮环越来越细且强度越弱。

当波长改为600nm时有,三维图及等高图为:

图7

由图可知,圆孔衍射光强分布图样随着入射光波长的增大中心艾里斑半径越大,周围的亮环半径越大,亮环也是越粗。 b. 光强分布随透镜焦距f变化的模拟与分析

波长=400nm,R=1mmf=600mm得到三维图与等高图为:

利用mathematica数值模拟圆孔衍射 8

图8 当波长f=1000mm时,三维图与等高图为:

图9

从图8与图9的比较可知,衍射图样随透镜焦距f的增大,衍射图样越清晰,艾里斑半径越大各亮环半径增大且变粗。

c. 光强分布随衍射圆孔半径R变化的模拟与分析

波长=400nm,R=0.7mm,f=1000mm得到三维图与等高图为:

利用mathematica数值模拟圆孔衍射 9

图10 当R=1mm时,三维图与等高图为:

图11

从图10与图11的比较可知,衍射图样随圆孔半径R的增大,衍射图样越清晰,艾里斑半径越大各亮环半径增大且变粗。

2.4 总结

夫琅禾费衍射实验,若是在实验室观察,虽然较为清晰,但是不好对比,然而运用mathematica模拟光的衍射光强分布,可以简便、直观地展现了光的衍射这一物理现象,并且清楚的比较各参数变量变化而引起的图样变化。而且用计算机模拟不受实验条件的限制,使用方便,既可以用于教师的课堂教学,又可以与物理实验搭配使用,让学生在观察实验现象的同时与计算机模拟相比较,由此激发学生去探索实验环境和操作方法对实验现象的影响。通过计算机模拟将解析的

利用mathematica数值模拟圆孔衍射 10

代数形式转化为几何模式,把抽象思维与形象思维联系在一起,可以有效地加深学生对概念和原理的理解,也可以鼓励学生自己创新设计新的程序来模拟实验。培养学生的动手和创新能力。

参考文献

[1]姚启钧.光学教程.第四版.高等教育出版社,2008.(6)82-89

[2]李国.Mathematica软件在函数图形绘制及特性分析中的应用[J].现代电子技术,2006,(22):1-1

[3]梁铨廷.物理光学.第三版.高等教育出版社,2008.(4) 174-179 [4]梁铨廷.物理光学.第三版.高等教育出版社,2008.(4) 177

[5]钟锡华.现在光学基础.北京大学出版社,2003.(1)89-97 [6]赵凯华.光学.高等教育出版社,2004.(1)163-193

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

附录

图6:

z[λ_,R_,f_,x_,y_]:=(2λ*R)/(λ*f)*x^2y^2;

i[λ_,R_,f_,x_,y_]:=((2BesselJ[1,z[λ,R,f,x,y]])/z[λ,R,f,x,y])^2

Plot3D[i[400*10-6,1,1000,x,y],{x,-1,1},{y,-1,1},PlotRangeAll,PlotPoints50,BoxRatios{1,1,0.8}]

ContourPlot[i[400*10-6,0.5,1400,x,y],{x,-3,3},{y,-3,3},PlotPoints200] 图7:

z[λ_,R_,f_,x_,y_]:=(2λ*R)/(λ*f)*x^2y^2;

i[λ_,R_,f_,x_,y_]:=((2BesselJ[1,z[λ,R,f,x,y]])/z[λ,R,f,x,y])^2

Plot3D[i[600*10-6,1,1000,x,y],{x,-1,1},{y,-1,1},PlotRangeAll,PlotPoints50,BoxRatios{1,1,0.8}]

ContourPlot[i[600*10-6,1,1400,x,y],{x,-3,3},{y,-3,3},PlotPoints200] 图8:

z[λ_,R_,f_,x_,y_]:=(2λ*R)/(λ*f)*x^2y^2;

利用mathematica数值模拟圆孔衍射 11

i[λ_,R_,f_,x_,y_]:=((2BesselJ[1,z[λ,R,f,x,y]])/z[λ,R,f,x,y])^2

Plot3D[i[550*10-6,1,600,x,y],{x,-1,1},{y,-1,1},PlotRangeAll,PlotPoints50,BoxRatios{1,1,0.8}]

ContourPlot[i[550*10-6,1,700,x,y],{x,-3,3},{y,-3,3},PlotPoints200] 图9:

z[λ_,R_,f_,x_,y_]:=(2λ*R)/(λ*f)*x^2y^2;

i[λ_,R_,f_,x_,y_]:=((2BesselJ[1,z[λ,R,f,x,y]])/z[λ,R,f,x,y])^2

Plot3D[i[550*10-6,1,1000,x,y],{x,-1,1},{y,-1,1},PlotRangeAll,PlotPoints50,BoxRatios{1,1,0.8}]

ContourPlot[i[550*10-6,1,1000,x,y],{x,-3,3},{y,-3,3},PlotPoints200] 图10:

z[λ_,R_,f_,x_,y_]:=(2λ*R)/(λ*f)*x^2y^2;

i[λ_,R_,f_,x_,y_]:=((2BesselJ[1,z[λ,R,f,x,y]])/z[λ,R,f,x,y])^2

Plot3D[i[550*10-6,0.7,1000,x,y],{x,-1,1},{y,-1,1},PlotRangeAll,PlotPoints50,BoxRatios{1,1,0.8}]

ContourPlot[i[550*10-6,0.7,1000,x,y],{x,-3,3},{y,-3,3},PlotPoints200] 图11:

z[λ_,R_,f_,x_,y_]:=(2λ*R)/(λ*f)*x^2y^2;

i[λ_,R_,f_,x_,y_]:=((2BesselJ[1,z[λ,R,f,x,y]])/z[λ,R,f,x,y])^2

Plot3D[i[550*10-6,1,1000,x,y],{x,-1,1},{y,-1,1},PlotRangeAll,PlotPoints50,BoxRatios{1,1,0.8}]

ContourPlot[i[550*10-6,1,1000,x,y],{x,-3,3},{y,-3,3},PlotPoints200]

因篇幅问题不能全部显示,请点此查看更多更全内容