圆孔矩孔的菲涅尔衍射模拟matlab实现工程光学

合集下载

圆盘衍射matlab

圆盘衍射matlab

圆盘衍射matlab
在MATLAB中,我们可以使用以下步骤来模拟圆盘衍射:
1. 首先,我们需要定义一个圆形的光源。

这可以通过circle函数完成,例如:source circle = [0 0; 1 0];
2. 接下来,我们需要定义一个光栅,可以通过meshgrid 函数来实现。

例如:mesh grid = meshgrid(linspace(-1,1), linspace(-1,1), linspace(-1,1));
3. 然后,我们需要定义一个光源到光源的距离,例如:source to circle = 1;
4. 接着,我们需要定义一个光源到光栅的距离,例如:circle to grid = 1;
5. 最后,我们需要定义一个光源到光栅的距离,例如:circle to grid = 1;
6. 然后,我们可以通过以下公式来计算光栅的衍射图像:
diff image = (mesh grid.^2).*(source circle.^2).*(1 - (circle to grid.^2).*(source to circle.^2));
7. 最后,我们可以将这个公式放入MATLAB的代码中来实现圆孔衍射的模拟。

以上步骤只是一个基本的示例,具体的实现可能会根据你的具体需求有所不同。

基于matlab的衍射系统仿真(1)

基于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模拟

实验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

菲涅尔衍射matlab

菲涅尔衍射matlab菲涅尔衍射(Fresnel diffraction)既是一种物理现象,也是一种集中光束的数学解析方法,是量子力学中的物理现象之一。

MATLAB使用菲涅尔衍射算法,可以在复杂物体和形状上进行准确的光分发分析和性能评估。

一、什么是菲涅尔衍射1.1 菲涅尔衍射的定义菲涅尔衍射,也称为衍射弥散,是由法国物理学家菲涅尔(Augustin Fresnel)在1817-1818年首次提出的一种物理现象。

它指的是当光线遇到光学系统的边界折射处或非特定孔径时,其交界处的散射效应。

当一束光线穿过一个孔径或光学系统边界时,菲涅尔衍射造成了衍射或散射,这会影响光束的衍射图像,其形式主要依赖介质的结构和入射光的波长。

1.2 菲涅尔衍射的应用菲涅尔衍射算法(fresnel diffraction algorithm)的主要应用有:(1)应用于光学系统的分析,包括照明系统、光学投影系统的性能分析,以实现信号的有效传输。

(2)在光纤传感器的分析中,可以应用菲涅尔衍射方法研究微弱信号的传输性能。

(3)在计算机视觉研究中,运用菲涅尔衍射可以最大限度地减少折射和反射的影响,从而获取更加真实的图像。

(4)在天体衍射中,菲涅尔衍射可以被用来描述在更大空间张量和体积空间进行光学计算。

二、MATLAB如何使用菲涅尔衍射2.1 编程实现的步骤(1)用MATLAB创建光学系统模型:根据系统模型,建立计算机模型,从而模拟系统性能。

(2)使用菲涅尔衍射计算光束穿过光学系统的散射衍射:在计算机模型的基础上,可以使用菲涅尔衍射算法,模拟光束穿过特定的不它孔径或者到达特定点时,菲涅尔衍射会发生的变化,从而计算出衍射图形。

(3)对光束进行测量:通过精确测量可以观察光束的变化,进而检查系统的性能,从而改进系统设计。

2.2 使用fresnel diffraction algorithm的Matlab工具Matlab中提供了fresnel diffraction algorithm的一系列Matlab工具,可以实现准确运算并生成衍射系数,这些工具可用于各种光学衍射、折射和反射模拟的仿真,可以作为视觉设计、光学性能测试和甚至作为优化,可以解决复杂的光学光谱计算问题。

基于MATLAB编程模拟光学实验

基于MATLAB编程模拟光学实验

B(i,:)=(sin(alpha)./alpha).^2.*(sin(N
*beta)./sin(beta)).^2;
B1=B/max(B);
end
NC=255;
Br=(B/max(B))*NC;
subplot(1,2,1)
image(xs,ys,Br);
colormap(gray(NC));
subplot(1,2,2)
( t 2 r )
dE k( ) cos
ds
r
( t 2 r )
E(P) k( ) cos S
Hale Waihona Puke dsr这便是计算衍射场的常用公式,即惠更斯-菲涅尔原理的表达式。
单色平行光通过单缝,可看作N条光束的叠加来计算, 单缝衍射的几何关系如图所示.把单缝看作一排等间 隔的光源,N个光源分布,P处的光强为这N个光源照射 结果的合成。
波程差 相位差
=

2
光的衍射现象是光的波动性的一种表现,通过对光的各种衍射现象的研究可
以深入具体地了解光的波动性。惠更斯原理认为:传播中的波面上任何一点
都可以认为是一个新的次波源,由这些次波源发出的次波是球面波,这些次
波的公共包络面就是下一个时刻的波面。菲涅尔将其进一步具体化,认为可
以将波面S分成许多面积元ds,每个ds在P点的振动可写为:
N=256;
%确定灰度的等级
Br=(B/max(B))*N; %定标
subplot(1,2,1)
image(xm,xs,Br);
colormap(gray(N)); %色调处理
subplot(1,2,2)
plot(B,xs,'k');
杨氏双缝干涉

基于MATLAB的矩孔、单缝、圆孔夫琅和费衍射概诉

基于MATLAB的矩孔、单缝、圆孔夫琅和费衍射概诉

课程设计任务书学生姓名:专业班级:指导教师:工作单位:信息工程学院题目: 夫琅和费矩孔、单缝、圆孔衍射图样一、设计目的了解MA TLAB软件的基本知识,基本的程序设计,软件在高等数学和工程数学中的应用,学会使用软件进行数值计算和控制工程中的应用。

二、设计内容和要求1.绘制弗朗禾费矩孔、单缝和圆孔衍射图样,可以是二维的或三维的,也可以两种都有。

改变矩孔、单缝和圆孔的参数,比较衍射条纹的变化。

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.1.1夫琅和费圆孔衍射 (2)2.1.2夫琅和费矩孔衍射 (2)2.1.3夫琅和费单缝衍射 (2)2.2设计思路 (3)3.仿真及分析 (4)4.心得和体会 (8)参考文献 (8)摘要物理光学理论较为复杂抽象,实验现象的演示对条件要求高。

采用MATLAB7.0强大的函数作图功能对矩孔、单缝、圆孔的夫琅和费衍射进行模拟,建立直观形象并且精确完整的理论模型,并附上程序代码,将干涉理论联系起来,分析衍射和干涉的本质。

