模拟夫琅禾费衍射的matlab源代码
用Matlab模拟白光夫琅和费衍射
用Matlab模拟白光夫琅和费衍射
喻平
【期刊名称】《重庆师范大学学报:自然科学版》
【年(卷),期】2007(24)2
【摘要】根据配色原理,将白光衍射分解为三基色衍射场的非相干叠加,用Matlab 模拟白光圆孔和单缝衍射场的分布图,给出程序代码,结果形象直观。
【总页数】3页(P43-45)
【关键词】夫琅和费衍射;三基色;Matlab;模拟
【作者】喻平
【作者单位】重庆师范大学物理学与信息技术学院;南京师范大学物理科学与技术学院,南京210097
【正文语种】中文
【中图分类】O436.1
【相关文献】
1.白光夫琅和费矩孔衍射实验的计算机仿真 [J], 李珏璇;蓝海江;张学科
2.白光夫琅和费衍射实验的计算机仿真 [J], 蓝海江
3.白光夫琅和费矩孔衍射实验的计算机仿真 [J], 李珏璇;蓝海江;张学科
4.基于MATLAB的矩孔夫琅和费衍射场模拟计算 [J], 郝忠秀;赵亚军;李立功;丁文革
5.用Matlab模拟白光单缝和圆孔衍射场的分布图 [J], 陈燕
因版权原因,仅展示原文概要,查看原文内容请购买。
不同形状孔的弗朗禾费衍射
−ⅈ
̃0 () ⅆ (2)
∬
0
(0 )
现在假设一个坐标系,如图(1)
把坐标系带入到方程(2),则可以得到
图(1)
∞
2
( 2 + 2)
(
)
2
(, ) =
× ∬ (0 , 0 ) − 0 +0 ⅆ0 ⅆ0
ⅈ
−∞
其中(0 , 0 )为衍射屏后的复振幅,为光波的波长, =
6. 正 N 变形
到此处,我们可以设想任意 N 边形衍射孔形成的衍射强度分布。
思路是这样的:将一个任意正 N 边形孔分割成 N 个分别全等的等腰三角形,然后
使每个等腰三角形所形成的衍射场相干叠加所
形成的衍射场就是这个正 N 边形所形成的衍射
场(如图(15))。
有计算机所绘制的图像和导出公式可以看出:
B(j)=pi*a*y(j)/(lmda*z);
I(i,j)=((sin(A(i)))/(A(i)+eps))^2*((sin(B(j)))/(B(j)+eps))^2;
end
end
>> figure(1)
>> imshow(I*225)
>> figure(2)
>> mesh(I)
8
图(8) 正方形孔的夫琅禾费衍射振动分布
并且用 matlab 和 mathematical 绘制出衍射强度分布的图像。由此,我们可以推
广出任意正 N 边形的夫琅禾费衍射公式。同时,我们假设任意不规则形状的夫琅
禾费衍射的计算思路。
关键字:夫琅禾费衍射,等腰三角形,正 N 变形
1. 引言
夫琅禾费矩孔衍射的特征及其MATLAB模拟_图文(精)
方向高度为b (y 0轴方向的矩孔上,若设矩孔上的光场分布均匀,则瞳函数为常数,即U 0 (x 0,y 0=A.由文献[5,6]可知,夫禾费矩孔衍射的衍射场为
U (θ1,θ2
= c e ik 0L 0
sin αα・sin
ββ
,(1
式中,θ1,θ2分别为x轴和y轴方向上的衍射角;
夫琅禾费矩孔衍射的特征及其MAT LAB模拟
蓝海江a
,潘晓明a
,吴建生
b
(柳州师范高等专科学校a .物理与信息科学系;b .数学与计算机科学系,广西柳州545004
摘 要:探讨了夫琅禾费矩孔衍射的特征,并利用MAT LAB对其进行模拟。经过比较,MAT LAB模拟结果与实验观测的结果非常吻合。
关键词:光学;夫琅禾费;矩孔;衍射;MAT LAB模拟
c =-i
λf
(ab A;k 0=
2
πλ0
为真空中的波数;L 0为光波从x 0,y 0坐标的原点出发沿着衍射方向到达场点P (x,y的光程,即参考光程,在积分过程中是不变的常量;α=πa sin θ1λ,β=πb sin θ2
λ
.
由光强公式I (θ1,θ2=U (θ1,θ2・U 3(θ1,θ2及(1式
可知,夫琅禾费矩孔衍射的光强分布为[5]
I (θ1,θ2=I 0
sin αα2・sin
ββ
2,(2式中,I 0= c c 3
=(ab 2(λf 2
A 2
.
(3
2.3夫琅禾费矩孔衍射的特征
由(2式可知,夫琅禾费矩孔衍射图样的主要特征是:衍射亮斑集中分布在两个相互垂直的方向上(x轴和y轴上,x轴方向上的亮斑宽度与矩孔的宽度a成反比,y轴方向上的亮斑宽度与矩孔的高度b成反比,即光波在哪个方向上受到的限制越大,那个方向的衍射就越明显.
衍射的Matlab 模拟
二、菲涅耳-基尔霍夫衍射公式(确定了C、K()) 基尔霍夫 (Kirchhoff) 从波动方程出发,用场论得出了 比较严格的衍射公式。
A expik l expik r cosn, r cosn, l E P = d i l r 2
菲涅尔假设: 当 = 0 时,K()=Max, p/ 时,K()=0.
(实验证明是不对的) 若S发出的光源振幅为A(单位距离处),整个波面’的贡献
CA expikr ~ E P expikR K d R r
求解此公式主要问题:C、K()没有确切的表达式。
设
l
x sin x , f
a b
m
y sin y f
~ E x, y C 2a 2b exp ik lx1 my1 dx1 dy1
2 2
28
~ E x, y C 2a 2b exp ik lx1 my1 dx1 dy1
2 2
P0 E
17
r z1
2 2 x x1 y y1
2 z1
称为菲涅耳近似。
得到菲涅耳衍射:
e ikz1 ~ E x, y iz1
k ~ 2 2 E x1 , y1 exp i x x1 y y1 2 z1 y y
~ 和E0 abC
则
~ ~ sin sin E x, y E0
子波的复振幅与 cosn, r cosn, l 2 成正比,与波长成反比。 K ( )
1 p i exp[ i ] i 2 表示子波的振动位相超前于入射波90。
12
当光线接近于正入射时
基于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可知:矩孔在一个维度上展宽一定倍数将导致衍射图样在相同维度上缩短相同倍数,同时能量会更向中心亮斑集中。
实验7 衍射的Matlab模拟
实验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。
基于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实验结果:程序说明:本实验可以选择孔径类型、孔径半径、输入波长、衍射屏和衍射孔的距离等。
写平行光束分别通过圆孔和矩形孔的菲涅尔衍射的matlab代码
写平行光束分别通过圆孔和矩形孔的菲涅尔衍射的matlab代码1. 引言1.1 概述在光学领域中,菲涅尔衍射是一种常见的现象,它描述了当平行光束通过孔洞或物体边缘时所产生的衍射效应。
这个现象在很多应用中都具有重要意义,例如光学仪器的设计、天文学以及激光技术等领域。
理解和研究菲涅尔衍射现象对于深入探究光的波动性质以及相干光的传播具有重要意义。
1.2 文章结构本文将从以下几个方面进行讨论:首先介绍菲涅尔衍射理论中与本文相关的基本概念和原理;其次详细阐述使用MATLAB代码实现菲涅尔衍射的方法和步骤;然后,通过对圆孔和矩形孔两种情况下的菲涅尔衍射结果进行分析和讨论;最后给出文章总结,并提出进一步研究方向。
1.3 目的本文旨在通过编写MATLAB代码来模拟实现平行光束通过圆孔和矩形孔时的菲涅尔衍射现象,并利用结果分析和比较两种情况下的衍射效应。
通过这样的研究,可以加深对菲涅尔衍射原理的理解,并为后续相关研究提供参考和借鉴。
同时,通过MATLAB代码实现,读者也可以根据自己的需求进行扩展和修改,从而进一步探索不同形状孔洞的菲涅尔衍射特性。
2. 菲涅尔衍射理论2.1 光的波动特性菲涅尔衍射是一种描述光波传播和衍射现象的理论。
根据光的波动特性,当光通过一个孔径较小的障碍物时,它会弯曲并发生衍射现象。
在菲涅尔衍射中,平行光束通过圆孔或矩形孔后,在进入屏幕上的观察点处产生干涉图样。
2.2 菲涅尔近似理论菲涅尔近似理论是在进一步简化计算过程中使用的近似方法。
它假设观察点距离光源和障碍物足够远,使得远场近似成立。
2.3 圆孔和矩形孔的描述圆孔和矩形孔是两种常见形状的障碍物,用于描述光线传播时发生的菲涅尔衍射效应。
- 圆孔: 圆孔通常由一个具有确定半径大小的圆形开口组成。
当平行光束通过圆孔时,它会扩散并形成一系列同心环状条纹。
- 矩形孔: 矩形孔是由一个具有确定边长的矩形开口组成。
当平行光束通过矩形孔时,它会扩散并在屏幕上生成一系列矩形衍射图样。
Matlab在物理学中的应用--光的衍射
光的干涉和衍射一、实验目的① 学习用用模拟实验方法探究光的干涉和衍射问题.② 进一步熟悉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℃时,在一小时内,通过一平方米热壁表面积所传递的热量。
夫琅禾费矩孔衍射的特征及其MATLAB模拟
柳! 州! 师! 专! 学! 报 ,-./012 -3 45.67-. 891:79/; <-229=9
>-2? "& @-? & A1/? "##(
夫琅禾费矩孔衍射的特征及其 AB84BC 模拟
蓝海江 1 , 潘晓明 1 , 吴建生 D
( 柳州师范高等专科学校 1? 物理与信息科学系; D? 数学与计算机科学系, 广西 柳州 $+$##+ ) ! ! 摘! 要: 探讨了夫琅禾费矩孔衍射的特征, 并利用 AB84BC 对其进行模拟。经过比较, AB84BC 模拟结果与实 验观测的结果非常吻合。 关键词: 光学; 夫琅禾费; 矩孔; 衍射; AB84BC 模拟 中图分类号: E+)(? &! 文献标识码: B! 文章编号: &##) % *#"# ( "##( ) #& % #&&& % #+
{
$ !# # $ !! #
()) 图 !3 人机对话窗口图 & ( , %&’!! # *+’!! # , ’ ’ " ! # ! ! 不变参数的确定 为了使模拟结果形象而直观, 设置的不变参数为: 瞳函 -( & , 数, # . # #, 会聚透镜的焦距 ’ # !)$$ //! $ $ ($ ) " ! ! 程序的编写和调式 用它编写的夫琅禾费 由于 ./01/2 的功能非常强大, 矩孔衍射模拟程序不仅简洁、 简短, 而且响应速度快! 程序共 分为三个模块: 可变参数输入模块! (#) (!) 数据采样及处理模块! (") 图形输出模块! 程序在 ./01/2, ! ) 版本上调试通过! " ! " 夫琅禾费矩孔衍射的 ./01/2 模拟结果 " ! " ! # 夫琅禾费方孔衍射的 ./01/2 模拟结果 在 人机对话窗口中输入数据: $ # # // , % # # // , "# $ ! $$$) //, 则夫琅禾费方孔衍射的 ./01/2 模拟结果如图 " 所示!
(完整word版)模拟夫琅禾费衍射的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语言模拟光衍射实验
第14卷第4期大 学 物 理 实 验 V ol.14N o.42001年12月出版PHY SIC A L EXPERI ME NT OF C O LLEGE Dec.2001收稿日期:2001-07-30文章编号:1007-2934(2001)04-0047-02用MAT LAB 语言模拟光衍射实验周 忆(安徽省科学技术培训中心,合肥,230031) 梁 齐(合肥工业大学,合肥,230009)摘 要:用M AT LAB 语言模拟编写了光衍射的模拟实验程度,给出了五种元件的夫琅和费衍射图。
关键词:衍射;模拟;M AT LAB 语言中图分类号:O4-39 文献标识码:A光的衍射现象是光具有波动性的重要特征,衍射无论在理论研究还是在大学物理教学中都占有较重要的地位。
笔者利用MAT LAB 较强的绘图和图像功能,针对多种衍射元件(单缝、双缝、光栅、矩孔、圆孔)编写了光衍射的模拟实验程序。
在计算机的模拟光的衍射,条件限制较少,对于衍射的实验教学是一种较好的补充。
程序首先根据衍射强度分布的理论公式及实验参数建立衍射相对强度的数据矩阵B (x ,y )然后利用image (B )和colormap (gray )命令绘出衍射图样。
同时,也绘制了衍射光强分布的二维或三维图。
单缝夫琅和费衍射的模拟结果见图1。
衍射光强公式为I =I 0(sin u/u )2,u =(πa sin θ/λ),a 是缝宽,λ是入射光的波长,θ是衍射角。
设观察屏位于单缝后正透镜的焦平面上,f 为透镜的焦距,x 为屏上横向坐标。
θ=arctan (x/f )。
模拟分成三组:第一组,λ=600nm ,f =600mm ,(a )a =0.20mm ;(b )a =0.10mm ;(c )a =0.05mm 第二组,a =0.10mm ,f =600mm ,(d )λ=500nm ;(e )a =600nm ;(f )λ=700nm第三组,a =0.10mm ,λ=600nm ,(g )f =300mm ;(h )f =600mm ;(i )f =900mm以下内容中,取λ=600nm ,f =600mm ,衍射图样横坐标x 和纵坐标y 的范围均为[-20,20]mm 。
基于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 模拟
21
加有透镜之后,衍射公式如何变化?
2、夫琅合费衍射公式变化
Ex, y C
E~x1,
y1
exp
i
k z1
xx1
yy1
dx1dy1
其中
C
1 iz1
e xp[ik ( z1
x2 y2 2z1
)]
可以写成
Ex, y C
E~x1,
6
惠更斯作图法解释波的衍射
2、惠更斯-菲涅耳原理
波阵面外任一点光振动应该是波面上所有 子波相干叠加的结果。
Z
Q
R
r
P
S
Z'
图1 点光源S对P点的作用
8
光源S在波面ZZ '上
波阵面外任一点光振动应该是波面
上所有子波相干叠加的结果。
任意Q点产生的复振幅:
E~Q
A
exp ikR
R
Z
Q
R
E~Q对P点的贡献为:
)]
iz1
E~x1,
y1
e
xp
i
k z1
xx1
yy1
dx1dy1
19
菲涅耳衍射和夫琅和费衍射是两个经常应用的衍射计算。
菲涅耳衍射和夫琅合费衍射的判别式;
k x12 y12 max p
或者
2z
Z<
x12 y12 max
(菲涅耳衍射)
Z>
x12 y12 max
(夫琅合费衍射)
i 1 exp[i p]
i
2
表示子波的振动位相超前于入射波90。
12
当光线接近于正入射时
exp(ikl) exp(ikR)
衍射的Matlab 模拟
r
P
则 K
1 1 cos 2
13
将近似条件代入得到:菲涅耳-基尔霍夫衍射近似公式
exp ikR i ~ E P A 2 R
exp ikr 1 cos d r
( n,l ) ( n,r )
2
2
x1 x y1 y x 2 y 2 取上式前三项 r z1+ z1 2 z1
x2 y2 exp[ ik ( z1 )] 2 z1 ~ E x, y iz1 ~ k i xx1 yy1 dx1dy1 E x1 , y1 exp z1
y1 x1
进一步的计算需要 将exp( ikr )中的r表 示成(x,y,z)的函数。
Q C z1 K
r
P
x
P0 E
孔径 的衍射
16
2.菲涅耳近似(对位相项的近似)
r z1 ( x x1 ) 2 y y1 z1 1
2 2
x x1 2 y y1 2
非平行光衍射光源面和接收面非物象共扼面源点和场点均满足远场近似源点和场点均在无限远处平行光衍射光源面和接收面物菲涅耳衍射夫琅和费衍射121
衍射的MATLAB模拟
刘雁 三峡大学理学院 2013.4
内容提要
衍射的基本理论
单缝衍射的Matlab模拟
一衍射的基本原理
光的衍射现象:光波在空间传播遇到障碍时,其传播方
2 2 夫琅合费衍射对z的要求 =600nm, x1 y1
x z
2
1
y1
2
max
2cm2
大学物理-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模拟结果。
- 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 =
please input 衍射屏距离衍射孔的距离(mm):1000000
实验结果:
程序说明:本实验可以选择孔径类型、孔径半径、输入波长、衍射屏和衍射孔的距离等。
当衍射屏和衍射孔的距离相对较小时,此衍射为菲涅耳衍射,当距离相对较大时满足夫琅禾费衍射的条件,两者的程序一样,只是距离Z的大小不一致。
又由于夫琅禾费衍射与傅里叶变换成正比,只差一个系数关系。
所以程序中的衍射既是直接对物光进行傅里叶变换即可。