模拟夫琅禾费衍射的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的衍射系统仿真(1)

《工程光学》综合性练习二题目:基于matlab的衍射系统仿真综合练习大作业二一、要求3-4人组成小组,对下面给出的各题目利用Matlab等工具进行仿真。
练习结束时每组提交一份报告及仿真程序。
在报告中应注明各仿真结果所对应的参数,如屏与衍射屏间距、孔径形状尺寸等。
二、仿真题目1.改变观察屏与衍射屏间距,观察观察屏上发生的衍射逐渐由菲涅耳衍射转为夫琅和费衍射1)原理图:S点光源发出的波长lam=500纳米S点发出光线经过单缝,缝宽a;单缝到衍射屏的距离L'2)Matlab代码clear;clcl=10; %l=input ('单缝到衍射屏的距离L=');a=0.2; %a=input('单缝的宽度(mm)a=');lam=500e-6; %lam=input('波长(nm)');x=-1:0.001:1; %接收屏边界y=x./sqrt(x.^2+l^2);z=a.*y/lam;I=1000*(sinc(z)).^2; %计算接受屏某点光强subplot(2,1,1) %绘制仿真图样及强度曲线image(2,x,I)colormap(gray(3))title('单缝衍射条纹')subplot(2,1,2)plot(x,I)title(光强分布)3)初始仿真图样(d=10)4)改变d之后的图样(d=1000)5)变化规律根据衍射屏以及接受屏的相对位置不同,由此产生菲涅尔衍射和夫琅禾费衍射的区别,根据我们模拟的情况得到菲涅尔衍射和夫琅禾费衍射的明显不同是夫琅禾费衍射条件下:中央有一条特别明亮的亮条纹,其宽度是其他亮条纹的两倍;其他亮条纹的宽度相等,亮度逐渐下降。
2.改变孔径形状、尺寸,观察图样变化1)原理图矩孔衍射:透镜焦距:1000mm;照射光波长:500nm;孔高:a(mm);孔宽:b(mm);圆孔衍射:圆孔直径:r(mm);照射光波长:500nm;照射光波长:500nm;2)matlab代码矩孔衍射:focallength=1000;lambda=500;a=2.0;b=2.0;resolution=64;center=(resolution)/2;A=zeros(resolution,resolution);for i=1:1:resolutionfor j=1:1:resolutionif abs(i-center)<a*10/2 & abs(j-center)<b*10/2 A(j,i)=255;endendendE=ones(resolution,resolution);k=2*pi*10000/focallength/lambda;imag=sqrt(-1);for m=1:1:resolutionx=m-center;for n=1:1:resolutiony=n-center;C=ones(resolution,resolution);for i=1:1:resolutionp=i-center;for j=1:1:resolutionq=j-center;C(j,i)=A(j,i)*exp(-imag*k*(x*p+y*q)); endendE(n,m)=sum(C(:));endendE=abs(E);I=E.^2;I=I.^(1/3);I=I.*255/max(max(I));L=I;I=I+256;CM=[pink(255).^(2/3);gray(255)];Colormap(CM);edge=(resolution-1)/20;[X,Y]=meshgrid([-edge:0.1:edge]);x=linspace(-edge,edge,resolution);y=linspace(-edge,edge,resolution);subplot(1,2,1);surf(x,y,L);axis([-edge,edge,-edge,edge,0,255]);caxis([0,511]);subplot(1,2,2);image(x,y,I);axis([-edge,edge,-edge,edge,0,511]);view(2);axis square;圆孔衍射:clearlmda=500e-9; %波长r=1.2e-3; %f = 1; %焦距N = 19;K = linspace(-0.1,0.1,N) ;lmda1 = lmda* ( 1 + K) ;xm = 2000* lmda* f;xs = linspace(-xm,xm,2000) ;ys = xs;z0 = zeros( 2000) ;[x,y]= meshgrid( xs) ;for i = 1: 19s = 2*pi*r*sqrt(x.^2 + y.^2)./(lmda1( i) ) ;z = 4* ( besselj( 1,s)./( s + eps) ).^2; %光强公式z0 = z0 + z;endz1 = z0 /19;subplot( 1,2,1)imshow( z1* 255) ; %平面图xlabel( 'x')ylabel( 'y')subplot( 1,2,2)mesh( x,y,z1) %三维图colormap(gray)xlabel( 'x')ylabel( 'y')zlabel( '光强')3)仿真图样:矩孔衍射:a=1,b=2a=2,b=2可知:矩孔在一个维度上展宽一定倍数将导致衍射图样在相同维度上缩短相同倍数,同时能量会更向中心亮斑集中。
模拟夫琅禾费衍射的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。
基于MATLAB的矩孔夫琅和费衍射场模拟计算