从而加深对夫琅和费原理、概念、和图像的理解。

通过使用MATLAB编写程序,不仅理解了物理思想,而且了解了运用软件解决物理问题的方法。

圆孔矩孔的菲涅尔衍射模拟(matlab实现)-工程光学

圆孔矩孔的菲涅尔衍射模拟(matlab实现)-工程光学

工程光学综合练习-----圆孔、矩孔的菲涅尔衍射模拟圆孔和矩孔的菲涅尔衍射模拟一、原理由惠更斯-菲涅尔原理可知接收屏上的P点的复振幅可以表示为其中为衍射屏上的复振幅分布,为倾斜因子。

根据基尔霍夫对此公式的完善,有设衍射屏上点的坐标为(x1, y1),接收屏上点的坐标为(x, y),衍射屏与接收屏间距离为z1,当满足菲涅尔近似条件时,即此时可得到菲涅尔衍射的计算公式把上式指数项中的二次项展开,并改写成傅里叶变换的形式,可以写成上式为菲涅尔衍射的傅里叶变换表达式,它表明除了积分号前面的一个与x1、y1无关的振幅和相位因子外,菲涅尔衍射的复振幅分布是孔径平面的复振幅分布和一个二次相位因子乘积的傅里叶变换。

相对于夫琅和费衍射而言,菲涅尔衍射的观察屏距衍射屏不太远。

在菲涅尔衍射中,输入变量和输出变量分别为衍射孔径平面的光场分布和观察平面的光场以及光强分布,考虑到这三个量都是二维分布,而且Matlab主要应用于矩阵数值运算,所以本程序选择用二维矩阵来存储衍射孔径平面和观察平面的场分布,并分别以矩阵的列数和行数来对应平面的直角坐标值(x, y)以及(x1, y1)。

二、圆孔菲涅尔衍射用MATLAB分别构造表示衍射屏和接收屏的二维矩阵。

注意使两矩阵阶次相同,考虑到运算量的要求,采样点数不能过多,所以每个屏的x和y方向各取200到300点进行运算。

根据式(4),选取合适的衍射屏和接收屏尺寸和相距的距离,模拟结果如下:取典型的He-Ne激光器波长λ=632.8nm,固定衍射屏和接收屏尺寸和相距的距离,分别取不同的圆孔半径,得到以下三组衍射图样,其圆孔半径分别为12mm,20mm,50mm图1(r=12mm)图2(r=20mm)图3(r=50mm) 三、矩孔的菲涅尔衍射步骤与上述相同,仅需改变与衍射屏形状对应的矩阵。

这里选择矩孔的长宽相等,分别为15mm,20mm,30mm,其衍射图样及强度分布如图4、5、6图4(a=b=15mm)图5(a=b=20mm)图 6(a=b=30mm)四、MATLAB 程序%所有长度单位为毫米lamda=632.8e-6; k=2*pi/lamda;z=1000000;%先确定衍射屏N=300; %圆屏采样点数a=15;b=15;[m,n]=meshgrid(linspace(-N/2,N/2-1,N));I=rect(m/(2*a)).*rect(n/(2*b));q=exp(j*k*(m.^2+n.^2)/2/z);subplot(2,2,1); %圆孔图像画在2行2列的第一个位置 imagesc(I) %画衍射屏的形状colormap([0 0 0; 1 1 1]) %颜色以黑白区分axis imagetitle('衍射屏形状')L=300;M=300; %取相同点数用于矩阵运算若为圆孔,方框内替换为以下程序 r=12;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; %孔半径范围内透射系数为1[x,y]=meshgrid(linspace(-L/2,L/2,M));h=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))。

matlab实现夫朗和费矩形和圆孔衍射

matlab实现夫朗和费矩形和圆孔衍射

2、用MATLAB仿真平行光束的衍射强度分布图样。

(夫朗和费矩形孔衍射、夫朗和费圆孔衍射、夫朗和费单缝和多缝衍射。

)理论推导部分2.(1)夫朗和费矩形孔衍射若衍射孔为矩形则在透镜焦平面上得到的衍射图样如图,衍射图样的主要特征为衍射亮斑集中分布在两个相互垂直的方向上,并且x轴上的亮斑宽度与y轴亮斑宽度之比,恰与矩形孔在两个轴上的宽度相反。

其中的θ为θx,同样的β中的θ为θy,利用θx=x/f,θy=y/f进行求解。

(2)夫朗和费圆形孔衍射夫朗和费圆孔衍射的讨论方法和矩形孔衍射的讨论方法相同,只是由于圆孔的几何对称性,采用极坐标更为方便。

Ф=kaθ2.(1)夫朗和费矩形孔衍射clear all;lamda=500e-9;a=1e-3;b=1e-3;f=1;m=500;ym=8000*lamda*f;ys=linspace(-ym,ym,m)xs=ys;n=255;for i=1:msinth2=ys./sqrt(ys.^2+f^2);%相当于x/fsinth1=xs(i)/sqrt(xs(i).^2+f^2);%xs(i)作用每给一个ys值,要遍历到所有的x值angleA=pi*a*sinth1/lamda;%相当于书上的alfa=kax/2f k=2*pi/lamdaangleB=pi*b*sinth2./lamda;B(:,i)=(sin(angleA).^2.*sin(angleB).^2.*5000./(angleA.^2.*a ngleB.^2));%光强度公式endsubplot(1,2,1)image(xs,ys,B)colormap(gray(n))subplot(1,2,2)plot(B(m/2,:),ys)(2)夫朗和费圆孔衍射clearlam=500e-9a=1e-3f=1m=300;ym=5*0.61*lam*f/a;%取爱里光斑半径的5倍ys=linspace(-ym,ym,m);xs=ys;n=200;for i=1:mr=xs(i)^2+ys.^2;%相当于r的平方sinth=sqrt(r./(r+f^2));%角度fai=2*pi*a*sinth./lam;%fai=k*a*sinthhh=(2*BESSELJ(1,fai)).^2./fai.^2;%贝塞尔函数 b(:,i)=hh.*5000;endsubplot(1,2,1)image(xs,ys,b)colormap(gray(n))subplot(1,2,2)b(:,m/2)plot(ys,b(:,m/2))。

写平行光束分别通过圆孔和矩形孔的菲涅尔衍射的matlab代码

写平行光束分别通过圆孔和矩形孔的菲涅尔衍射的matlab代码

写平行光束分别通过圆孔和矩形孔的菲涅尔衍射的matlab代码1. 引言1.1 概述在光学领域中,菲涅尔衍射是一种常见的现象,它描述了当平行光束通过孔洞或物体边缘时所产生的衍射效应。

