多缝的夫琅和费衍射matlab仿真
基于MATLAB的夫琅和费衍射实验的计算机仿真

式 中 J x是 一 阶 贝塞 尔 函 数 , 拟 时 令 f l h 6 0m, ,) ( 模 = m,= 0 n
a 0O 1 利用 MAT A = .0 m, L B编程 , 程序运行完毕后 , 依次得到 以 下图形 7 。圆孔衍射和矩孔衍射的三维 图形基本相 同, 二维 图
平 面 上 会 聚 点 Q(,) xy 的和 振 动 的 相 对 强 度 为 : I I u) Sl ) ( Q) ds (lP m r
u
v
() 1
于学生的理解 。同时通过 多种元 件的夫琅和费衍射 计算机仿
真, 能够动态直观地呈现光学衍射 中各种物 理量之间 的关 系,
有利于大学物理实验中光学部分教学的开展 。因此 , 我们应 当 充分利用计算机软件功 能为教学增添活力 ,为 学生理解复杂
Z agZ i n S uig J n e gh n YagK n L ne g Yag njn h n hf g uY l i g n cu n u iu f n gu e n a F J n Ho
(】潘 柏 根 , 施群 , 志 建 . 于 V +的 夫 琅 和 费 衍 射 仿 真 [] 5 金 刘 基 c+ J.
仪 器 仪表 用 户 ,0 O4: 66 . 2 l()6 —9
[]夏 静 , 6 陆训 毅 , 德 君 . 杨 圆孔 、 方 孔 和 双 矩 孔 夫琅 和 赞 衍 射 的
I tr ̄inN nfr n e n nen o Co ee c o M e s rn Te h lg a d M e h to is a ui g c noo y n c ar nc
Au o a i n Co f r n e o I EE: 0 — 0 . t m to , n e e c f E 9 2 9 5
基于Matlab的夫琅禾费衍射光学仿真设计

基于Matlab的夫琅禾费衍射光学仿真摘要计算机仿真技术是以多种学科和理论为基础,以计算机及其相应的软件为工具,通过虚拟试验的方法来分析和解决问题的一门综合性技术。
计算机仿真早期称为蒙特卡罗方法,是一门利用随机数实验求解随机问题的方法。
关键词:计算机仿真夫琅禾费衍射MatlabFraunhofer Diffraction Optical Simulation Based onMatlabAbstract 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年代后串行处理数字机逐渐应用到仿真之中。
模拟夫琅禾费衍射的matlab源代码

源代码:N=512;disp('衍射孔径类型1.圆孔 2.单缝3.方孔')kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型while kind~=1&kind~=2&kind~=3disp('超出选择范围,请重新输入衍射孔径类型');kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型endswitch(kind)case 1r=input('please input 衍射圆孔半径(mm):');% 输入衍射圆孔的半径I=zeros(N,N);[m,n]=meshgrid(linspace(-N/16,N/16-1,N));D=(m.^2+n.^2).^(1/2);I(find(D<=r))=1;subplot(1,2,1),imshow(I);title('生成的衍射圆孔');case 2a=input('please input 衍射缝宽:');% 输入衍射单缝的宽度b=1000;% 单缝的长度I=zeros(N,N);[m,n]=meshgrid(linspace(-N/4,N/4,N));I(-a<m&m<a&-b<n&n<b)=1;subplot(1,2,1);imshow(I);title('生成的衍射单缝');case 3a=input('please input 方孔边长:');% 输入方孔边长I=zeros(N,N);[m,n]=meshgrid(linspace(-N/4,N/4,N));I(-a/2<m&m<a/2&-a/2<n&n<a/2)=1;subplot(1,2,1),imshow(I);title('生成的方孔');otherwise kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型end% 夫琅禾费衍射的实现过程L=500;[x,y]=meshgrid(linspace(-L/2,L/2,N));lamda_1=input('please input 衍射波长(nm):');% 输入衍射波长;lamda=lamda_1/1e6k=2*pi/lamda;z=input('please input 衍射屏距离衍射孔的距离(mm):');% 衍射屏距离衍射孔的距离h=exp(1j*k*z)*exp((1j*k*(x.^2+y.^2))/(2*z))/(1j*lamda*z);%脉冲相应H =fftshift(fft2(h));%传递函数B=fftshift(fft2(I));%孔频谱G=fftshift(ifft2(H.*B));subplot(1,2,2),imshow(log(1+abs(G)),[]);title('衍射后的图样');figuremeshz(x,y,abs(G));title('夫琅禾费衍射强度分布')实验输入:衍射孔径类型1.圆孔 2.单缝3.方孔please input 衍射孔径类型:1please input 衍射圆孔半径(mm):3please input 衍射波长(nm):632lamda =6.3200e-04please input 衍射屏距离衍射孔的距离(mm):1000000实验结果:程序说明:本实验可以选择孔径类型、孔径半径、输入波长、衍射屏和衍射孔的距离等。
matlab实现夫朗和费矩形和圆孔衍射

2、用MATLAB仿真平行光束的衍射强度分布图样。
(夫朗和费矩形孔衍射、夫朗和费圆孔衍射、夫朗和费单缝和多缝衍射。
)理论推导部分2.(1)夫朗和费矩形孔衍射若衍射孔为矩形则在透镜焦平面上得到的衍射图样如图,衍射图样的主要特征为衍射亮斑集中分布在两个相互垂直的方向上,并且x轴上的亮斑宽度与y轴亮斑宽度之比,恰与矩形孔在两个轴上的宽度相反。
其中的θ为θx,同样的β中的θ为θy,利用θx=x/f,θy=y/f进行求解。
(2)夫朗和费圆形孔衍射夫朗和费圆孔衍射的讨论方法和矩形孔衍射的讨论方法相同,只是由于圆孔的几何对称性,采用极坐标更为方便。
Ф=kaθ2.(1)夫朗和费矩形孔衍射clear all;lamda=500e-9;a=1e-3;b=1e-3;f=1;m=500;ym=8000*lamda*f;ys=linspace(-ym,ym,m)xs=ys;n=255;for i=1:msinth2=ys./sqrt(ys.^2+f^2);%相当于x/fsinth1=xs(i)/sqrt(xs(i).^2+f^2);%xs(i)作用每给一个ys值,要遍历到所有的x值angleA=pi*a*sinth1/lamda;%相当于书上的alfa=kax/2f k=2*pi/lamdaangleB=pi*b*sinth2./lamda;B(:,i)=(sin(angleA).^2.*sin(angleB).^2.*5000./(angleA.^2.*a ngleB.^2));%光强度公式endsubplot(1,2,1)image(xs,ys,B)colormap(gray(n))subplot(1,2,2)plot(B(m/2,:),ys)(2)夫朗和费圆孔衍射clearlam=500e-9a=1e-3f=1m=300;ym=5*0.61*lam*f/a;%取爱里光斑半径的5倍ys=linspace(-ym,ym,m);xs=ys;n=200;for i=1:mr=xs(i)^2+ys.^2;%相当于r的平方sinth=sqrt(r./(r+f^2));%角度fai=2*pi*a*sinth./lam;%fai=k*a*sinthhh=(2*BESSELJ(1,fai)).^2./fai.^2;%贝塞尔函数 b(:,i)=hh.*5000;endsubplot(1,2,1)image(xs,ys,b)colormap(gray(n))subplot(1,2,2)b(:,m/2)plot(ys,b(:,m/2))。
多缝的夫琅和费衍射matlab仿真

4、多缝的夫琅和费衍射,使用平行光照明,观察衍射图样随点光源位置(光源上下移动)的变化 θθθ图4-1 图4-2多缝夫琅禾费衍射如图4-1所示。
由于相邻单缝在P 点产生的夫琅禾费衍射的幅值与中心单缝的相同,只是产生一个相位差θλπδsin 2d =,故,经证明,P 点处的光强为:220)2sin 2sin ()sin ()(δδααN I P I =, 其中θλπαsin a =,θλπδsin 2d =。
因而,程序代码如下:clear %清除原有变量Lambda=600*(1e-9); %设置波长为600nma=0.005*(1e-3); %设置衍射屏参数:缝宽为0.005mm , 缝距为0.02mmd=0.02*(1e-3);f=0.01; %汇聚透镜焦距设置为1cmN=20; %设置缝数为20ni=1000;x=linspace(-0.005,0.005,ni); %将衍射屏按照狭缝方向分为ni 个微元 for k=1:nisn=x(k)/sqrt(x(k).^2+f^2);alpha=pi*a*sn/Lambda; %算各微元对应的α和δ值delta=2*pi*d*sn/Lambda;I(k)=(sin(alpha)/alpha).^2*(sin(N*delta/2)/sin(delta/2)).^2; %求出各处的光强endfigure(gcf); %显示图像NCLevels=250;Br=I*NCLevels;image(0,x,Br);colormap(gray(NCLevels));title('二维强度分布');运行后结果如图4-2所示。
将光源上下移动的结果如图4-3所示:图4-3 图4-4点光源发出的光经过准直透镜后形成倾斜入射的平行光,倾斜角度为i 。
此时,P 点强度的公式为:220)sin ()sin ()(ββααN I P I =, 其中)sin (sin i a -=θλπα,)sin (sin i d -=θλπβ。
应用Matlab模拟光的夫琅禾费衍射的研究

应用Matlab模拟光的夫琅禾费衍射的研究摘要:光的衍射是一种非常重要的光的物理现象。
它指的是:光将障碍物绕过,偏离直线传播路径,然后进入阴影区里的现象。
它也是光的波动表现的一种现象。
衍射系统的组成有三个部分,它们分别是:光源、衍射屏、接收屏(用来接收衍射图样的屏幕)。
通常情况下,我们根据衍射系统当中三个组成部分之间相互距离的大小,将衍射现象分为两类:一类叫做菲涅耳(Fresnel)衍射,剩下的一类叫做夫琅禾费(Fraunhofer,)衍射。
此文通过Matlab软件,进行编程,进而对夫琅禾费衍射过程进行模拟。
然后给出衍射光强分布图形,又通过对光的波长、焦距、缝宽等因素的改变,得到了衍射光强的分布和它的变化规律,并在理论上作出了合理的解释。
从而帮助我们更深刻的理解光的波动性原理。
关键词:Matlab;衍射;光学实验目录1 绪论 (1)1.1光的衍射现象 (1)1.2 Matlab模拟的意义 (1)2 光的衍射理论 (3)2.1 惠更斯原理 (3)2.2 惠更斯——菲涅耳原理 (3)3夫琅禾费衍射原理 (4)3.1 夫琅禾费单缝衍射 (4)3.2 夫琅禾费双缝衍射 (5)4 夫琅禾费衍射模拟 (6)4.1 单缝 (6)4.2 矩孔 (12)5 总结 (15)参考文献 (15)1 绪论1.1光的衍射现象自然界之中有一些光的现象,它们与人们已经发现的光的直线传播现象并不是百分百符合。
这些现象相继在17世纪之后被科学家们发现。
这就是由光的波动性表现出来的。
在这些现象之中,人们第一个发现的光的现象便是衍射现象,而且还在发现的同时做了些实验与理论的研究和探讨。
第一次成功发现衍射现象的科学家是意大利的物理学者格里马第。
在他的一部著作里描写了这样一个实验:让光通过很小的一个孔后射入到一个暗室里面,利用这种方法来形成点光源,然后在光路上面放置根直杆。
这时发现了两个特殊的现象:一个是影子,它投在白色的屏幕之上,以光的直线传播理论假定的影子要比它的宽度要小;另一个就是在这个影子的边缘还呈现出大约2、3个条带,条带是彩色的,随着光的增强,增强到很强的时候,这些条带甚至进入影子里。
基于Matlab的光学衍射实验仿真

基于Matlab的光学衍射实验仿真()摘要通过Matlab软件编程,实现对矩孔夫琅和费衍射的计算机仿真,结果表明:该方法直观正确的展示了衍射这一光学现象,操作性强,仿真度高,取得了较好的仿真效果。
关键词夫琅和费衍射;Matlab;仿真1引言物理光学是高校物理学专业的必修课,其中,光的衍射既是该门课程的重点内容,也是人们研究的热点。
然而由于光学衍射部分公式繁多,规律抽象,学生对相应的光学图像和物理过程的理解有一定的困难,大大影响了教学效果。
当然,在实际中可以通过加强实验教学来改善教学效果,但是光学实验对仪器设备和人员掌握的技术水平要求都较高,同时实验中物理现象容易受外界因素的影响,这给光学教学带来了较大的困难1【-5】。
随着计算机技术的迅速发展,现代化的教育模式走进了课堂,利用计算机对光学现象进行仿真也成为一种可能。
Matlab是一款集数值分析、符号运算、图形处理、系统仿真等功能于一体的科学与工程计算软件,它具有编程效率高、简单易学、人机交互好、可视化功能、拓展性强等优点[6-8],利用Matlab编程仿真光学现象只需改变程序中的参数,就可以生成不同实验条件下的光学图像,使实验效果更为形象逼真。
在课堂教学中,能快速的验证实验理论,使学生更直观的理解理论知识,接受科学事实。
本文以矩孔夫琅和费衍射为例,介绍了Matlab在光学衍射实验仿真中的应用。
2 衍射基本原理衍射是光波在空间或物质中传播的基本方式。
实际上,光波在传播的过程中,只要光波波面受到某种限制,光波会绕过障碍物偏离直线传播而进入几何阴影,并在屏幕上出现光强分布不均匀的现象,称为光的衍射。
根据障碍物到光源和考察点的距离,把衍射现象分为两类:菲涅尔衍射和夫琅和费衍射。
研究不同孔径在不同实验条件下的光学衍射特性,对现代光学有重要的意义。
如图1所示,衍射规律可用菲涅尔衍射积分表示,其合振幅为[9]:(1)其中,K是孔径平面,E是观察平面,r是衍射孔径平面Q到观察平面P的距离,d是衍射孔径平面O到观察平面P0的距离,cosθ是倾斜因子,k=2π/λ是光波波数,λ是光波波长,x1,y1和x,y分别是孔径平面和观察平面的坐标。
多缝夫琅禾费衍射现象仿真实现及分析

h frdf a t np e o n ep ee td n eFa n oe i rcinp e o n f l —lsf a— oe i rci h n me aa rsne . ru h fr f a t h n me ao t si t o r d o mui t g r
ig i iee t u b r c urdb eetom t d r ue l o ol p rh n epi- n )wt df rn n m e q i yt s w e o s e sf t nyt apee dt r h a e h h a un o h n
周 峰 徐代升 ,
(. 1 昆明理工大学理学 院, 云南 昆明 60 9 ;. 50 3 2 厦门理工学 院数理系 , 福建 厦 门 3 12 ) 604
摘要 : 光的衍射理论 出发 , 从 论述 了借助计算机和可视 化程序设计语 言仿真 实现 夫琅 禾费衍射现 象的衍射 积 分法和傅立叶变换 法。运用上述 2种方法仿真 实现 不同形式多缝 ( 光栅) 夫琅禾 费衍射现 象, 其结果有 助于
理解 多缝夫琅 禾费衍射现 象的特性和光栅的分光机理 , 为更好的设计和利 用衍射光栅提供 了有益参考。
关键词 : 夫琅禾 费衍射 ; 计算机 仿真; 多缝 ( 光栅) MA L B ; TA
中图 分 类 号 : 482 0 3 . 文 献 标 识 码 : A
An lssa d i u a o fFr u ho e fr ci n o u t-l s ay i n S m l t n o a n fr Di a to fM l si i i t
光栅光谱பைடு நூலகம்。光栅的分光原理可以用求多缝夫琅
禾费衍 射 图样 中亮纹 位置 的公 式来进 行解 释。 目
基于Matlab的夫琅和费单缝衍射的仿真分析

( a g h uU i ri o tnCo e eG a g h u 5 7 , ia Gu n z o nv syS na l g , u n z o 1 0Ch ) e t o 1 3 n
Ab t a tF e n l n e r l meh d t d r e s ge si F a n o e if ci n itn i it b t n f r ls n i a sr c : r s e itg a to o e v i l-l r u h fr d f a to n e s y d s i ui o mu a , d vs l i n t r t r o a u
衍 射 分为 菲涅 尔衍射 与 夫琅禾 费 衍射 。一 般将 满足 远场 近似 鱼 P 椭 f 条 件 的衍射 称 为夫 琅禾 费衍射 ,满 足 近场 近似 条件 的衍 射称 为 菲 b 涅 耳衍 射 。研 究夫 琅禾 费单缝 衍射 的方法 用传 统 的半波 带理 论及 所 以 由惠一 菲原理 可得 沿 0 向传 播 的所 有 次波 在 P点叠 加 方 振 幅矢 量 叠加 法 , 只 能给 出某些 特 定平 面上光 场 的近似 分 布 。 但 的合 振 幅为 本 文用 菲 涅尔积 分 法得 出衍射 屏 上 的光强 分布 公式 并 结合计 算机 仿 真技 术研 究 夫琅和 费衍 射 的光 强分 布 问题 ,给 出 了衍 射光 场 复 4 d E 振 幅及 强度 在任 意 平面上 的详 细分 布 , 并用 M ta 拟 出光学 成 alb模 像 过程 ,给 出指定 光学元 件 的衍射 特性 或成 像特 性 。 鱼8 令ux / =-2 b 山 b 。 单缝衍 射理 论 推导 单 缝衍 射 如示 意 图 1 所示 ,平 行光 束垂 直入射 ,光强 均匀 。 r 鱼P ( 8 f 啪 等 设 在缝 平 面时初 相 为 0 ,整个 缝所 发此 波在 0=0 向上 的总振 幅 方 tn b b 为 。 惠更 斯一 涅耳 原理 , 们把 缝 内的波 前 B 分割 为许 多 按 菲 我 B。 等 宽 的窄 条 , 们 是振 幅相 等 的次波源 , 多个 方 向发 出次 波 。 它 朝 接 收屏 位 于透镜 厶的 后方 ,角度 0 相 同 的衍 射 光线 会聚 于观 察
夫琅禾费衍射的Matlab仿真

夫琅禾费衍射的Matlab仿真110512班 11051057 李陟凌夫琅禾费衍射,是认为光源和观察屏离衍射屏(孔处于无穷远处的衍射现象。
实验装置如图:S为单色点光源,放置在透镜L1的物方焦点处,所得平行光垂直入射到障碍物,借助于透镜L2将无穷远处的衍射图样移至L2的像方焦面上观察。
若障碍物为单缝,设缝宽度为a ,观察屏上点P与透镜L2光心连线的方位角为θ,由几何成像理论,此角正好也是相应平面波分量的方位角。
若取入射光波长为λ,透镜L2的焦距为f,根据惠更斯- 菲涅耳原理,可得单缝夫琅禾费衍射强度分布公式为:I=I0sin2α2(公式1式中I0为接收屏中央的强度,α=θ2=πasinθλ。
阿贝成像原理的演示实验中提及到夫琅禾费衍射,然而没有相应的演示实验装置,由此我产生了用数学软件模拟其衍射图样的想法。
根据公式1,代入λ、a、θ等值,就可以得到接收屏每一点的光强度值,调用imagesc(函数就可以得到干涉条纹样。
但这种方法只适用于单缝等简单情况。
为了模拟较复杂的二维孔洞产生的衍射图样,我查阅了资料,得到如下的方法:设衍射屏的振幅透射系数为t(x,y,根据菲涅耳——基尔霍夫衍射积分,若观察平面到衍射屏的距离z 满足如下近似条件:则在单位振幅的相干平面光波照射下,可得衍射屏的夫琅禾费衍射光场复振幅及强度分布分别为:式中T = F[t(x,y]表示衍射屏振幅透射系数t(x,y的傅里叶变换。
上式表明,在单位振幅的相干平面光波照射下,夫琅禾费衍射光场的复振幅分布正比于衍射屏振幅透射系数的傅里叶交换;衍射光场复振幅表达式中的相位因子并不影响观察屏上衍射图样的强度分布,若略去常系数,则衍射图样的强度分布直接等于衍射屏透射光场复振幅的傅里叶变换的模值平方。
将衍射屏制作成输入图像,用imread(函数读入,然后利用傅里叶变换函数fft2(对其进行傅里叶变换,得到其傅里叶频谱。
由函数fft2(实现的傅里叶变换频谱的直流分量位于图像的左上角,而由透镜实现的光学傅里叶变换的直流分量位于图像中心。
模拟夫琅禾费衍射和菲涅耳衍射实验matlab程序

模拟夫琅禾费衍射实验程序说明:本实验可以选择孔径类型、孔径半径、输入波长、衍射屏和衍射孔的距离等。
当衍射屏和衍射孔的距离相对较小时,此衍射为菲涅耳衍射,当距离相对较大时满足夫琅禾费衍射的条件,两者的程序一样,只是距离Z的大小不一致。
又由于夫琅禾费衍射与傅里叶变换成正比,只差一个系数关系。
所以程序中的衍射既是直接对物光进行傅里叶变换即可。
Matlab源程序:N=512;disp('衍射孔径类型 1.圆孔 2.单缝 3.方孔')kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型while kind~=1&kind~=2&kind~=3disp('超出选择范围,请重新输入衍射孔径类型');kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型endswitch(kind)case 1r=input('please input 衍射圆孔半径(mm):');% 输入衍射圆孔的半径I=zeros(N,N);[m,n]=meshgrid(linspace(-N/16,N/16-1,N));D=(m.^2+n.^2).^(1/2);I(find(D<=r))=1;subplot(1,2,1),imshow(I);title('生成的衍射圆孔');case 2a=input('please input 衍射缝宽:');% 输入衍射单缝的宽度b=1000;% 单缝的长度I=zeros(N,N);[m,n]=meshgrid(linspace(-N/4,N/4,N));I(-a<m&m<a&-b<n&n<b)=1;subplot(1,2,1);imshow(I);title('生成的衍射单缝');case 3a=input('please input 方孔边长:');% 输入方孔边长I=zeros(N,N);[m,n]=meshgrid(linspace(-N/4,N/4,N));I(-a/2<m&m<a/2&-a/2<n&n<a/2)=1;subplot(1,2,1),imshow(I);title('生成的方孔');otherwise kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型end% 夫琅禾费衍射的实现过程L=500;[x,y]=meshgrid(linspace(-L/2,L/2,N));lamda_1=input('please input 衍射波长(nm):');% 输入衍射波长;lamda=lamda_1/1e6k=2*pi/lamda;z=input('please input 衍射屏距离衍射孔的距离(mm):');% 衍射屏距离衍射孔的距离h=exp(1j*k*z)*exp((1j*k*(x.^2+y.^2))/(2*z))/(1j*lamda*z);%脉冲相应H =fftshift(fft2(h));%传递函数B=fftshift(fft2(I));%孔频谱G=fftshift(ifft2(H.*B));subplot(1,2,2),imshow(log(1+abs(G)),[]);title('衍射后的图样');figuremeshz(x,y,abs(G));title('夫琅禾费衍射强度分布')实验输入:衍射孔径类型1.圆孔 2.单缝3.方孔please input 衍射孔径类型:1please input 衍射圆孔半径(mm):3please input 衍射波长(nm):632lamda =6.3200e-04please input 衍射屏距离衍射孔的距离(mm):1000000实验结果:。
夫琅禾费衍射matlab

夫琅禾费衍射matlab夫琅禾费衍射是一种分析和解释光波衍射现象的重要方法,它被广泛应用于各种领域,例如材料科学、光学、电子学等。
Matlab作为一种强大的数学软件,也被广泛应用于各种领域,与夫琅禾费衍射的结合可以极大地提高实验效率和分析准确度。
因此,学习如何使用Matlab 分析夫琅禾费衍射是非常重要的。
要使用Matlab分析夫琅禾费衍射,需要掌握以下几个方面知识:1. 光学基础知识:包括波动光学和夫琅禾费衍射的理论知识;2. Matlab基础知识:包括语法、变量、运算、矩阵、函数等基本概念;3. Matlab图形界面的使用:掌握Matlab的各种绘图函数和图像处理工具,能够绘制夫琅禾费衍射的图形和进行图像处理;4. Matlab编程技巧:包括循环结构、条件判断、数组操作、函数编写等技术,能够快速地编写、调试和运行程序。
下面是使用Matlab进行夫琅禾费衍射分析的基本步骤:1.建立二维坐标系,确定光源位置和光屏位置;2.确定衍射光的波长和方向,以及衍射物的类型和尺寸;3.根据夫琅禾费衍射的理论公式,计算衍射光的相位和振幅;4.使用Matlab编写程序,将衍射光的相位和振幅转换为图像,并进行必要的图像处理和分析;5.根据分析结果,得出夫琅禾费衍射的重要参数,例如衍射角、衍射条纹宽度、衍射效率等。
需要注意的是,夫琅禾费衍射的分析过程需要进行大量的计算和图像处理,因此需要使用高效的计算机和专业的Matlab工具箱。
同时,分析结果需要进行实验验证,以确保分析的准确性和可靠性。
总之,夫琅禾费衍射的分析是光学研究中非常重要的一部分,使用Matlab可以提高实验效率和分析准确度。
掌握夫琅禾费衍射和Matlab的相关知识和技能,不仅可以在学术研究中得到应用,还可以在工业和生产中发挥重要作用。
利用MATLAB进行夫琅和费衍射程序分享

利用MATLAB进行夫琅和费衍射我已经发过相关的帖子,是我以前做过的课程论文。
近来看见有很多人回帖说需要程序,故而总结一下方法和共享程序:通过MATLAB软件编程实现夫琅和费衍射的方法:(1)用衍射积分(2)傅立叶变换一、衍射积分相关程序如下:1.单缝衍射clearlamba=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:nsinphi=ys(i)/D;alpha=pi*yp*sinphi/lamba;sumcos=sum(cos(alpha));sumsin=sum(sin(alpha));B(i,:)=(sumcos^2+sumsin^2)/n^2;endN=256;%确定灰度的等级Br=(B/max(B))*N;subplot(1,2,1)image(ym,ys,Br);colormap(gray(N));%色调处理subplot(1,2,2)plot(B,ys,'k');2.多缝衍射clearlamda=500e-9; %波长N=2; %缝数,可以随意更改变换a=2e-4;D=5;d=5*a;ym=2*lamda*D/a;xs=ym;n=1001;ys=linspace(-ym,ym,n);for i=1:nsinphi=ys(i)/D;alpha=pi*a*sinphi/lamda;beta=pi*d*sinphi/lamda;B(i,:)=(sin(alpha)./alpha).^2.*(sin(N*beta)./sin (beta)).^2;B1=B/max(B);endNC=256; %确定灰度的等级Br=(B/max(B))*NC;subplot(1,2,1)image(xs,ys,Br);colormap(gray(NC)); %色调处理subplot(1,2,2)plot(B1,ys,'k');3.矩孔衍射clearlamda=500e-9;a=1e-3;b=1e-3;f=1;m=500;ym=8000*lamda*f;ys=linspace(-ym,ym,m);xs=ys;n=255;for i=1:msinth1=xs(i)/sqrt(xs(i)^2+f^2);sinth2=ys./sqrt(ys.^2+f^2);angleA=pi*a*sinth1/lamda;angleB=pi*b*sinth2./lamda;B(:,i)=(sin(angleA).^2.*sin(angleB).^2.*5000./(angleA.^2.*angleB.^2));endsubplot(1,2,1)image(xs,ys,B)colormap(gray(n))subplot(1,2,2)plot(B(m/2,:),ys,'k')4.正弦光栅clear allxm=10*pi;ys=xm;xs=linspace(-xm,xm,500);B=cos(xs)+1;N=255;Br=B/2*N;image(xs,ys,Br);colormap(gray(N));二、傅里叶变换(1)基本思想:在傅立叶变换光学中夫琅和费衍射场的强度分布就等于屏函数的功率谱。
夫琅禾费衍射matlab

夫琅禾费衍射matlab引言夫琅禾费衍射(Fraunhofer diffraction)是指波在通过孔径或物体边缘时发生衍射的现象。
这一现象在光学领域得到广泛应用,并在科学研究中发挥重要作用。
而Matlab作为一种强大的计算工具,可以用来模拟和分析夫琅禾费衍射现象。
本文将介绍夫琅禾费衍射的基本原理,并展示如何使用Matlab来模拟和分析这一现象。
夫琅禾费衍射的基本原理夫琅禾费衍射是一种光的衍射现象,当光通过孔径时,光的传播符合亚耳伯特衍射原理,即光波在传播过程中会发生衍射。
夫琅禾费衍射的特点是衍射波前是平行的,远离光源的点光源成为衍射光的源点。
夫琅禾费衍射可以通过光的干涉和衍射来解释。
Matlab模拟夫琅禾费衍射的基本步骤在Matlab中模拟夫琅禾费衍射的基本步骤如下:1.定义衍射光的波长和孔径的尺寸。
2.计算衍射光的传播距离和传播方向。
3.使用夫琅禾费衍射公式计算衍射场的幅度和相位分布。
4.计算衍射光的强度分布。
5.可视化衍射光的强度分布。
下面将详细介绍每个步骤的实现方法。
定义衍射光的波长和孔径的尺寸在Matlab中,可以通过定义变量来表示衍射光的波长和孔径的尺寸。
例如,可以使用lambda表示波长,使用D表示孔径的尺寸。
计算衍射光的传播距离和传播方向对于夫琅禾费衍射,衍射光的传播距离和传播方向与孔径的尺寸有关。
通常情况下,可以假设衍射光从孔径的中心点向外传播。
在Matlab中,可以使用向量来表示衍射光的传播距离和传播方向。
使用夫琅禾费衍射公式计算衍射场的幅度和相位分布夫琅禾费衍射公式可用于计算衍射场的幅度和相位分布。
幅度和相位分布可以通过求衍射光场的傅里叶变换来获得。
在Matlab中,可以使用傅里叶变换函数来计算衍射场的幅度和相位分布。
计算衍射光的强度分布夫琅禾费衍射的强度分布可以通过幅度和相位分布的平方来计算得到。
在Matlab 中,可以通过对幅度和相位分布进行平方运算来计算衍射光的强度分布。
大学物理-Matlab模拟夫琅禾费衍射

Matlab 模拟夫琅禾费衍射
一、原理
衍射是光波动性的表现,当光波在遇到一定尺寸障碍物时不沿直线传播,偏离原来直线传播。
夫琅禾费衍射,是波动衍射的一种,通过圆孔或狭缝时发生,导致观测到的成像大小有所改变。
夫琅禾费衍射的原理如图1所示,一束平行光照射到衍射屏上,衍射屏开口处AB 的波前向各个方向发出次波,方向彼此相同的衍射次波经透镜L 汇聚到其像方焦平面的同一点P 上。
满足相长干涉条件的位置为亮条纹,满足相消干涉条件的位置为暗条纹,明暗条纹构成了该衍射屏的夫琅禾费衍射图样。
图1 夫琅禾费衍射原理图
1.白光单缝衍射
θ=arctan (x
f
)
光强分布 I (x )=I 0[sin (
πasin(arctan(x f
))
λ
)]2
2.白光圆孔衍射
θ=arctan (r
f
)
光强分布 I (r )=I 0[ J 1(
2πasin(arctan(r
f
))
λ
)πasin(arctan(r f
))
λ]
2
Matlab 模拟中采用等量红(700nm 绿(546.1nm )蓝(435.8nm )混合模拟,把红绿蓝三基色的衍射图样存储在m x n x 3矩阵中,按RGB 图显示产生白光的衍射。
二、代码
设透镜焦距f=800mm, a=0.04mm
图2 白光单缝衍射Matlab模拟代码图3 白光圆孔衍射Matlab模拟代码三、结果
图4 白光单缝衍射Matlab模拟结果
图5 白光圆孔衍射Matlab模拟结果。
Matlab多缝夫琅禾费衍射图样程序设计

Matlab多缝夫琅禾费衍射图样程序设计function mainclear allclcfprintf('1-64缝等宽等间距衍射图样' ); %1-64缝等宽等间距衍射图样Untitled; %调用Untitled函数function Untitledclear; %清除原有变量Lambda=550*(1e-9); %设置波长为550nma=0.005*(1e-3); %设置衍射屏参数:缝宽为0.005mmd=0.02*(1e-3); %缝距为0.02mmf=0.01; %设置焦距为0.01米F=ones(1,10000)*f; %将焦距转换为和矩阵x一样维度的矩阵x=linspace(-0.005,0.005,10000); %x的取值从-0.005到0.005,分成1000份)sn=x./sqrt(x.^2+F.^2); %衍射角的正弦值alpha=pi*a*sn/Lambda;delta=pi*d*sn/Lambda;%% 我们要做八幅图,每幅图四个子图,每个子图两条线,则前两个要求分别用一个循环表示,第三个要求只要两条线,将这个循环取消(如果是每个子图很多条线,就再加个循环)for k=1:8 %循环是画八幅图,则设计一个1到8的循环gcf=figure(k) %在此标注第几幅图for m=1:4 %每幅图画四个子图,设计一个1到4的循环I1=((sin(alpha)./alpha).^2).*((sin((8*k+2*m-9)*delta)./sin(delta).^2); %将每幅图第一条线用k,m表示出来,即N=8(k-1)+2(m-1)+1=8*k+2*m-9,可以用第一幅图的第二子图的第一条线即3缝衍射验证一下I2=((sin(alpha)./alpha).^2).*((sin((8*k+2*m-8)*delta/2)./sin(delta/2)).^2); %将每幅图第一条线用k,m表示出来,即N=8(k-1)+2(m-1)+2=8*k+2*m-8subplot(2,2,m); %一张子图,第几幅子图用m表示plot(x,I1,'r');hold onplot(x,I2,'b:');title('多缝衍射图样');xlabel('x');ylabel('I');na=[int2str(8*k+2*m-9),'缝衍射'];%标注第一条线nb=[int2str(8*k+2*m-8),'缝衍射'];%标注第二条线legend(na,nb)%subplot(2,2,1); %一张子图,奇数缝数用红色线表示endsaveas(gcf,[num2str(k) '.bmp']);%将图像保存在当前文件夹下,用K序号来命名,并保存为bmp格式end。
多缝夫琅禾费衍射仿真及实验研究

多缝夫琅禾费衍射仿真及实验研究作者:张河叶,樊孝贺,邓健来源:《科技传播》 2015年第19期张河叶1,樊孝贺2,邓健21. 吉林省万成集团有限公司,吉林长春 1300002. 中国科学院长春光学精密机械与物理研究所,吉林长春 130033摘要本文讨论了多缝夫琅禾费衍射现象,并对衍射中的缺级现象进行分析,利用Matlab 软件仿真研究了衍射的光强分布,最后,通过实验得到衍射图样,验证了对多缝夫琅禾费衍射的分析。
关键词多缝;夫琅禾费;衍射中图分类号 O43 文献标识码 A 文章编号 1674-6708(2015)148-0153-01夫琅禾费衍射作为一种远场衍射现象,包含了光的衍射、干涉等理论,本文主要对多缝的夫琅禾费衍射进行分析讨论,分别利用软件仿真和实际实验得到衍射图样,分析其光强分布特性。
1 多缝夫琅禾费衍射分析多缝夫琅禾费衍射现象是光的衍射和干涉共同作用的结果,单缝的衍射光强分布如下式由上式可知多缝夫琅禾费衍射的光强分布是单缝衍射因子和缝间干涉因子共同作用的结果,正是由于这个原因,当缝间干涉因子极大时,光强本应是极大值,但是如果在此位置单缝衍射因子极小,光强则是极小值,这种现象被称为缺级。
缺级现象会导致第m da 级的亮条纹消失。
多缝夫琅禾费衍射的光强较强的称为主极大,光强较弱的称为次极大,相邻两个主极大之间次极小和次极大的数量和缝数N 有关,两个主极大之间有N-1 个次极小和N-2 个次极大。
2 软件仿真本文用Matlab 对多缝夫琅禾费衍射进行仿真分析,光栅常数d 与狭缝宽度a 的比值为4,狭缝数量N 分别取2、3、4、5,对仿真光强作归一化处理,分别仿真了单缝衍射因子和缝间干涉因子的光强分布,然后仿真了实际的衍射光强分布,仿真结果如图1- 图4。
由仿真实验可知,多缝夫琅禾费衍射是单缝衍射和多缝干涉共同作用的结果,在m da 级处会出现缺级现象,两个主极大之间有N-1 个次极小和N-2 个次极大。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4、多缝的夫琅和费衍射,使用平行光照明,观察衍射图样随点光源位置(光源上下移动)的变化 θθ
θ
图4-1 图4-2
多缝夫琅禾费衍射如图4-1所示。
由于相邻单缝在P 点产生的夫琅禾费衍射的幅值与中心单缝的相同,只是产生一个相位差θλπδsin 2d =
,故,经证明,P 点处的光强为:
220)2sin 2sin ()sin ()(δ
δααN I P I =, 其中θλπαsin a =,θλ
πδsin 2d =。
因而,程序代码如下:
clear %清除原有变量
Lambda=600*(1e-9); %设置波长为600nm
a=0.005*(1e-3); %设置衍射屏参数:缝宽为0.005mm , 缝距为0.02mm
d=0.02*(1e-3);
f=0.01; %汇聚透镜焦距设置为1cm
N=20; %设置缝数为20
ni=1000;
x=linspace(-0.005,0.005,ni); %将衍射屏按照狭缝方向分为ni 个微元 for k=1:ni
sn=x(k)/sqrt(x(k).^2+f^2);
alpha=pi*a*sn/Lambda; %算各微元对应的α和δ值
delta=2*pi*d*sn/Lambda;
I(k)=(sin(alpha)/alpha).^2*(sin(N*delta/2)/sin(delta/2)).^2; %求出各处的光强
end
figure(gcf); %显示图像
NCLevels=250;
Br=I*NCLevels;
image(0,x,Br);
colormap(gray(NCLevels));
title('二维强度分布');
运行后结果如图4-2所示。
将光源上下移动的结果如图4-3所示:
图4-3 图4-4
点光源发出的光经过准直透镜后形成倾斜入射的平行光,倾斜角度为i 。
此时,P 点强度的公式为:
220)sin ()sin ()(ββ
αα
N I P I =, 其中)sin (sin i a -=θλπα,)sin (sin i d -=θλ
πβ。
故而程序代码如下,当0≠i 时,即光源上下移动,改变其的值,即可仿真出移动不同距离时的衍射图样。
程序代码如下:
clear %清除原有变量
Lambda=600*(1e-9); %设置波长为600nm
a=0.005*(1e-3); %设置衍射屏参数:缝宽为0.005mm ,
缝距为0.02mm
d=0.02*(1e-3);
f=0.01; %汇聚透镜焦距设置为1cm
N=10; %设置缝数为10
ni=500;
i=pi/20; %设置平行光入射的倾斜角
x=linspace(-0.005,0.005,ni); %将衍射屏按照狭缝方向分为ni 个微元 for k=1:ni
sn=x(k)/sqrt(x(k).^2+f^2);
alpha=pi*a*(sn-sin(i))/Lambda; %算各微元对应的α和δ值
delta=2*pi*d*(sn-sin(i))/Lambda;
I(k)=(sin(alpha)/alpha).^2*(sin(N*delta/2)/sin(delta/2)).^2;
%求出各处的光强
end figure(gcf); %显示图像 NCLevels=250;
Br=I*NCLevels;
image(0,x,Br);
colormap(gray(NCLevels));
title('二维强度分布');
运行程序后结果如图4-4。
令10π=
i ,结果如图4-5;令10-π=i ,结果如图4-6。
图4-5 图4-6
故光源上下移动,会使干涉图样分别向右边和左边偏移。
5、多缝的夫琅和费衍射,使用扩展光源照明,前后、上下移动光源,观察衍射图样的变化
使用扩展光源照明,即为4中点光源的光照的叠加。
程序代码为:
clear %清除原有变量
Lambda=600*(1e-9); %设置波长为600nm
a=0.005*(1e-3); %设置衍射屏参数:缝宽为0.005mm,
缝距为0.02mm
d=0.02*(1e-3);
f=0.01; %汇聚透镜焦距设置为1cm
N=10; %设置缝数为10
ni=500;
I=zeros(1,ni);
i=linspace(-pi/1000,pi/1000,200); %将扩展光源分为微元
x=linspace(-0.005,0.005,ni); %将衍射屏按照狭缝方向分为ni个微元for t=1:200
for k=1:ni
sn=x(k)/sqrt(x(k).^2+f^2);
alpha=pi*a*(sn-sin(i(t)))/Lambda; %算各微元对应的α和δ值
delta=2*pi*d*(sn-sin(i(t)))/Lambda;
In(k)=(sin(alpha)/alpha).^2*(sin(N*delta/2)/sin(delta/2)).^2;
%求出各处的光强
end
I=I+In; %将各光源光强累加
end
figure(gcf); %显示图像
NCLevels=250;
Br=I*NCLevels;
image(0,x,Br);
colormap(gray(NCLevels));
title('二维强度分布');
运行结果如图5-1,为左右偏移后的干涉条纹的叠加。
图5-1 图5-2
将光源上下移动,可以通过改变i的取值实现,将上面程序中
i=linspace(-pi/1000,pi/1000,200); %将扩展光源分为微
元
改为
i=linspace(-pi/2000,3*pi/2000,200); %将扩展光源分为微元
运行后可得结果如图5-2,认为干涉条纹的叠加。
若扩展光源足够大,令
i=linspace(-pi/2000,3*pi/2000,200); %将扩展光源分为微元
则结果如图5-3,为全亮。
图5-3。