第29卷 第3期2009年 5月河北大学学报(自然科学版)Journal of Hebei University(Nat ural Science Edition)Vol.29No.3May2009基于MA TL AB的矩孔夫琅和费衍射场模拟计算郝忠秀,赵亚军,李立功,丁文革(河北大学物理科学与技术学院,河北保定 071002) 摘 要:利用MA TL AB软件对夫琅和费矩孔衍射场进行模拟,得到了不同参数下各种衍射场的三维分布图样,并且采用彩色网格图的形式输出,可以方便地观察衍射图样的细节.模拟结果与实验观测的结果非常吻合.这种方法作为辅助教学手段,不仅可以观察夫琅和费矩孔衍射完整、清晰的立体图像,而且可以很容易地调节参数,观察不同的衍射现象,有助于学生更加深刻地理解夫琅和费矩孔衍射的特征和规律,提高教学质量.关键词:夫琅和费衍射;矩孔;MA TL AB中图分类号:O436.1 文献标识码:A 文章编号:1000-1565(2009)03-0266-04On Simulated C alculation of Fraunhofer Diffractionfrom R ectangular Aperture B ased on MAT LABH AO Zhong2xiu,ZH AO Y a2jun,LI Li2gong,DI NG Wen2ge(College of Physics Science and Technology,Hebei U niversity,Baoding071002,China)Abstract:Based on MA TL AB software,t he Fraunhofer diffraction field of rectangular apert ure was simulated and t he t hree2dimensional dist ributions of Fraunhofer diff raction wit h different parameters were obtained.The simulatio n result s were outp ut in t he form of color grid,which helped us to observe t he de2 tails of t he diffraction patterns.Our result s were consistent wit h t he experimental result s.As an auxiliary teaching means,t he met hod p rovids us complete and clear t hree2dimensional grap h of Fraunhofer diff rac2 tion from a rectangular apert ure,and help s us to p rofoundly understood t he diffraction p henomenon and characteristic.K ey w ords:Fraunhofer diff raction;rectangular apert ure;MA TLAB光的衍射现象是光的波动性的重要表现.所有光学系统,特别是成像光学系统,一般都将光波限制在一个特定的空间区域内,这种光波传播过程实际上是一种衍射过程.所以对光的衍射现象的研究,不仅具有重要的理论意义,而且在光学仪器研制和成像分析等诸多实际应用方面均具有重要价值.衍射现象可以利用菲涅耳2基尔霍夫衍射公式来讨论,但由于这些数学公式的复杂性,在解决具体问题时,实际的计算工作很繁杂[1].在教学过程中,为建立清晰的物理图像,加深对各种现象的理解,通常利用演示实验辅助课堂教学,但是由于衍射实验需要较复杂的演示仪器和较苛刻的实验条件,在课堂上常常难以进行,而在实验室中一般也 收稿日期:2008-11-18 基金项目:河北省自然科学基金资助项目(E2007000197) 第一作者:郝忠秀(1949-),女,河北藁城人,河北大学副教授,主要从事基础物理方面研究.第3期郝忠秀等:基于MA TL AB 的矩孔夫琅和费衍射场模拟计算只能对矩孔夫琅和费衍射结果进行定性观察.因此在分析衍射问题时,为突出物理图像,避免复杂的数学计算,利用计算机对光的衍射图像进行模拟,是一种很好的解决方法[2-4].1 矩孔夫琅和费衍射场的理论分析矩孔夫琅和费衍射是二维衍射,一般利用菲涅耳2基尔霍夫衍射公式对衍射屏上通光的矩孔面积进行双重积分得到其衍射场的分布.为突出衍射的物理实质,简化运算,将二维的矩孔衍射转化为一维微缝衍射的叠加来处理,即把矩孔划分为无限多很窄的微缝,先求出微缝的衍射场,再将所有微缝的衍射场叠加,得到矩孔的衍射场.由这种运算过程可以看到,单缝衍射场是矩孔的衍射场的一个特例.矩孔夫琅和费衍射实验装置如图1所示,设矩孔沿x ,y 轴方向的边长分别为a 和b ,透镜L 的焦距为f ,在接收屏E 上任意点P 会聚的衍射光,其方向由二维衍射角(θ1,θ2)表示.在矩孔上任取一平行于y 轴宽为d x 的微缝b dx.图1 矩孔夫琅和费衍射实验装置Fig.1 F raunhofer diffraction setup设光波在矩孔面上的初位相为零,在微缝b d x 上任取面元d x d y ,到P 点的光程为r ,该面元上的次波在P 点的振动为d E 1,根据惠更斯2菲涅耳原理[5],在傍轴条件下,该面元上的次波在P 点的振动为d E 1=C 1d x d y co s (ωt -2πλr ),(1)式中C 1为常数,和λ分别为入射光的圆频率和波长.设微缝中点(x ,0)到P 点的光程为r ′0,考虑到图中几何关系r =r ′0+y sin θ2,则微缝上所有次波在P 点的合振动为d E =C 1d x ∫b 2-b 2co s [ωt -2πλ(r ′0+y sin θ2)]d y =C 1b sin πb sin θ2λπb sin θ2λco s (ωt -2πλr ′0)d x.(2)设矩孔中心O 到P 点的光程为r 0,有r ′0=r 0+x sin θ1,则矩孔上所有次波在P 点的合振动为E =C 1b sin πb sin θ2λπb sin θ2λ∫a 2-a 2cos [ωt -2πλ(r 0+x sin θ1)]d x =C 1ab sin ααsin ββco s (ωt -2πλr 0),(3)式中,α=πa sin θ1λ,β=πb sin θ2λ.由(5)式可知,P 点的光强为I =I 0(sin αα)2(sin ββ)2,(4)其中I 0=(ab λfC 1)2为衍射场的中心强度.(3)式即为矩孔夫琅和费衍射场光场分布公式,(4)式为相应的光・762・河北大学学报(自然科学版)2009年强分布公式.2 矩孔夫琅和费衍射场的MA TL AB 模拟及分析利用MA TLAB 软件,对矩孔夫琅和费衍射场分布进行模拟.为了获得矩孔夫琅和费衍射场分布的各种特征,分别对入射光的波长λ、矩孔的边长a 和b 、会聚透镜的焦距f 对衍射场的影响进行了分析.由于MA TL AB 允许用不同格式输出图形,采用彩色网格图的形式输出了矩孔夫琅和费衍射光强分布的立体图,同时为便于和实验结果比较,还输出了矩孔夫琅和费衍射光强分布的平面图.2.1 矩孔夫琅和费衍射场分布当矩孔的边长a =b =1mm ,入射光的波长λ=500nm ,会聚透镜的焦距f =2.5m 时,衍射场分布的模拟结果如图2所示.由于光波在矩孔x ,y 轴方向上受到的限制程度相同,则接收平面上衍射图样在x ,y 轴方向的扩展情况相同.由图2可以很清晰地观察到这一衍射特征.a.光场分布;b.光强分布;c.衍射图样图2 矩孔夫琅和费衍射场Fig.2 Fraunhofer diffraction from the rectangular aperture2.2 矩孔线度对衍射场的影响保持入射光的波长与会聚透镜的焦距保持不变,当方孔的边长a =b =1.5mm 时,衍射场的光强分布模拟结果如图3所示.由图3可见,当矩孔的线度变大时,衍射图样的扩展范围变小,衍射现象不明显.同时整 图3 a =b =1.5mm 时的夫琅和费衍射场Fig.3 Fraunhofer diffraction for a =b =1.5mm 图4 b =10a =5mm 时的夫琅和费衍射场Fig.4 Fraunhofer diffraction for b =10a =5mm・862・第3期郝忠秀等:基于MA TL AB 的矩孔夫琅和费衍射场模拟计算体衍射场的光强增加,而零级衍射斑的面积显著减小.若继续增大矩孔的线度,则衍射效应越来越弱,这就说明,当光孔线度远大于光波的波长时,衍射的散射角Δθ→0,衍射场基本上集中在沿直线传播的原方向上,在透镜焦面上衍射斑收缩为几何光学像点.当矩孔的边长b =10a =5mm 时,衍射场的光强分布模拟结果如图4所示.由图可见,由于a 很小,光波在x 方向上受到的限制很大,所以光波在x 轴方向上的衍射很明显;同时,由于b 比较大,光在y 方向上受到的限制很小,y 轴方向上的衍射较弱.若继续增加b 的量值,则在y 轴方向上的衍射将越来越弱,矩孔夫琅和费衍射场过渡到单缝夫琅和费衍射场.2.3 透镜焦距对衍射场的影响当矩孔的边长与入射光的波长保持不变,而会聚透镜的焦距f =5m 时,衍射场的振幅和光强分布模拟结果如图5所示.比较图5与图2a 可见,当透镜的焦距变大时,整体衍射场的光强减小,而零级衍射斑的面积增大.实际上衍射图样的形状和零级衍射斑的半角宽度都不变,但透镜的焦距增加使得各级亮斑的面积及其间距同时被放大.图5 f =5m 时的夫琅和费衍射场Fig.5 F raunhofer diffraction for f =5m 图6 λ=800nm 时的夫琅和费衍射场Fig.6 F raunhofer diffraction for λ=800nm2.4 入射光波长对衍射场的影响当矩孔的边长与会聚透镜的焦距保持不变,而入射光的波长λ=800nm 时,衍射场的光强分布模拟结果如图6所示.比较图6与图2a 可见,当光波波长增大时,衍射图样的扩展范围变大,衍射现象更加明显.同时整体衍射场的光强减小,而零级衍射斑的面积增大.显然波长越长,衍射效应越显著;波长越短,衍射效应越可忽略,所以通常说,几何光学是短波(λ→0)极限.利用MA TLAB 软件对不同参数下的矩孔夫琅和费衍射场分布进行了大量模拟,经过比较,这些计算机模拟结果与实验观测[1,6-7]的结果非常吻合.参 考 文 献:[1]赵凯华.光学:新概念物理教程[M ].北京:高等教育出版社,2004:183-184.[2]谢嘉宁,赵建林,陈伟成,等.夫琅禾费衍射的计算机仿真[J ].大学物理,2004,23(3):51-54.[3]谢嘉宁,赵建林.光学空间滤波过程的计算机仿真[J ].光子学报,2002,31(7):847-850.[4]飞思科技产品研发中心.MA TL AB7基础与提高[M ].北京:电子工业出版社,2005:166-174.[5]梁绍荣.普通物理学:光学[M ].北京:高等教育出版社,1988:160-202.[6]章志鸣,沈元华,陈惠芬.光学[M ].北京:高等教育出版社,2000:91-101.[7]H ECH T E.Optics[M ].4th ed.New Y ork :Addision 2wesley Publishing Company ,2002:453-466.(责任编辑:孟素兰)・962・。
模拟夫琅禾费衍射的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实验结果:程序说明:本实验可以选择孔径类型、孔径半径、输入波长、衍射屏和衍射孔的距离等。
夫琅禾费衍射的python实现