这个现象在很多应用中都具有重要意义,例如光学仪器的设计、天文学以及激光技术等领域。

理解和研究菲涅尔衍射现象对于深入探究光的波动性质以及相干光的传播具有重要意义。

1.2 文章结构本文将从以下几个方面进行讨论:首先介绍菲涅尔衍射理论中与本文相关的基本概念和原理;其次详细阐述使用MATLAB代码实现菲涅尔衍射的方法和步骤;然后,通过对圆孔和矩形孔两种情况下的菲涅尔衍射结果进行分析和讨论;最后给出文章总结,并提出进一步研究方向。

1.3 目的本文旨在通过编写MATLAB代码来模拟实现平行光束通过圆孔和矩形孔时的菲涅尔衍射现象,并利用结果分析和比较两种情况下的衍射效应。

通过这样的研究,可以加深对菲涅尔衍射原理的理解,并为后续相关研究提供参考和借鉴。

同时,通过MATLAB代码实现,读者也可以根据自己的需求进行扩展和修改,从而进一步探索不同形状孔洞的菲涅尔衍射特性。

2. 菲涅尔衍射理论2.1 光的波动特性菲涅尔衍射是一种描述光波传播和衍射现象的理论。

根据光的波动特性,当光通过一个孔径较小的障碍物时,它会弯曲并发生衍射现象。

在菲涅尔衍射中,平行光束通过圆孔或矩形孔后,在进入屏幕上的观察点处产生干涉图样。

2.2 菲涅尔近似理论菲涅尔近似理论是在进一步简化计算过程中使用的近似方法。

它假设观察点距离光源和障碍物足够远,使得远场近似成立。

2.3 圆孔和矩形孔的描述圆孔和矩形孔是两种常见形状的障碍物,用于描述光线传播时发生的菲涅尔衍射效应。

- 圆孔: 圆孔通常由一个具有确定半径大小的圆形开口组成。

当平行光束通过圆孔时,它会扩散并形成一系列同心环状条纹。

- 矩形孔: 矩形孔是由一个具有确定边长的矩形开口组成。

当平行光束通过矩形孔时,它会扩散并在屏幕上生成一系列矩形衍射图样。

matlab 物理光学实验matlab 物理光学实验

matlab 物理光学实验matlab 物理光学实验

1.工程光学系列之一:杨氏双缝干涉matlab1.基本原理杨氏干涉实验是两点光源干涉实验的典型代表。

杨氏干涉实验以极简单的装置和巧妙构思实现了普通光源干涉。

无论从经典光学还是从现代光学的角度来看,杨氏实验都具有十分重要的意义。

杨氏双缝实验的装置如图2-18所示,按照惠更斯-菲涅耳原理,线光源S上的点将作为次波源向前发射次波(球面波),形成交叠的波场。

在较远的地方放置一观察屏,屏上可以观测到一组几乎是平行的直线条纹。

图杨氏干涉实验原理图2.matlab源代码clearlam=500e-9;a=2e-3;D=1;ym=5*lam*D/a;xs=ym;n=101;ys=linspace(-ym,ym,n);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,:)=sum(4*cos(phi/2).^2); endN=255;Br=(B/4.0)*N;subplot(1,2,1)image(xs,ys,Br); colormap(gray(N)); subplot(1,2,2)plot(B,ys)3.实验现象2. 工程光学系列之二:等倾干涉matlab2.1 基本原理等倾干涉是薄膜干涉的一种。

薄膜此时是均匀的,光线以倾角i入射,上下两条反射光线经过透镜作用会汇聚一起,形成干涉。

化学教案权倾一时化学教案内外无不造门者化学教案唯景仁不至试卷试题年三十化学教案方为著作佐郎试卷试题桓玄诛元图等倾干涉薄膜由于入射角相同的光经薄膜两表面反射形成的反射光在相遇点有相同的光程差,也就是说,凡入射角相同的就形成同一条纹,故这些倾斜度不同的光束经薄膜反射所形成的干涉花样是一些明暗相间的同心圆环.这种干涉称为等倾干涉。

倾角i相同时,干涉情况一样(因此叫做“等倾干涉”)2.2 matlab源代码%等倾干涉clear allclose allclc%%k=2000;s=500;D=0.2;bochang=s*10^(-9);theta=0.15;d=k*bochang/4;rMax=D*tan(theta/2);N=501;for i=1:Nx(i)=(i-1)*2*rMax/(N-1)-rMax; for j=1:Ny(j)=(j-1)*2*rMax/(N-1)-rMax; r(i,j)=sqrt(x(i)^2+y(j)^2);delta(i,j)=2*d/sqrt(1+r(i,j)^2/D^2); Phi(i,j)=2*pi*delta(i,j)/bochang; B(i,j)=4*cos(Phi(i,j)/2)^2;endendNCLevels=255;Br=(B/4.0)*NCLevels;figure(1);image(x,y,Br);colormap(gray(NCLevels));2.3 实验现象3. 工程光学系列之三:夫琅禾费矩孔衍射matlab3.1 实验原理衍射的定义:光波在传播过程遇到障碍物时,光束偏离直线传播,强度发生重新分布的现象。

MATLAB编程用两种方法模拟光学实验

MATLAB编程用两种方法模拟光学实验

MATLAB编程用两种方法模拟光学实验03级物理一班李超PB03203017摘要:利用MATLAB软件编程实现了用衍射积分的方法对单缝衍射、杨氏双缝干涉、黑白光栅衍射的计算机模拟;以及用傅立叶变换方法对简单孔径衍射、黑白光栅及正弦光栅夫琅和费衍射的模拟。

关键词:MATLAB;衍射积分;傅立叶变换;计算机模拟引言:美国Mathworks公司推出的MA TLAB,是一种集数值计算、符号预算、可视化建模、仿真和图形处理等多种功能于一体的优秀图形化软件。

本文介绍了通过MA TLAB软件编程实现用衍射积分和傅立叶变换实现夫琅和费衍射计算机模拟的方法。

计算机模拟为衍射实验的验证提供一条简捷、直观的途径。

从而加深了对物理原理、概念和图像的理解。

正文:大学教学课程中引入计算机模拟技术正日益受到重视,与Basic、C和Fortran相比,用MA TLAB软件做光学试验的模拟,只需要用数学方式表达和描述,省去了大量繁琐的编程过程。

下面来介绍利用MATLAB进行光学模拟的两种方法。

(一)衍射积分方法:该方法首先是由衍射积分算出接收屏上的光强分布,然后根据该分布调制色彩作图,从而得到衍射图案。

1.单缝衍射。

