模拟夫琅禾费衍射的matlab源代码
- 格式:doc
- 大小:193.50 KB
- 文档页数:3
用Matlab模拟白光夫琅和费衍射
喻平
【期刊名称】《重庆师范大学学报:自然科学版》
【年(卷),期】2007(24)2
【摘要】根据配色原理,将白光衍射分解为三基色衍射场的非相干叠加,用Matlab 模拟白光圆孔和单缝衍射场的分布图,给出程序代码,结果形象直观。
【总页数】3页(P43-45)
【关键词】夫琅和费衍射;三基色;Matlab;模拟
【作者】喻平
【作者单位】重庆师范大学物理学与信息技术学院;南京师范大学物理科学与技术学院,南京210097
【正文语种】中文
【中图分类】O436.1
【相关文献】
1.白光夫琅和费矩孔衍射实验的计算机仿真 [J], 李珏璇;蓝海江;张学科
2.白光夫琅和费衍射实验的计算机仿真 [J], 蓝海江
3.白光夫琅和费矩孔衍射实验的计算机仿真 [J], 李珏璇;蓝海江;张学科
4.基于MATLAB的矩孔夫琅和费衍射场模拟计算 [J], 郝忠秀;赵亚军;李立功;丁文革
5.用Matlab模拟白光单缝和圆孔衍射场的分布图 [J], 陈燕
因版权原因,仅展示原文概要,查看原文内容请购买。
《工程光学》综合性练习二题目:基于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可知:矩孔在一个维度上展宽一定倍数将导致衍射图样在相同维度上缩短相同倍数,同时能量会更向中心亮斑集中。
实验7衍射的Matlab模拟一、实验目的:掌握衍射的matlab模拟。
二、实验内容:1)单个圆孔夫朗和费衍射的matlab模拟2)双圆孔夫朗和费衍射的matlab模拟3)同一波长,狭缝数量分别为1、2、3、6、9、10时候的夫朗和费衍射的matlab模拟4)对4个不同波长的光照射时,狭缝数量分别为1、3时候的夫朗和费衍射的matlab 模拟5)单个圆孔菲涅尔衍射的matlab模拟6)模拟圆孔(或者单缝)衍射时,衍射屏到接收屏距离不同的时候衍射的图样1)clearclclam=632.8e-9;a=0.0005;f=1;m=300;ym=4000*lam*f;ys=linspace(-ym,ym,m);xs=ys;n=200;for i=1:mr=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;B=b/max(b);endimage(xs,ys,b);colormap(gray(n));figure;plot(xs,B);colormap(green);-2.5-2-1.5-1-0.500.51 1.52 2.5x 10-3-2.5-2-1.5-1-0.50.511.522.5x 10-3-3-2-10123x 10-300.10.20.30.40.50.60.70.80.912)%双圆孔夫琅禾费衍射clear all close all clc %lam=632.8e-9;a=0.0005;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;h=(2*BESSELJ(1,x)).^2./x.^2;d=10*a;deltaphi=2*pi*d*xs(i)/lam;hh=4*h*(cos(deltaphi/2))^2;b(:,i)=(hh)'.*5000;end image(xs,ys,b);colormap(gray(n));-2.5-2-1.5-1-0.500.51 1.52 2.5x 10-3-2.5-2-1.5-1-0.50.511.522.5x 10-33)lamda=500e-9;%波长N=[1236910];for j=1:6a=2e-4;D=5;d=5*a;ym=2*lamda*D/a;xs=ym;%屏幕上y 的范围n=1001;%屏幕上的点数ys=linspace(-ym,ym,n);%定义区域for i=1:n sinphi=ys(i)/D;alpha=pi*a*sinphi/lamda;beta=pi*d*sinphi/lamda;B(i,:)=(sin(alpha)./alpha).^2.*(sin(N(j)*beta)./sin(beta)).^2;B1=B/max(B);end NC=256;%确定灰度的等级Br=(B/max(B))*NC;figure(j);subplot(1,2,1);image(xs,ys,Br);colormap(hot(NC));%色调处理subplot(1,2,2);plot(B1,ys,'k');end-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025狭缝数为1-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025狭缝数为2-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025狭缝数为3-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025狭缝数为9狭缝数为6-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.0254)lamda=400e-9:100e-9:700e-9;%波长N=[13];a=2e-4;D=5;d=5*a;for j=1:4ym=2*lamda(j)*D/a;xs=ym;%屏幕上y 的范围n=1001;%屏幕上的点数ys=linspace(-ym,ym,n);%定义区域for k=1:2for i=1:n sinphi=ys(i)/D;alpha=pi*a*sinphi/lamda(j);beta=pi*d*sinphi/lamda(j);B(i,:)=(sin(alpha)./alpha).^2.*(sin(N(k)*beta)./sin(beta)).^2;B1=B/max(B);end NC=256;%确定灰度的等级Br=(B/max(B))*NC;figure();subplot(1,2,1);image(xs,ys,Br);colormap(hot(NC));%色调处理subplot(1,2,2);狭缝数为10plot(B1,ys,'k');end end-0.4-0.200.20.4-0.02-0.015-0.01-0.00500.0050.010.0150.0200.51-0.02-0.015-0.01-0.0050.0050.010.0150.02Lamda=400nm,N=1-0.4-0.200.20.4-0.02-0.015-0.01-0.00500.0050.010.0150.0200.51-0.02-0.015-0.01-0.0050.0050.010.0150.02-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025Lamda=400nm,N=3Lamda=500nm,N=1-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025-0.4-0.200.20.4-0.03-0.02-0.0100.010.020.0300.51-0.03-0.02-0.010.010.020.03Lamda=500nm,N=3Lamda=600nm,N=1-0.4-0.200.20.4-0.03-0.02-0.0100.010.020.0300.51-0.03-0.02-0.010.010.020.03-0.4-0.200.20.4-0.03-0.02-0.0100.010.020.0300.51-0.04-0.03-0.02-0.010.010.020.030.04Lamda=600nm,N=3Lamda=700nm,N=1-0.4-0.200.20.4-0.03-0.02-0.0100.010.020.0300.51-0.04-0.03-0.02-0.010.010.020.030.045)clearclcN=300;r=15;a=1;b=1;I=zeros(N,N);[m,n]=meshgrid(linspace(-N/2,N/2-1,N));D=((m-a).^2+(n-b).^2).^(1/2);i=find(D<=r);I(i)=1;subplot(2,2,1);imagesc(I)colormap([000;111])axis imagetitle('衍射前的图样')L=300;M=300;[x,y]=meshgrid(linspace(-L/2,L/2,M));lamda=632.8e-6;k=2*pi/lamda;z=1000000;Lamda=700nm,N=3h=exp(j*k*z)*exp((j*k*(x.^2+y.^2))/(2*z))/(j*lamda*z); H=fftshift(fft2(h));%传递函数B=fftshift(fft2(I));%圆孔频谱G=H.*B;U=fftshift(ifft2(G));Br=(U/max(U));subplot(2,2,2);imshow(abs(U));axis image;colormap(hot)%figure,imshow(C);title('衍射后的图样');subplot(2,2,3);mesh(x,y,abs(U));subplot(2,2,4);plot(abs(Br))6)lamda=500e-9;%波长N=1;%缝数,可以随意更改变换a=2e-4;D=3:7;d=5*a;for j=1:5ym=2*lamda*D(j)/a;xs=ym;%屏幕上y的范围n=1001;%屏幕上的点数ys=linspace(-ym,ym,n);%定义区域for i=1:nsinphi=ys(i)/D(j);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;figure();subplot(1,2,1)image(xs,ys,Br);colormap(hot(NC));%色调处理subplot(1,2,2)plot(B1,ys,'k');end-0.4-0.200.20.4-0.015-0.01-0.00500.0050.010.01500.51-0.015-0.01-0.0050.0050.010.015D=3m-0.4-0.200.20.4-0.02-0.015-0.01-0.00500.0050.010.0150.0200.51-0.02-0.015-0.01-0.0050.0050.010.0150.02-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025D=5m D=4m-0.4-0.200.20.4-0.03-0.02-0.0100.010.020.0300.51-0.03-0.02-0.010.010.020.03-0.4-0.200.20.4-0.03-0.02-0.0100.010.020.0300.51-0.04-0.03-0.02-0.010.010.020.030.04D=7m D=6m。
第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・。
源代码: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代码1. 引言1.1 概述在光学领域中,菲涅尔衍射是一种常见的现象,它描述了当平行光束通过孔洞或物体边缘时所产生的衍射效应。
这个现象在很多应用中都具有重要意义,例如光学仪器的设计、天文学以及激光技术等领域。
理解和研究菲涅尔衍射现象对于深入探究光的波动性质以及相干光的传播具有重要意义。
1.2 文章结构本文将从以下几个方面进行讨论:首先介绍菲涅尔衍射理论中与本文相关的基本概念和原理;其次详细阐述使用MATLAB代码实现菲涅尔衍射的方法和步骤;然后,通过对圆孔和矩形孔两种情况下的菲涅尔衍射结果进行分析和讨论;最后给出文章总结,并提出进一步研究方向。
1.3 目的本文旨在通过编写MATLAB代码来模拟实现平行光束通过圆孔和矩形孔时的菲涅尔衍射现象,并利用结果分析和比较两种情况下的衍射效应。
通过这样的研究,可以加深对菲涅尔衍射原理的理解,并为后续相关研究提供参考和借鉴。
同时,通过MATLAB代码实现,读者也可以根据自己的需求进行扩展和修改,从而进一步探索不同形状孔洞的菲涅尔衍射特性。
2. 菲涅尔衍射理论2.1 光的波动特性菲涅尔衍射是一种描述光波传播和衍射现象的理论。
根据光的波动特性,当光通过一个孔径较小的障碍物时,它会弯曲并发生衍射现象。
在菲涅尔衍射中,平行光束通过圆孔或矩形孔后,在进入屏幕上的观察点处产生干涉图样。
2.2 菲涅尔近似理论菲涅尔近似理论是在进一步简化计算过程中使用的近似方法。
它假设观察点距离光源和障碍物足够远,使得远场近似成立。
2.3 圆孔和矩形孔的描述圆孔和矩形孔是两种常见形状的障碍物,用于描述光线传播时发生的菲涅尔衍射效应。
- 圆孔: 圆孔通常由一个具有确定半径大小的圆形开口组成。
当平行光束通过圆孔时,它会扩散并形成一系列同心环状条纹。
- 矩形孔: 矩形孔是由一个具有确定边长的矩形开口组成。
当平行光束通过矩形孔时,它会扩散并在屏幕上生成一系列矩形衍射图样。
光的干涉和衍射一、实验目的① 学习用用模拟实验方法探究光的干涉和衍射问题.② 进一步熟悉MA TLAB 编程.二、实验内容和要求1. 双缝干涉模拟实验杨氏双缝干涉实验是利用分波前法获得相干光束的典型例子. 如图2.24所示,单色光通过两个窄缝s 1,s 2射向屏幕,相当于位置不同的两个同频率同相位光源向屏幕照射的叠合,由于到达屏幕各点的距离(光程)不同引起相位差,叠合的结果是在有的点加强,在有的点抵消,造成干涉现象.图2.24 双缝干涉示意图 考虑两个相干光源到屏幕上任意点P 的距离差为1221r r r r r ==∆=- (2.19) 引起的相位差为2πrϕλ∆=设两束相干光在屏幕上P 点产生的幅度相同,均为A 0,则夹角为φ的两个矢量A 0的合成矢量的幅度为A =2A 0 cos(φ/2)第二章 数理探究试验 135光强B 正比于振幅的平方,故P 点光强为B =4B 0cos 2(φ/2) (2.20)运行sy211.m 程序得到干涉条纹如图2.27所示.clear all %sy211.mlam=500e-9; %输入波长a=2e-3; D=1;ym=5*lam*D/a; xs=ym; %设定光屏的范围n=101;ys=linspace(-ym,ym,n); % 把光屏的y 方向分成101点for i=1:nr1=sqrt((ys(i)-a/2).^2+D^2);r2=sqrt((ys(i)+a/2).^2+D^2);phi=2*pi*(r2-r1)/lam;B(i,:)=4*cos(phi/2).^2;endN=255; % 确定用的灰度等级为255级Br=(B/4.0)*N; %使最大光强对应于最大灰度级(白色)subplot(1,2,1)image(xs,ys,Br); %画干涉条纹colormap(gray(N));subplot(1,2,2)plot(B,ys) %画出光强变化曲线图2.25中左图是光屏上的干涉条纹,右图是光屏上沿y 轴方向光强的变化曲线. 从图中也不难看出,干涉条纹是以点o 所对应的水平线为对称,沿上下两侧交替,等距离排列,相邻亮条纹中心间距为2.5×10-4m. -0.4-0.200.20.4-1.5-1-0.500.511.5x 10图2.25 单色光的干涉条纹这与理论推导和实验结果基本一致.下面我们从理论上加以推导,由上面的式(2.19)可得22212121()()2d r r r r r r y -=+-=-1.5 -1 -0.5 0 0.5 1 1.5 -0.4 -0.2 0 0.4 0.2基于MA TLAB 的数学实验136 考虑到a ,y 很小,(r 1+r 2)=2D ,所以21D r r y a-= 这样就得到点P 处于亮条纹中心的条件为20122D y k k a λ==±±,,,, (2.21) 因此,亮条纹是等间距的,相邻条纹间距为94150010 2.510m 0.002D a λ--=⨯=⨯. 问题2.39:推导出点P 处于暗条纹中心的条件并与模拟结果相比较,看是否一致? 考虑到纯粹的单色光不易获得,通常都有一定的光谱宽度,这种光的非单色性对光的干涉会产生何种效应,下面我们用MA TLAB 计算并仿真这一问题.非单色光的波长不是常数,必须对不同波长的光分别处理再叠加起来. 我们假定光源的光谱宽度为中心波长的±10%,并且在该区域均匀分布. 近似取11根谱线,相位差的计算表达式求出的将是不同谱线的11个不同相位. 计算光强时应把这11根谱线产生的光强叠加并取平均值,即211012π4cos ()211k kk k r B B ϕλϕ=∆==∑ 将程序sy211.m 中的9,10两句换成以下4句,由此构成的程序就可仿真非单色光的干涉问题. N1=11;dL=linspace(-0.1,0.1,N1);%设光谱相对宽度±10%, lam1=lam*(1+dL');%分11根谱线,波长为一个数组 Phi1=2*pi*(r2-r1)./ lam1;%从距离差计算各波长的相位差 B(i, :)=sum(4*cos(Phi1/2).^2)/N1; %叠加各波长并影响计算光强运行修改后的程序得到的干涉条纹如图2.26所示. 可以看出,光的非单色性导致干涉现象的减弱,光谱很宽的光将不能形成干涉.第二章 数理探究试验 137-0.4-0.200.20.4-1.5-1-0.500.511.5-3-3图2.26 非单色光的干涉条纹 2. 单缝衍射的模拟实验一束单色平行光通过宽度可调的狭缝,射到其后的光屏上. 当缝宽足够小时,光屏上形成一系列亮暗相间的条纹,这是由于从同一个波前上发出的子波产生干涉的结果. 当光源到衍射屏的距离和光屏到衍射屏的距离都是无穷大时,即满足远场条件时,我们称这种衍射为夫琅禾费衍射. 所以夫琅禾费衍射中入射光和衍射光都是平行光. 为了模拟单缝衍射现象,我们把单缝看成一排等间隔光源,共NP 个光源分布在A ~B 区间内,离A 点间距为yp ,则屏幕上任一点S 处的光强为NP 个光源照射结果的合成.如图2.27所示,子波射线与入射方向的夹角ϕ称为衍射角,0=ϕ时,子波射线通过透镜后,必汇聚到O 点,这个亮条纹对应的光强称为主极大. NP 个光源在其他方向的射线到达S 点的光程差,应等于它们到达平面AC 的光程差,即sin yp ϕ∆=,其中sin ys Dϕ≈ ys 为S 点的纵坐标,则与A 点光源位相差为2π2πyP ys Dαλλ=∆=s O基于MA TLAB 的数学实验 138 -0.4-0.200.20.4-1.5-1-0.500.511.5-3-3图2.28 单缝衍射条纹图2.27 单缝衍射的模拟实验设单缝上NP 个光源的振幅都为1,在x ,y 轴上的分量各为cos sin αα,,合振幅的平方为:()()22COSa COSa ∑+∑. 又光强正比于振幅的平方,所以相对于O 点主极大光强也为22(cos )(sin )0I I αα=+∑∑程序sy212.m 模拟了单缝衍射现象,这里取波长λ=500nm ,缝宽a =1mm ,透镜焦距D =1m ,运行结果如图2.28所示.clear all %sy212.mlam=500e-9;a=1e-3;D=1;ymax=3*lam*D/a; %屏幕范围(沿y 向)Ny=51; %屏幕上的点数(沿y 向)ys=linspace(-ymax,ymax,Ny);NP=51;yP=linspace(0,a,NP); %把单缝分成NP 个光源for i=1:Ny %对屏幕上y 向各点作循环SinPhi=ys(i)/D;alpha=2*pi*yP*SinPhi/lam; SumCos=sum(cos(alpha)); SumSin=sum(sin(alpha));B(i,:)=(SumCos^2+SumSin^2)/NP^2;end N=255; % 确定用的灰度等级为255级%使最大光强对应于最大灰度级(白色)Br=B/max(B)*N; subplot(1,2,1)%画衍射条纹,用灰度级颜色图image(ymax,ys,Br); colormap(gray(N));subplot(1,2,2)%画屏幕上光强曲线 plot(B,ys,'*',B,ys);grid;分析图2.28中的衍射条纹,我们可以看出所有亮暗条纹都平行于单缝,O 点光强为最大,这都和理论推导结果相一致.问题2.40: 从理论上讲,中央亮条纹的半角宽和第一条暗条纹的衍射角都应等于λ/a ,各次极大角宽都等于中央亮条纹的半角宽,图2.28模拟的衍射条纹符合这个结论吗?3. 光栅衍射的模拟实验有大量等宽度、等间距的平行狭缝组成的光学系统称为衍射光栅. 单缝宽度a 和刻第二章 数理探究试验 139痕宽度b 之和称为光栅常数d ,d =a +b . 光栅衍射条纹是单缝衍射和缝间干涉的共同结果.设光栅有N 条狭缝,透镜焦距为D ,理论分析可以得到,光屏上P 点的夫琅禾费衍射光强I P /I 0分布为220sin sin ()()sin P I N I αβαβ= 式中sin sin sin s y a d Dππαϕβϕϕλλ==≈,, 运行程序sy213.m 得到衍射条纹如图2.29所示.clear all %sy213.mlam=632.8e-9; N=2;a=2e-4; D=5;d=5*a;ym=1.89*lam*D/a;xs=ym; %设定光屏的范围n=1001;ys=linspace(-ym,ym,n); % y 方向分成1001点for i=1:nSinphi=ys(i)/D;alpha=pi*a*Sinphi/lam;beta=pi*d*Sinphi/lam;B(i, :)=(sin(alpha)./alpha).^2.*(sin(N*beta)./sin(beta)).^2 ;B1=B/max(B); %将最大光强设为1endNC=255;Br=B/max(B)*NC;subplot(1,2,1)image(xs,ys,Br); %画衍射条纹colormap(gray(NC))subplot(1,2,2)plot(B1,ys) %画出沿y 向的相对光强变化曲线问题2.41:程序sy213.m 中d =5a ,观察图2.29衍射条纹,看有无缺级现象,为什么?改变sy213.m 中的波长、缝宽、光栅常数值,看衍射条纹有何变化?试加以解释.基于MA TLAB 的数学实验 140-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025图2.29 光栅衍射条纹第二章数理探究试验141 《车辆制冷与空调》第二次作业参考答案《车辆隔热壁》、《制冷方法与制冷剂》、《蒸汽压缩式制冷》一.简答题1.什么是隔热壁的传热系数?它的意义是什么?答:隔热壁的传热系数指车内外空气温度相差1℃时,在一小时内,通过一平方米热壁表面积所传递的热量。
源代码:
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 =
please input 衍射屏距离衍射孔的距离(mm):1000000
实验结果:
程序说明:本实验可以选择孔径类型、孔径半径、输入波长、衍射屏和衍射孔的距离等。
当衍射屏和衍射孔的距离相对较小时,此衍射为菲涅耳衍射,当距离相对较大时满足夫琅禾费衍射的条件,两者的程序一样,只是距离Z的大小不一致。
又由于夫琅禾费衍射与傅里叶变换成正比,只差一个系数关系。
所以程序中的衍射既是直接对物光进行傅里叶变换即可。