夫琅禾费衍射的python实现夫琅禾费衍射(Fraunhofer diffraction)是一种光学现象,描述了光线通过一个具有一维或二维孔隙的物体时的衍射效应。
这一现象在物理学和工程学中具有重要的应用价值,如天文学中的望远镜、显微镜、光栅等领域。
夫琅禾费衍射的python实现可以通过使用科学计算库numpy和绘图库matplotlib来实现。
首先,我们需要定义一个表示光源的函数,例如:```pythonimport numpy as npdef light_source(x, y):return np.sin(x) * np.cos(y)```接下来,我们可以定义一个表示物体的函数,例如:```pythondef object(x, y):return np.sin(x) * np.cos(y)```然后,我们可以定义一个表示夫琅禾费衍射的函数,例如:```pythondef fraunhofer_diffraction(object_function, light_source_function):x = np.linspace(-np.pi, np.pi, 100)y = np.linspace(-np.pi, np.pi, 100)X, Y = np.meshgrid(x, y)intensity = np.abs(np.fft.fftshift(np.fft.fft2(object_function(X, Y) * light_source_function(X, Y)))) ** 2return intensity```在这个函数中,我们首先使用numpy的linspace函数生成一个表示x和y坐标的数组。
然后,使用meshgrid函数将x和y数组转换为二维网格。
接下来,我们将物体函数和光源函数的乘积作为参数传入fft2函数中,使用傅里叶变换计算出衍射图案的强度。
最后,使用fftshift函数将频谱移到中心,再取绝对值的平方得到衍射图案的强度。
多缝的夫琅和费衍射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个条带,条带是彩色的,随着光的增强,增强到很强的时候,这些条带甚至进入影子里。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
源代码:
N=512;
disp('衍射孔径类型 1.圆孔 2.单缝 3.方孔')
kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型
while kind~=1&kind~=2&kind~=3
disp('超出选择范围,请重新输入衍射孔径类型');
kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型
end
switch(kind)
case 1
r=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 2
a=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 3
a=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/1e6
k=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('衍射后的图样');
figure
meshz(x,y,abs(G));
title('夫琅禾费衍射强度分布')
实验输入:衍射孔径类型 1.圆孔 2.单缝 3.方孔
please input 衍射孔径类型:1
please input 衍射圆孔半径(mm):3
please input 衍射波长(nm):632
lamda =6.3200e-04
please input 衍射屏距离衍射孔的距离(mm):1000000
实验结果:
程序说明:本实验可以选择孔径类型、孔径半径、输入波长、衍射屏和衍射孔的距离等。
当衍射屏和衍射孔的距离相对较小时,此衍射为菲涅耳衍射,当距离相对较大时满足夫琅禾费衍射的条件,两者的程序一样,只是距离Z的大小不一致。
又由于夫琅禾费衍射与傅里叶变
换成正比,只差一个系数关系。
所以程序中的衍射既是直接对物光进行傅里叶变换即可。
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求。