把单缝看作是np个分立的相干光源,屏幕上任意一点复振幅为np个光源照射结果的合成,对每个光源,光程差Δ=ypsinΦ,sinΦ=ys/D,光强I=I0(Σcosα)2+(Σsinα)2,其中α=2Δ/λ=πypys/λD编写程序如下,得到图1lam=500e-9;a=1e-3;D=1;ym=3*lam*D/a;ny=51;ys=linspace(-ym,ym,ny);np=51;yp=linspace(0,a,np);for i=1:nysinphi=ys(i)/D;alpha=2*pi*yp*sinphi/lam;图1 单缝衍射的光强分布 sumcos=sum(cos(alpha));sumsin=sum(sin(alpha));B(i,:)=(sumcos^2+sumsin^2)/np^2;endN=255;Br=(B/max(B))*N;subplot(1,2,1) image(ym,ys,Br); colormap(gray(N)); subplot(1,2,2) plot(B,ys); 2. 杨氏双缝干涉两相干光源到接收屏上P 点距离r 1=(D 2+(y-a/2)2)1/2, r 2=(D 2+(y+a/2)2)1/2,相位差Φ=2π(r 2-r 1)/λ,光强I=4I 0cos 2(Φ/2) 编写程序如下,得到图2 clear lam=500e-9 a=2e-3;D=1;ym=5*lam*D/a;xs=ym;n=101;ys=linspace(-ym,ym,n); 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,:)=sum(4*cos(phi/2).^2); end N=255;Br=(B/4.0)*Nsubplot(1,2,1) image(xs,ys,Br); colormap(gray(N)); subplot(1,2,2) plot(B,ys) 3. 光栅衍射公式:I=I 0(sin α/α)2(sin(λβ)/sin β)2α=(πa/λ)sin Φ β=(πd/λ)sin Φ编写程序如下:得到图3clearlam=500e-9;N=2; a=2e-4;D=5;d=5*a; ym=2*lam*D/a;xs=ym; n=1001;ys=linspace(-ym,ym,n); 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);图2 杨氏双缝干涉的光强分布 图3 黑白光栅衍射光强分布end NC=255;Br=(B/max(B))*NC; subplot(1,2,1) image(xs,ys,Br); colormap(gray(NC)); subplot(1,2,2) plot(B1,ys);(二)傅立叶变换方法:在傅立叶变换光学中我们知道夫琅和费衍射场的强度分布就等于屏函数的功率谱。

基于MATLAB的圆孔衍射实验模拟

基于MATLAB的圆孔衍射实验模拟

基于MATLAB的圆孔衍射实验模拟
成海英;陈冬冬;张亚
【期刊名称】《盐城工学院学报(自然科学版)》
【年(卷),期】2011(024)002
【摘要】根据物理光学中光的圆孔衍射理论,利用MATLAB工具编写程序进行实验模拟,绘出圆孔衍射的衍射图样以及三维的光强分布,直观的展现了圆孔衍射的物理现象,并考虑到实际衍射的情况,对非单色光进行了讨论.
【总页数】3页(P11-13)
【作者】成海英;陈冬冬;张亚
【作者单位】盐城工学院基础部,江苏盐城224051;盐城工学院机械工程学院,江苏盐城224051;盐城工学院机械工程学院,江苏盐城224051
【正文语种】中文
【中图分类】O436
【相关文献】
1.基于MATLAB衍射的矩形孔实验模拟 [J], 张亚;陈冬冬;成海英
2.基于MATLAB的光的单缝衍射实验模拟研究 [J], 夏漫;陈佳;徐扬子;丁益民
3.利用MATLAB GUI模拟圆孔衍射 [J], 常刘安;李芳菊;刘占利;周薇
4.基于MATLAB对菲涅耳圆孔衍射的模拟 [J], 陈丽娜;陆霁;朱伟玲
5.圆孔和矩形孔夫琅禾费衍射的MATLAB仿真对比研究 [J], 何皓轩;史仟芝;杨莎;刘家兴
因版权原因,仅展示原文概要,查看原文内容请购买。

基于MATLAB的衍射场模拟计算

基于MATLAB的衍射场模拟计算

