模拟夫琅禾费衍射的matlab源代码
不同形状孔的弗朗禾费衍射
−ⅈ
̃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的衍射系统仿真(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夫琅禾费衍射课程设计
课程设计任务书学生姓名:袁娜专业班级:电子科学与技术1201 班指导教师:工作单位:信息工程学院题目: 夫琅禾费矩孔﹑单缝和圆孔衍射图样一、设计目的了解MATLAB软件的基本知识,基本的程序设计,软件在高等数学和工程数学中的应用,学会使用软件进行数值计算和控制工程中的应用。
二、设计内容和要求1.绘制禾费矩孔、单缝和圆孔衍射图样,可以是二维的或三维的,也可以两种都有。
改变矩孔、单缝和圆孔的参数,比较衍射条纹的变化。
提示:参考《物理光学》教材或冯国英《波动光学》,画二维图时用image和colormap 函数,显示灰度图像时用colromap(gray(255)),255级灰度即可,画出的图和教材上的衍射图样一样。
三维图时就用mesh或surf函数。
2. 学习Matlab语言的概况和Matlab语言的基本知识。
3.学习Matlab语言的程序设计。
三、初始条件计算机;Matlab软件。
四、时间安排1、2015年01月19日,任务安排,课设具体实施计划与课程设计报告格式的要求说明。
2、2015年01月20日,查阅相关资料,学习Matlab语言的基本知识,学习MATLAB语言的应用环境、调试命令,绘图功能函数等。
3、2015年01月21日至2015年01月22日,Matlab课程设计制作和设计说明书撰写。
4、2015年01月23日,上交课程设计成果及报告,同时进行答辩。
指导教师签名:2015年01 月19日系主任(或负责教师)签名:2015年01 月19日目录摘要 (I)1 设计内容及要求 (1)1.1 设计的目的 (1)1.2 设计的要求 (1)2 设计原理及设计思路 (1)2.1 矩孔衍射原理 (1)2.2 单缝衍射原理 (2)2.3圆孔衍射原理 (3)3 程序设计 (3)3.1 矩孔衍射程序 (3)3.2 单缝衍射程序 (4)3.3 圆孔衍射程序 (6)4 图形仿真 (7)4.1 矩孔衍射仿真图样 (7)4.2 单缝衍射仿真图样 (8)4.3 圆孔衍射仿真图样 (8)5 心得体会 (10)参考文献 (11)摘要本文基于衍射理论,利用MATLAB软件编程来实现对夫琅禾费矩孔﹑单缝和圆孔衍射图样的计算机仿真,不仅参数很容易调节、模拟结果直观,而且与实验观测结果也非常吻合。
实验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源代码
源代码: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 gui设计的光学实验仿真
2007级计算机课程设计测控与光电技术学院电子科学与技术专业课程设计题目圆孔衍射现象计算机仿真设计学生姓名吴海班级070832指导教师钟可君日期2010 年6 月28 日南昌航空大学测试与光电工程学院计算机课程设计任务书电子科学与技术系070832 班学生:吴海课题名称:圆孔衍射现象计算机仿真设计课题内容:1、课题设计要求:(1)分析圆孔衍射的物理过程,建立数学模型;(2)设计算法流程图;(3)编写程序,并对仿真结果进行分析。
2、工作进度安排:查阅资料,设计算法流程图6月28日~7月4日第18周编写程序,撰写报告7月5日~7月9日第19周主要参考资料:[1]. 姚启钧.光学教程[M]. 北京:高等教育出版社[2]. 宋清,熊万杰.光学现象的计算机仿真[J].中山大学学报论丛,2005,25(3):24-29.[3].圆孔衍射与像分辨本领的MATLABF仿真分析[J].湖北工学院学报,2004,19(5):47-49.[4].MATLAB GUI在光学仿真中的应用[J].通化师范学院学报,2010,31(2):52-54.系负责人:指导教师:钟可君时间:2010年6月21日单孔衍射上机试验上机试验程序(1)%圆孔衍射clcclearlam=500e-9a=1e-3f=1m=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./lamhh=(2*BESSELJ(1,x)).^2./x.^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))程序运行后的结果单孔衍射图光强分布图[摘要]运用MATLAB6的软件平台,编制演示程序,对圆孔衍射像分辨本领进行仿真分析.[关键词]圆孔衍射;分辨本领; Airy斑;仿真分析意义:圆孔作为光学仪器基本形状,其衍射现象在光学研究中占有重要地位.光学衍射现象的实验演示需要特定的实验仪器和实验所,给研究工作带来许多不便.另外,清晰的圆孔衍射图样,要求的圆孔半径很小,在一般实验中难以实现.基于MATLAB6软件强大的计算能力和可视化功能上的优势,利用计算机对圆孔衍射过程进行仿分析,可以使衍射现象直观地表现出来;通过调整实验参数,可以同步生成不同实验条件下的衍射图样,便于对衍射现象和像分辨本领进行比较分析;利用色图表现光强分布,使实验效果更为逼真,在实和研究中具有重要意义.1圆孔衍射的实验装置与数学模型的、建立圆孔夫琅禾费衍射装置如图1所示,S为点光源,位于透镜L1的焦平面的主光轴上,光屏E置于焦距为D的透镜L2的焦平面上.圆孔P的半径为R.入射光波长为λ.射圆孔时,沿衍射角θ方向传播的次波在光屏Q(x,y)处的光强分布为[1]Iθ= I0(J1(2m)m)2.其中:m=πRλsinθ,sinθ=x2+y2x2+y2+D2;I0为分常数.2主程序编写与衍射图样的生成运用MATLAB编制运算程序circle_aperturebase01.m,程序运行后,在坐标区可以生成圆孔琅禾费衍射图样.为了满足程序的普遍性和通用性,主程序中共设置5个输入参数,分别为λ,D,R,θ0(入射光垂直入射为θ0=0),最大坐标范围xmax.长度以毫米为单位.主程序circle_aperture_base01.m如下:function circle_aperture_base01(lambda,D,R,theta0,xmax) %对参量赋值lambda=6.328*1e-4;D=64;R=0.02;xmax=pi;theta0=0%设定图像的范围,并把x分成401个点(根据程序需要,设为奇数点).x=linspace(-xmax,xmax,401);[x,y]=meshgrid(x); %%建立x,y网格%建立强度分布矩阵x0=D*tan(theta0);sin_theta=sqrt(((x-x0).^2+y.^2)./((x-x0).^2+y.^2+D^2)); %%sin(theta)z=R*sin_theta/lambda; %%z=Rsin(theta)/lambdam=pi*z;I=(bessel(1,2*m)./m).^2;%生成强度分布图%绘制相对光强与x坐标的关系曲线(沿y=0方向) subplot('position',[0.15 0.6 0.7 0.35]),plot(x(1,:),I((end+1)/ 2,:))%绘制相对光强与坐标(R*sin(theta)/lambda)的关系曲线(沿y=0方向)subplot(2,2,3),plot(z((end+1)/2,:),I((end+1)/2,:));%绘制强度分布的灰度图NCLevers=255; %%确定用的灰度等级为255Imax=max(max(I));Ir=I/Imax*NCLevers;colormap(gray(NCLevers)); %%用灰度级颜色绘图subplot(2,2,4),image(x(1,:),y(:,1),Ir) %%绘制强度的灰度图axis squareaxis([-2 2 -2 2]);colorbar('vert')程序运行后,在坐标区,生成强度分布曲线和色图(如图2,图中的极值判断和文字标示命令在程序中未列出).图中,上图表示强度沿x坐标(y =0)分布,下图左侧表示强度随无量纲因子Rsinθ/λ的变化规律,右侧则表示光强在xoy平面的变化规律,中央的白色亮区为Airy斑.在光强曲线图中,用红点和绿点表示极大值点和极小值点,对应坐标也在图2(c)中央明区中给出.3衍射图样分析3.1Airy斑与极小值由图2可知,当Rsinθ/λ≈0.61时,出现第一级极小值.定义在光屏上由两个第一级极小值之间所围圆形区间为Airy斑.Airy斑的中心位于坐标原点,其角半径为0.61λ/R,如图所示.3.2第一级次极大由图2可知,当Rsinθ/λ≈0.82时,出现第一级次极大值,其相对光强为1.7%.其余次极大的光强将更小.3.3参数对衍射图样的影响进一步调整参数R、D及λ,其Airy斑及各级衍射环的相对位置发生变化.如图3所示,Airy斑的角半径与R成反比,与λ成正比,其线半径与D成正比.5结论从上面的一系列讨论可以发现,通过计算机编程,对圆孔夫琅禾费衍射进行仿真分析,无需复杂的实验仪器和苛刻的实验环境,可在短时间内完成多种实验条件衍射图样的演示.运用MATLAB强大的数值计算功能和优越的可视化特征,可以同步求出衍射图样的一些重要物理量的数值,满足仿真实验的需要,为教学和研究工作提供了强有力的演示工具.利用计算机编程,仿真演示复杂的物理现象, 作为计算物理学的一个发展方向,具有广阔的发展前景.[参考文献][1]姚启钧.光学教程[M].北京:高等教育出版社, 2002.[2]赵凯华,钟锡华.光学(上册)[M].北京:北京大学出版社, 1984.摘要:采用matlab7.0强大的函数作图功能对圆孔、矩孔和双矩孔的夫琅和费衍射进行模拟,建立直观形象并且精确完整的理论模型,并附上程序代码,将干涉理论联系起来,分析衍射和干涉的本质。
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 模拟结果如图 " 所示!
基于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 相 同 的衍 射 光线 会聚 于观 察
(完整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年代后串行处理数字机逐渐应用到仿真之中。
夫琅禾费衍射数字模拟仿真与实验
y(m) y(m)
2015 年光电信息科学与工程专业综合实验-信息光学专题实验
z= 0 m
0.2
0.15
0.1
0.05
0
-0.05
-0.1
-0.15
-0.2
-0.25
-0.2
-0.1
0
0.1
0.2
x(m)
0.14
传 播 距 离 为z= 2000m
0.3 0.2 0.1
鲁东大学物理与光电工程学院2015年光电信息科学与工程专业综合实验信息光学专题实验夫琅禾费衍射21夫琅禾费衍射理论可参照信息光学第二章内容讨论衍射用的几何示意图菲涅耳衍射公式01dxdydxdy鲁东大学物理与光电工程学院2015年光电信息科学与工程专业综合实验信息光学专题实验dxdydxdy对位相的影响可忽略
end---------------------------------------------
D. 矩形孔与圆孔的夫琅禾费衍射实例:
------------------------------------------clear all close all clc %%%%%%%%%----参数设定--L1=0.5; % 光场边长的长度 M=300; %抽样点数 dx1=L1/M; %抽样间隔 x1=-L1/2:dx1:L1/2-dx1; %抽样坐标 y1=x1; % x 与 y 方向相等 lamda=0.6328e-6; %波长 k=2*pi/lamda; %波数 w=0.01; %物体的半宽度 z=2000;%衍射距离 %%%%----------矩形物体--------------[X1,Y1]=meshgrid(
图 6. 光栅的夫琅禾费衍射结果
衍射的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 GUI光的衍射实验仿真
1 2 2
λ ( f x + f 2y )
2
(1)
(2)
同时利用傅里叶变换关系先对 fxꎬfy 进行积
分ꎬ得到如下的菲涅尔公式:
U( xꎬyꎬz) =
{ λzπ [ ( x - x )
exp j
令 h( xꎬy) =
∫
exp( jkz)
dx 0 dy 0 U( x 0 ꎬy 0 )
jλz
0
2
∑
+ ( y - y0 ) 2 ]
操作便捷、设计灵活等特点ꎬ从而达到较好的实验演示教学目的ꎮ
关
键
词: Matlab GUIꎻ光的衍射ꎻ仿真实验Biblioteka 中图分类号: O 4 ̄39
文献标志码: A
菲涅尔衍射是大学物理重点学习内容ꎬ但光
的衍射实验现象对实验设备及环境要求苛刻ꎬ通
常不能达到较好的实验结果ꎮ 近年来ꎬ不断有人
在光的衍射仿真方面上做了多种尝试ꎬ吕波、徐志
要: 利用 Matlab 仿真软件的 GUI 图形用户界面可视化工具和 FFT 傅里叶变换工具ꎬ对圆孔、方
摘
形孔、多边形孔、圆盘四种不同的孔形进行菲涅尔光的衍射实验仿真ꎮ 通过用户界面对光学参数进行数
据交互ꎬ能形象直观地得到四种不同孔径光的衍射图纹、光强三维分布、光强二维分布图像ꎮ 应用于物
理课堂教学中能将抽象难于实现的衍射实验现象直观呈现ꎬ同时ꎬ有助于学生对衍射原理的理解ꎬ具有
内容为圆孔、方形、多边形、圆盘ꎬ则系统在 popup ̄
menu_CreateFcn 函数中自动生成如下代码:
set( hObjectꎬ‘ String’ ꎬ{ ‘ 圆孔’ ꎬ‘ 方形’ ꎬ‘ 多
边形’ ‘ 圆盘’ ꎬ''} ) ꎻ在可编辑文本框中设置光学
大学物理-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 =6.3200e-04
please input 衍射屏距离衍射孔的距离(mm):1000000
实验结果:
程序说明:本实验可以选择孔径类型、孔径半径、输入波长、衍射屏和衍射孔的距离等。
当衍射屏和衍射孔的距离相对较小时,此衍射为菲涅耳衍射,当距离相对较大时满足夫琅禾费衍射的条件,两者的程序一样,只是距离Z的大小不一致。
又由于夫琅禾费衍射与傅里叶变换成正比,只差一个系数关系。
所以程序中的衍射既是直接对物光进行傅里叶变换即可。