收稿日期:2003-09-09.基金项目:云南省教育厅基金资助项目(项目编号:03Y 225A ).第一作者简介:钱晓凡(1963~),男,副教授.主要研究方向:拉曼光谱和光信息处理.E -mail :qianciaofan1@hatmail.com基于MAT LAB 的衍射场模拟计算钱晓凡,胡涛,张晔(昆明理工大学理学院,云南昆明 650093)摘要:光的衍射现象研究,不仅具有重要的理论意义,而且在光学仪器研制和成象分析等均有重要价值.针对衍射计算困难的问题,选择合适的计算公式,并基于科学计算软件MAT LAB5.3编写计算程序,使计算得变得简洁,大大提高了实验的效率.用MAT LAB 编程得出的计算结果与用数码相机记录的衍射图样进行比较,两者吻合得很好.关键词:衍射计算;MAT LAB ;菲涅尔衍射;傅立叶变换;卷积中图分类号:O436.1文献标识码:A 文章编号:1007-855X (2004)03-0132-03On Simulated Calculation of Diffraction B ased on MATLABQIAN X ian 2fan ,HU Tao ,ZHAN G Ye(Faculty of Science ,K unming University of Science and Technology ,K unming 650093,China )Abstract :The calculation of diffraction was too complicated to be done until computer was invented.By choos 2ing proper formula and software ,not only can the result of calculation of diffraction be given ,but also figures can be worked out easily.It greatly improves the efficiency of experiments.At the same time ,since digital camera is more and more popularized ,it provides a new method for recording diffraction pattern.It turns out to be that the results gotten by using software MAT LAB 5.3are identical with photographs taken by digital camera.K ey words :calculation of diffraction ;MAT LAB ;Fresnel diffraction ;Fourier transform ;convolution0引言光的衍射是一重要的光学现象.对光的衍射现象的研究,不仅具有重要的理论意义,而且在光学仪器研制和成像分析等诸多实际应用方面均有重要价值.对光的衍射的研究,始于17世纪,但至19世纪才建立了一些定量分析理论及一些数学公式,由于这些数学公式的复杂性,使得实际的计算工作变得很繁杂.文章用MAT LAB5.3编写有关计算程序,使计算变得简洁,提高了实际应用的效率.因为计算是建立在基尔霍夫对衍射的解析分析理论上的,先简单介绍该理论.如图1,设Σ为衍射孔,d s 为Σ面的一个面积元,P 为前方一点,引起的振动振幅与面积元d s 成正比.根据惠更斯-菲涅尔原理,P 点的振动等于Σ面的所有面积元所引起的振动的叠加,所以P 点的合振动等于整个Σ面的积分: U (p )=κ6U 0(x ,y 1)k (φ)r cos (ωt -2πr λ)d s (1)式中,U 0(x 1,y 1)是Σ面上的光场分布,k (φ)为φ的一个函数,称为倾斜因子,ω为光波的圆频率,λ为波长.在菲涅尔的理论中倾斜因子k (φ)没有严格定义.1880年基尔霍夫从麦克斯韦理论出发,经过严格的数学处理建立了一个公式———基尔霍夫公式:第29卷第3期2004年6月 昆明理工大学学报(理工版)Journal of K unming University of Science and Technology (Science and Technology )Vol.29 No 13 J un.2004 U (p )=A 2j λκ6U 0(x ,y 1)exp [jkr ]r [cos (n ,r )-cos (n ,l )]d s (2)其中(n ,r )和(n ,l )分别是孔径面的法线与l 和r 的夹角.在大多数衍射问题中,倾斜因子[cos (n ,r )-cos (n ,l )]2可看作常量.1菲涅尔近似和夫朗和费近似为了计算(2)式的积分,需要用坐标变换表示r 和d s.如图3,如果采用直角坐标系,可以将r 展开: r =z 1+(x -x 1)2+(y -y 1)22z 1+[(x -x 1)2+(y -y 1)2]28z 31+ (3)当z 1大到使z 31µ14λ[(x -x 1)2+(y -y 1)2]2成立时,为菲涅尔衍射,(2)式变为: U (p )=exp [jkz 1]jz 1λκ6U 0(x ,y 1)exp {jk 2z 1[(x -x 1)2+(y -y 1)2]}d x 1d y 1(4)或:U (p )=exp [jkz 1]jz 1λexp [jk 2z 1(x 2+y 2)]κ6U 0(x ,y 1)exp [jk 2z 1(x 21+y 21)]exp [-j 2π(x 1x λz 1+y 1y λz 1)d x 1d y 1(5)当继续增大z 1,使:πµk (x 21+y 21)2z 1成立时,为夫朗和费衍射,(4)式变为:U (p )=exp [jkz 1]jz 1λexp [jk 2z 1(x 2+y 2)]κ6U 0(x ,y 1)exp [-j 2π(x 1x λz 1+y 1y λz 1)]d x 1d y 1(6)2衍射计算公式2.1傅立叶变换与卷积2.1.1傅立叶变换非周期函数f (x ,y )在整个无限x ,y 平面上满足狄里赫利条件,且κ+∞-∞|f (x ,y )|d x d y 存在,则二元函数f (x ,y )的傅立叶变换定义为 F (ε,η)=κ+∞-∞f (x ,y )exp {-j 2π(εx +ηy )}d x d y (7)2.1.2卷积函数h (x ,y )和函数f (x ,y )为二维函数,它们的卷积定义为:331第3期 钱晓凡,胡涛,张晔:基于MAT LAB 的衍射场模拟计算 g (x ,y )=κ+∞-∞f (α,β)·h (x -α,y -β)d αd β=f (f x ,y )3h (x ,y )(8)2.2衍射计算公式将(4),(5)和(6)式与(7)和(8)式比较,显见菲涅尔衍射可以用函数exp [jkz 1]jz 1λU 0(x 1,y 1)与函数exp [jk 2z 1(x 2+y 2)]的卷积来计算: U (p )=exp [jkz 1]jz 1λU 0(x 1,y 1)3exp [jk 2z 1(x 2+y 2)](9)菲涅尔衍射也可以用函数U 0(x 1,y 1)exp [jk 2z 1(x 21+y 21)]的傅立叶变换,再乘以函数exp [jkz 1]jz 1λexp [jk 2z 1(x 2+y 2)]来计算.而夫朗和费衍射则可以直接用函数U 0(x 1,y 1)的傅立叶变换,再乘以函数exp [jkz 1]jz 1λexp [jk 2z 1(x 2+y 2)]来计算.实际计算时,我们使用的就是上述三种计算方法.3用MAT LAB 进行计算机模拟计算的实验结果我们使用的软件是MAT LAB5.3,它是一个功能十分强大的应用软件,可以在很多学科中得到应用.与其它计算机语言相比它更加灵活,更加接近科技人员的思维方式,因而编程效率更高.我们用MAT LAB5.3编写程序分别计算了矩形孔、圆孔和三角形孔的菲涅尔和夫朗和费衍射,并与用数码相机记录的结果进行了比较,两者非常吻合.要特别指出的是,由于MAT LAB5.3已经内设了计算二维傅立叶变换的函数“fft2”和计算二维卷积的函数“conv ”,所以整个计算程序不到20行,非常容易编写和修改,而且每次运算时间不到10s.我们的实验器材有:He -Ne 激光器,光具座,凸透镜(焦距为77.1mm ),衍射屏,观察屏和数码相机.图4和图5分别是观察和记录菲涅尔衍射和夫朗和费衍射的光路图.我们计算了各种形状和尺寸的衍射孔在不同衍射距离上的菲涅尔衍射,下面给出一组典型结果:(下转第151页)431昆明理工大学学报(理工版) 第29卷大,手性的不同对膦铑络合物的少部分键长、键角数据有所影响;(3)在与(MAC )形成络合物前后,双膦配体上主要原子的电荷分布变化并不显著,但金属铑原子上的电荷则显著增加,可能是MAC 在与膦铑配体络合过程中有电荷向铑原子上进行了转移.参考文献:[1]林国强,陈耀全,陈新滋,李月明.手性合成-不对称反应及其应用[M ].北京:科学出版社,2000.250~253.[2]Steven Feldgus ,Clark rge -Scale C omputational M odeling of [Rh (DuPHOS )]+-Catalyzed Hydrogenation ofProchiarl Enamides :Reaction Pathways and the Origin of Enantioselection [J ].J.Am.Chem.S oc.,2000,122(51):12714~12727.[3]Achim K less ,Armin Borner ,Detlef Heller ,Rudiger Selke.Ab Initio Studies of Rhodium (I )-N -Alkenylamide Releyancefor the Mechanism of Catalytic Asymmetric Hydrogenation of Prochiral Dehydroamino Acids [J ].Organometallics.,1997,16(10):2096~2100.[4]Portmann S ,Luthi H P.M olekel :An Interractive M olecular G raphics T ool [J ].CHIMIA ,2000,(54):766~770.(上接第134页)以上图形是在衍射孔尺寸为1.5mm ,衍射距离为50mm 时的菲涅尔衍射结果,可以看出,计算的结果与数码相机记录结果很吻合,说明基于MAT LAB 模拟计算衍射场是可行的,这些结果我们已经用于教育厅基金项目研究中.MAT LAB 允许用不同格式输出图形,图7是用网格图的形式输出的矩形孔衍射图案,可以方便地观察衍射图案的细节.另外,夫朗和费衍射的计算结果吻合得也很好,这里不再给出.衍射是一个古老的问题,但直到19世纪科学家才把他弄清楚,而衍射的计算又很复杂,这使得很多问题很难解决,如今有了计算机和高级科学计算软件,使我们可以很方便地计算许多问题,这也使得光的传播问题可以用模拟的方式来解决.参考文献:[1]赵达尊,张怀玉.波动光学[M ].北京:北京理工大学出版社,1999.102~113.[2]苏显渝,李继陶.信息光学[M ].北京:科学出版社,2000.34~45.[3]G rant R.Fowles.Introduction to M odern Optics[M ].New Y ork :Dover Publications ,Inc.,1989.106~111.[4]王炳武,等.MAT LAB5.3实用教程[M ].北京:中国水利水电出版,2000.227~230.151第3期 陈秀敏,李西平,刘有德:几种膦铑络合物及其MAC 络合物的量子化学计算。

圆孔矩孔的菲涅尔衍射模拟(matlab实现)~工程光学

圆孔矩孔的菲涅尔衍射模拟(matlab实现)~工程光学

工程光学综合练习-----圆孔、矩孔的菲涅尔衍射模拟圆孔和矩孔的菲涅尔衍射模拟一、原理由惠更斯-菲涅尔原理可知接收屏上的P点的复振幅可以表示为其中为衍射屏上的复振幅分布, 为倾斜因子。

根据基尔霍夫对此公式的完善,有设衍射屏上点的坐标为(x1,y1),接收屏上点的坐标为(x,y),衍射屏与接收屏间距离为z1,当满足菲涅尔近似条件时,即此时可得到菲涅尔衍射的计算公式把上式指数项中的二次项展开,并改写成傅里叶变换的形式,可以写成上式为菲涅尔衍射的傅里叶变换表达式,它表明除了积分号前面的一个与x1、y1无关的振幅和相位因子外,菲涅尔衍射的复振幅分布是孔径平面的复振幅分布和一个二次相位因子乘积的傅里叶变换。

相对于夫琅和费衍射而言,菲涅尔衍射的观察屏距衍射屏不太远。

在菲涅尔衍射中,输入变量和输出变量分别为衍射孔径平面的光场分布和观察平面的光场以及光强分布,考虑到这三个量都是二维分布,而且Matlab主要应用于矩阵数值运算,所以本程序选择用二维矩阵来存储衍射孔径平面和观察平面的场分布,并分别以矩阵的列数和行数来对应平面的直角坐标值(x,y)以及(x1,y1)。

二、圆孔菲涅尔衍射用MATLAB分别构造表示衍射屏和接收屏的二维矩阵。

注意使两矩阵阶次相同,考虑到运算量的要求,采样点数不能过多,所以每个屏的x和y方向各取200到300点进行运算。

根据式(4),选取合适的衍射屏和接收屏尺寸和相距的距离,模拟结果如下:取典型的He-Ne激光器波长=632.8nm,固定衍射屏和接收屏尺寸和相距的距离,分别取不同的圆孔半径,得到以下三组衍射图样,其圆孔半径分别为12mm,20mm,50mm图1(r=12mm)图2(r=20mm)图3(r=50mm)三、矩孔的菲涅尔衍射步骤与上述相同,仅需改变与衍射屏形状对应的矩阵。

这里选择矩孔的长宽相等,分别为15mm,20mm,30mm,其衍射图样及强度分布如图4、5、6图4(a=b=15mm)图5(a=b=20mm)图6(a=b=30mm)四、MATLAB程序%所有长度单位为毫米lamda=632.8e-6;[m,n]=meshgrid(linspace(-N/2,N/2-1,N));I=rect(m/(2*a)).*rect(n/(2*b));q=exp(j*k*(m.^2+n.^2)/2/z);subplot(2,2,1);%圆孔图像画在2行2列的第一个位置imagesc(I)%画衍射屏的形状colormap([0 0 0; 1 1 1])%颜色以黑白区分axis imagetitle('衍射屏形状')L=300;M=300;%取相同点数用于矩阵运算[x,y]=meshgrid(linspace(-L/2,L/2,M));h=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))。

圆孔矩孔的菲涅尔衍射模拟(matlab实现)-工程光学

圆孔矩孔的菲涅尔衍射模拟(matlab实现)-工程光学

圆孔矩孔的菲涅尔衍射模拟(m a t l a b实现)-工程光学-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII工程光学综合练习-----圆孔、矩孔的菲涅尔衍射模拟圆孔和矩孔的菲涅尔衍射模拟一、原理由惠更斯-菲涅尔原理可知接收屏上的P点的复振幅可以表示为其中为衍射屏上的复振幅分布,为倾斜因子。

根据基尔霍夫对此公式的完善,有设衍射屏上点的坐标为(x1, y1),接收屏上点的坐标为(x, y),衍射屏与接收屏间距离为z1,当满足菲涅尔近似条件时,即此时可得到菲涅尔衍射的计算公式把上式指数项中的二次项展开,并改写成傅里叶变换的形式,可以写成上式为菲涅尔衍射的傅里叶变换表达式,它表明除了积分号前面的一个与x1、y1无关的振幅和相位因子外,菲涅尔衍射的复振幅分布是孔径平面的复振幅分布和一个二次相位因子乘积的傅里叶变换。

相对于夫琅和费衍射而言,菲涅尔衍射的观察屏距衍射屏不太远。

在菲涅尔衍射中,输入变量和输出变量分别为衍射孔径平面的光场分布和观察平面的光场以及光强分布,考虑到这三个量都是二维分布,而且Matlab主要应用于矩阵数值运算,所以本程序选择用二维矩阵来存储衍射孔径平面和观察平面的场分布,并分别以矩阵的列数和行数来对应平面的直角坐标值(x, y)以及(x1, y1)。

二、圆孔菲涅尔衍射用MATLAB分别构造表示衍射屏和接收屏的二维矩阵。

注意使两矩阵阶次相同,考虑到运算量的要求,采样点数不能过多,所以每个屏的x和y方向各取200到300点进行运算。

根据式(4),选取合适的衍射屏和接收屏尺寸和相距的距离,模拟结果如下:取典型的He-Ne激光器波长λ=,固定衍射屏和接收屏尺寸和相距的距离,分别取不同的圆孔半径,得到以下三组衍射图样,其圆孔半径分别为12mm,20mm,50mm图 1(r=12mm)图 2(r=20mm)图 3(r=50mm)三、矩孔的菲涅尔衍射步骤与上述相同,仅需改变与衍射屏形状对应的矩阵。

Matlab仿真技术在大学物理光学实验教学中的应用

Matlab仿真技术在大学物理光学实验教学中的应用

79
总第238期
分约20%,其余80%尽管是多数,却是次要的,因此称二八定律。以 这条定律分析,我公司在每年年底都会对第二年的计划目标确定轻 重缓急,使公司保证能超额完成上级交给我们的计划目标任务。
4.自我控制 目标 管 理 是以行为 科 学中的 激 励 理 论 为基 础 产生的,它认 为 在目标明确的情况下,人们能够对自己负责,愿意承担责任,愿意做 出贡献,愿意有所成就,所以能够实现自我管理。也就是说,目标 管理能够从实现企业总目标出发,去协调企业各个组成部分乃至每 个人的活动。目标管理是一种参与性、民主性、自我控制性比较强 的管理制度,它把个人的需求和组织目标结合起来,用自我控制的 管理来代替由别人统治的管理。电缆工程公司以目标管理为核心, 在认真筹备、精心组织的基础上,对机构设置、岗位优化工作有计 划地稳步推进,目前公司新的组织结构和人员配置已全面完成,原 电缆管道公司全体及兴润公司的部分人员并入电缆工程公司,取消 了原科室分公司三级管理模式,成立了八个新部室,包括党群工作 部、办公室、人力资源部、工程管理部、市场部、安质部、物资部、 财务部,实行部室制二级管理模式。在此基础上,落实了各岗位人 员配置。 5.流程管理 其 基 本思想 是以企 业的 作业流 程 为核心,重 新 设 计企 业内部 的组织结构、运作方式和行为准则。对企业流程进行最根本的重新 思考和最彻底的重新设计,以达到诸如成本、品质、服务和速度等 绩效的协同进步,而不再遵从分工论原则。企业内的一切流程都应 以企业目标为根本依据,对外:面向客户,提高业务流程的效率;对 内:面向企业目标,提高管理流程的效率,平衡企业各方资源(各项 业务线平衡),控制总体效率的平衡,实现企业总体绩效。基于电 力电缆工程有限公司具有工序清晰、重复性强、流水作业的生产特 点,流程管理对于电力电缆工程有限公司尤为实用、有效。因此应 该寻找一种符合目前从业人员素质现状的管理模式,来配合目标管 理的实施。首先,企业的产品或服务要通过流程来实现,在精细管 理中,只有每位员工和每个部门都尽职尽责,企业才会有较好的经 济效益。因此,企业必须将着眼点放在流程管理上。流程是连接企 业生产和客户需求的纽带,流程的输出来自于客户的需求和企业的 目标,人、资金和材料等方面的输入通过某些步骤转化为输出。低 成本输入,高质量输出,需要通过一系列的流程来实现,如果没有 流程,材料永远无法成为产品。其次,流程的好坏直接影响着产品 或服务的质量,产品或服务需要通过一系列的流程来实现,企业产 品和服务的优劣差异体现在顾客的满意程度上。成功的企业,其赢 得顾客好评的原因往往就是对细节问题的重视。细节问题一点也不 能马虎,特别是电力企业,其产品的合格率或服务的满意度必须要 达到双百分之一百。流程管理便是这样一种很好的模式,它能够在 目标管理的过程中进行系统回馈修正以及风险评估,及时对出现的 问题进行反应和纠正,尽量减少因人为因素造成的过程偏差。 6.坚持建立良好的运行监督机制 首先,坚持定期研究制度。诸如每周的安全生产会、每旬的领

基于Matlab GUI光的衍射实验仿真

基于Matlab GUI光的衍射实验仿真

1 2 2
λ ( f x + f 2y )

(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



+ ( y - y0 ) 2 ]
操作便捷、设计灵活等特点ꎬ从而达到较好的实验演示教学目的ꎮ


词: Matlab GUIꎻ光的衍射ꎻ仿真实验Biblioteka 中图分类号: O 4 ̄39
文献标志码: A
菲涅尔衍射是大学物理重点学习内容ꎬ但光
的衍射实验现象对实验设备及环境要求苛刻ꎬ通
常不能达到较好的实验结果ꎮ 近年来ꎬ不断有人
在光的衍射仿真方面上做了多种尝试ꎬ吕波、徐志
要: 利用 Matlab 仿真软件的 GUI 图形用户界面可视化工具和 FFT 傅里叶变换工具ꎬ对圆孔、方

形孔、多边形孔、圆盘四种不同的孔形进行菲涅尔光的衍射实验仿真ꎮ 通过用户界面对光学参数进行数
据交互ꎬ能形象直观地得到四种不同孔径光的衍射图纹、光强三维分布、光强二维分布图像ꎮ 应用于物
理课堂教学中能将抽象难于实现的衍射实验现象直观呈现ꎬ同时ꎬ有助于学生对衍射原理的理解ꎬ具有
内容为圆孔、方形、多边形、圆盘ꎬ则系统在 popup ̄
menu_CreateFcn 函数中自动生成如下代码:
set( hObjectꎬ‘ String’ ꎬ{ ‘ 圆孔’ ꎬ‘ 方形’ ꎬ‘ 多
边形’ ‘ 圆盘’ ꎬ''} ) ꎻ在可编辑文本框中设置光学

菲涅耳衍射数字模拟仿真与实验

菲涅耳衍射数字模拟仿真与实验

λz
L
时,传递函数算法(TF)准确;当抽样间
λz
L
时,脉冲响应函数算法(IR)准确。根据以上判据条件,选择
合适的算法,模拟光场分布大小为 5cm*5cm,波长为 0.532um,矩形孔半 宽度 1cm 的情况下,在衍射距离 z=200mm,和 z=200m 时的菲涅耳光场分 布,将所得结果保存在电脑中。 (4) 自己设计十字型窄缝物体(参考以前的实验一内容) ,如下图,物体大小 3cm*3cm,十字形窄缝的宽度为 1mm,长度为 1cm。
实验过程中要切记以上注意事项。如 有违犯,将严重影响你的实验成绩!
1 鲁东大学物理与光电工程学院
2015 年光电信息科学与工程专业综合实验-信息光学专题实验
菲涅耳衍射数字模拟仿真与实验
一、实验目的:
1. 2. 3. 掌握菲涅耳衍射的基本原理及其 Matlab 编程语言; 利用 Matlab 数值模拟几种典型物体的菲涅耳衍射光场分布; 利用现有激光实验系统自己动手搭建衍射光路,观察几种物体的菲涅耳衍射 场的空间分布,加深对光的衍射现象和理论的理解。
二、实验原理
两种类型衍射现象:菲涅尔衍射(近场衍射)和夫琅和费衍射(远场衍射) (根据不同的衍射区域分的) 。不同的区域,衍射图样具有不同的性质,在数学 上的近似程度也不同。光源和接受屏或二者之一距离衍射屏为有限远时,所观察 到的衍射为菲涅尔衍射。在实验中我们使用能发射平行光的激光器+小孔扩束镜 来模拟。
6 鲁东大学物理与光电工程学院
2015 年光电信息科学与工程专业综合实验-信息光学专题实验
k=2*pi/lamda; %波数 w=0.005; %物体的半宽度 z=50000e-3;%衍射距离 %%%%----------矩形物体--------------[X1,Y1]=meshgrid(x1,y1); u1=rect(X1/(2*w)).*rect(Y1/(2*w)); %矩形物体光场分布 I1=abs(u1.^2); figure(1) imagesc(x1,y1,I1); axis square; axis xy; colormap('gray'); xlabel('x(m)'); ylabel('y(m)'); title('z= 0 m'); %%%-----------------衍射场的分布计算-----------% u2=profTF(u1,L1,lamda,z);% dx >= lamda*z/L 时准确 u2=profIR(u1,L1,lamda,z);% dx <= lamda*z/L 时准确 x2=x1; y2=y1; I2=abs(u2.^2); figure(2) imagesc(x2,y2,I2); axis square; axis xy; colormap('gray'); xlabel('x(m)'); ylabel('y(m)'); text_buffer = strcat( '传播距离为 z= ',num2str(z),'m'); title(text_buffer);

利用MATLAB GUI模拟圆孔衍射

利用MATLAB GUI模拟圆孔衍射

利用MATLAB GUI模拟圆孔衍射
常刘安;李芳菊;刘占利;周薇
【期刊名称】《卷宗》
【年(卷),期】2012(0)2
【摘要】在惠更斯-菲涅尔原理的基础上,建立了衍射仿真实验的数学模型,分析了圆孔的夫琅禾费衍射图样及其强度分布,并实现了对圆孔衍射的仿真.
【总页数】2页(P103,102)
【作者】常刘安;李芳菊;刘占利;周薇
【作者单位】渭南师范学院物理与电气工程学院陕西渭南 714000;渭南师范学院物理与电气工程学院陕西渭南 714000;渭南师范学院物理与电气工程学院陕西渭南 714000;渭南师范学院物理与电气工程学院陕西渭南 714000
【正文语种】中文
【相关文献】
1.基于MATLAB的圆孔衍射实验模拟 [J], 成海英;陈冬冬;张亚
2.利用Matlab GUI模拟圆孔衍射 [J], 李芳菊;王菊霞
3.用Matlab GUI模拟圆环和矩形环夫琅禾费衍射 [J], 李继军;徐大海;田永红
4.利用Matlab GUI实现光学信息处理教学实验的动态模拟 [J], 林丹樱
5.基于MATLAB对菲涅耳圆孔衍射的模拟 [J], 陈丽娜;陆霁;朱伟玲
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

工程光学综合练习-----圆孔、矩孔的菲涅尔衍射模拟
圆孔和矩孔的菲涅尔衍射模拟
一、原理
由惠更斯-菲涅尔原理可知接收屏上的P点的复振幅可以表示为
其中为衍射屏上的复振幅分布,为倾斜因子。

根据基尔霍夫对此公式的完善,有
设衍射屏上点的坐标为(x1, y1),接收屏上点的坐标为(x, y),衍射屏与接收屏间距离为z1,当满足菲涅尔近似条件时,即
此时可得到菲涅尔衍射的计算公式
把上式指数项中的二次项展开,并改写成傅里叶变换的形式,可以写成
上式为菲涅尔衍射的傅里叶变换表达式,它表明除了积分号前面的一个与x1、y1无关的振幅和相位因子外,菲涅尔衍射的复振幅分布是孔径平面的复振幅分布和一个二次相位因子乘积的傅里叶变换。

相对于夫琅和费衍射而言,菲涅尔衍射的观察屏距衍射屏不太远。

在菲涅尔衍射中,输入变量和输出变量分别为衍射孔径平面的光场分布和观察平面的光场以及光强分布,考虑到这三个量都是二维分布,而且Matlab主要应用于矩阵数值运算,所以本程序选择用二维矩阵来存储衍射孔径平面和观察平面的场分布,并分别以矩阵的列数和行数来对应平面的直角坐标值(x, y)以及(x1, y1)。

二、圆孔菲涅尔衍射
用MATLAB分别构造表示衍射屏和接收屏的二维矩阵。

注意使两矩阵阶次相同,考虑到运算量的要求,采样点数不能过多,所以每个屏的x和y方向各取200到300点进行运算。

根据式(4),选取合适的衍射屏和接收屏尺寸和相距的距离,模拟结果如下:
取典型的He-Ne激光器波长λ=632.8nm,固定衍射屏和接收屏尺寸和相距的距离,分别取不同的圆孔半径,得到以下三组衍射图样,其圆孔半径分别为12mm,20mm,50mm
图1(r=12mm)
图2(r=20mm)
图3(r=50mm) 三、矩孔的菲涅尔衍射
步骤与上述相同,仅需改变与衍射屏形状对应的矩阵。

这里选择矩孔的长宽相等,分别为15mm,20mm,30mm,其衍射图样及强度分布如图4、5、6
图4(a=b=15mm)
图5(a=b=20mm)
图 6(a=b=30mm)
四、MATLAB 程序
%所有长度单位为毫米
lamda=632.8e-6; k=2*pi/lamda;
z=1000000;
%先确定衍射屏
N=300; %圆屏采样点数
a=15;
b=15;
[m,n]=meshgrid(linspace(-N/2,N/2-1,N));
I=rect(m/(2*a)).*rect(n/(2*b));
q=exp(j*k*(m.^2+n.^2)/2/z);
subplot(2,2,1); %圆孔图像画在2行2列的第一个位置 imagesc(I) %画衍射屏的形状
colormap([0 0 0; 1 1 1]) %颜色以黑白区分
axis image
title('衍射屏形状')
L=300;
M=300; %取相同点数用于矩阵运算
若为圆孔,方框内替换为以下程序 r=12;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; %孔半径范围内透射系数为1
[x,y]=meshgrid(linspace(-L/2,L/2,M));
h=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))。

相关文档
最新文档