基于matlab的衍射系统仿真 -
基于MATLAB的夫琅和费衍射实验的计算机仿真
![基于MATLAB的夫琅和费衍射实验的计算机仿真](https://img.taocdn.com/s3/m/716b332d4b35eefdc8d333c7.png)
式 中 J x是 一 阶 贝塞 尔 函 数 , 拟 时 令 f l h 6 0m, ,) ( 模 = m,= 0 n
a 0O 1 利用 MAT A = .0 m, L B编程 , 程序运行完毕后 , 依次得到 以 下图形 7 。圆孔衍射和矩孔衍射的三维 图形基本相 同, 二维 图
平 面 上 会 聚 点 Q(,) xy 的和 振 动 的 相 对 强 度 为 : I I u) Sl ) ( Q) ds (lP m r
u
v
() 1
于学生的理解 。同时通过 多种元 件的夫琅和费衍射 计算机仿
真, 能够动态直观地呈现光学衍射 中各种物 理量之间 的关 系,
有利于大学物理实验中光学部分教学的开展 。因此 , 我们应 当 充分利用计算机软件功 能为教学增添活力 ,为 学生理解复杂
Z agZ i n S uig J n e gh n YagK n L ne g Yag njn h n hf g uY l i g n cu n u iu f n gu e n a F J n Ho
(】潘 柏 根 , 施群 , 志 建 . 于 V +的 夫 琅 和 费 衍 射 仿 真 [] 5 金 刘 基 c+ J.
仪 器 仪表 用 户 ,0 O4: 66 . 2 l()6 —9
[]夏 静 , 6 陆训 毅 , 德 君 . 杨 圆孔 、 方 孔 和 双 矩 孔 夫琅 和 赞 衍 射 的
I tr ̄inN nfr n e n nen o Co ee c o M e s rn Te h lg a d M e h to is a ui g c noo y n c ar nc
Au o a i n Co f r n e o I EE: 0 — 0 . t m to , n e e c f E 9 2 9 5
光学衍射图样的MATLAB仿真
![光学衍射图样的MATLAB仿真](https://img.taocdn.com/s3/m/9f0041ba4793daef5ef7ba0d4a7302768e996fa2.png)
1、建立几何模型:在Matlab中建立一个单缝衍射模型,包括一个光源、一 个单缝和一个观察点。
2、设置光源和观察条件:设置光源的波长为600纳米,强度为1瓦,方向为 垂直于缝的方向;观察点位于缝的右侧1米处,观察角度为45度。
3、进行仿真计算:利用Matlab中的相关函数进行仿真计算,得到观察点处 光的强度分布。
光学衍射图样的MATLAB仿真
目录
01 摘要
03 二、衍射的基本原理
02 一、引言 04 三、MATLAB在光学仿
真中的应用
目录
05 四、光学衍射图样的 MATLAB仿真
07 六、结论与展望
06 五、具体例子 08 参考内容
摘要
本次演示介绍了使用MATLAB进行光学衍射图样仿真的方法。首先介绍了衍射 的基本原理和MATLAB在光学仿真中的应用,然后详细阐述了如何使用MATLAB进行 衍射图样的仿真。通过具体的例子,展示了如何使用MATLAB模拟不同条件下的衍 射现象,并解释了仿真结果。最后,总结了本次演示的主要内容和贡献,并指出 了未来可能的研究方向。
参考内容
引言
光学衍射在许多领域中都具有重要应用,例如光学仪器设计、光谱分析、光 信息处理等。对光学衍射进行仿真可以帮助人们更好地理解光学系统的性能,预 测光的传播行为,优化光学设计。本次演示将介绍如何使用Matlab进行光学衍射 仿真。
准备工作
在进行光学衍射仿真之前,需要做好以下准备工作: 1、安装Matlab:首先需要安装Matlab软件,版本要求至少为R2018a或更高。
其中E(x,y)是电场强度,λ是光的波长,c是光速。通过求解这个方程,可 以得到衍射图样的电场分布。
三、MATLAB在光学仿真中的应 用
基于matlab的衍射系统仿真 -
![基于matlab的衍射系统仿真 -](https://img.taocdn.com/s3/m/42929a6801f69e31433294aa.png)
成绩:《工程光学》综合性练习二题目:基于matlab的衍射系统仿真学院精密仪器与光电子工程学院专业测控技术与仪器年级20**级班级**班姓名20**年**月综合练习大作业二一、要求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模拟](https://img.taocdn.com/s3/m/c645fac849649b6648d747dd.png)
实验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作业(衍射实验)](https://img.taocdn.com/s3/m/40851eeb551810a6f5248689.png)
基于MATLAB 模拟演示衍射实验阚亮亮 李宗景 吴小龙 尹岩 将matlab 应用与以前学习过的课程是学习该课程的最重要的意义,通过matlab 演示衍射实验效果好,简洁,直观。
下图是单缝衍射是matlab 所得到的图像-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025附上MATLAB 程序:lamda=500e-9; %波长N=1; %缝数 ,可以随意更改变换a=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:nsinphi=ys(i)/D;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;subplot(1,2,1)image(xs,ys,Br);colormap(hot(NC)); %色调处理subplot(1,2,2)plot(B1,ys,'k');衍射现象的模拟结果与讨论在实验时改变N的值可以得到单缝以及多缝衍射的输出结果,并可以得到这样的结论:(1)当入射光波长一定时,单缝宽度a越小,衍射条纹越宽,衍射现象越显著;(2)单缝越宽,衍射越不明显,单缝宽度逐渐增大,衍射条纹越来越窄;(3)当缝宽a>>λ时,各级衍射条纹向中央明纹靠拢,而无法分辨,这时衍射现象消失。
结束语利用MATLAB对抽象物理现象进行计算机仿真时,首先必须对物理过程进行数学抽象,建立适合程序实现的数学模型,其次利用MATLAB软件包中的有关工具编制m文件,最后对物理过程和物理现象进行模拟,从而可以把抽象的物理问题进行简明、直观的动态展现。
基于MATLAB的光栅衍射仿真
![基于MATLAB的光栅衍射仿真](https://img.taocdn.com/s3/m/e15d6e6b83d049649a66583f.png)
基于MATLAB的光学光栅衍射仿真在“光栅衍射计算器”(钆计算器®)是一个基于MATLAB,电磁仿真程序,计算光栅结构,包括biperiodic光栅衍射效率。
该方案的功能包括一样的设施和灵活的光栅造型,结构参数(与任意数量的参数),超过衍射顺序不受选择限制的操纵。
另外,它在泛型编程及应用Matlab开发框架的实施提供了软件的灵活性和互操作性不与独立衍射分析程序可费用本条第1部份提供了钆Calc的概念性概述,归纳描述如何指定光栅结构,和如何进行了电磁计算。
这次报告会要紧以概念为导向,但有几个简单的代码例子提供给读者一个如何用GD- Calc软件接口来工作的感觉。
第2部份提供了一个更深切地介绍了软件界面,利用钨作为一个例子来讲明光子晶体结构光栅结构是如何规定的.本文的要紧核心是光栅结构标准。
电磁计算中的应用实例,载于所附文件,钆。
(在这篇文章,并在GD- 的代码例如都能够运行的免费演示/从Calc的网站教程中的代码。
光子晶体的例子是在演示脚本为基础。
)电磁理论与算法基础详见钆。
第1部份:概念概述MATLAB的开发环境一个在MATLAB环境下工作的优势是了解GD- Calc图的功能联系,而无需依托繁琐的数据转换和导入/导出进程中创建的。
例如,在半导体光刻技术的应用,光刻胶光栅的厚度和折射率的阻碍都可能暴露有关抗击致密,因此很自然地就会指定的厚度和折射率既是暴露用户概念函数。
这是专门有效的结构参数化,例如,曝光能够被概念为一个矢量的数量,在这种情形下,所有曝光依托数量,包括阻碍厚度,折射率,并计算出衍射效率,也一样向量化。
通常情形下,光栅的光学特性不是要紧关切它本身最为一个完整的系统,应该包括作为一个组件光栅光学响应。
MATLAB的通用编程能力,能够轻松地链接到用户的功能概念的光学系统模型的Gd - Calc中,它本身能够成通用的优化程序性能的优化设计中。
钆Calc是简单的MATLAB函数(),可纳入其他MATLAB 函数或脚本,而且需要实例化的参数,能够对用户概念的函数..尽管独立程序缺乏通用性和Matlab开发环境的灵活性,他们能够有简单和易于利用的优势。
基于matlab的光学衍射仿真
![基于matlab的光学衍射仿真](https://img.taocdn.com/s3/m/69cdbf1f650e52ea5518988b.png)
西安工业大学毕业设计(论文)开题报告题目:基于Matlab的光学衍射实验仿真系别光电信息系专业光电信息工程班级XXX姓名王XX学号X070104XX导师XX2010 年11 月27 日课题背景及研究意义衍射是光波的一种重要特征,对光波衍射现象的讨论是以惠更斯- 菲涅尔原理为基础的。
事实证明,在大多数光学问题中,可以采用光场的标量衍射理论来描述和计算。
光场的频率非常高,只能测量在一个比光的周期大得多的时间间隔内的平均值,在计算衍射光波场的光振动和光强分布时则利用菲涅尔- 基尔霍夫衍射积分公式[1,2,3]。
在物理光学的光的衍射教学过程中,光学实验内容比较抽象, 如不借助实验, 学生很难理解理论、实验原理和过程。
通常,学校的教学中,将光学理论教学与实验教学相分离,理论教学中需要实验现象来验证,而光学实验的进行一般要稳定的环境、高精密的仪器, 复杂的实验仪器以及光路的调试, 花费了技术人员相当多的时间,往往很难调试到理想的状态,搭建好的仪器和光路也会受到环境和温度的影响,有时实验结果将偏离理论预测。
为了在物理光学课程教学过程形象生动,需要现代化的教学手段,千方百计地为学生提供观察物理现象的机会,提高学生学习光学课程的兴趣,培养他们的思维水平和创新能力,应该充分利用计算机软件功能为教学增添活力,为学生理解复杂理论和实验做好铺垫,可以用MATLAB软件为平台,对光学实验进行计算机仿真,具有两个方面意义:一方面,利用仿真结果指导实际实验。
前期投资少,且可以减少贵重仪器的损伤等;另一方面,在教学上,将抽象难懂的概念、规律通过实验仿真生动、形象地表现出来,使学生更易于接受,具有明显的教学效果。
还可以鼓励学生自主探索,研究一些更深入的光学问题,这样可以拓宽知识面,提高能力[4,5,6]。
国内外研究情况在用计算机模拟[7]光学实验软件方面,国外的光学衍射模拟试验是在模拟设计和优化光学系统的过程中发展起来的。
在这方面,美国走在最前面,他们最具代表性的是劳伦斯利弗莫尔实验室光传输模拟计算软件Prop92[8,9]及大型总体优化设计软件CHAINOP 和PROPSUITE[10]。
光的干涉和衍射的matlab模拟
![光的干涉和衍射的matlab模拟](https://img.taocdn.com/s3/m/73f531bf8662caaedd3383c4bb4cf7ec4afeb6e6.png)
光的干涉和衍射的matlab模拟单缝夫琅和费衍射是光的衍射现象之一,如图2所示。
当单色光波通过一个狭缝时,光波会向周围扩散,形成一系列同心圆环。
这些圆环的亮度分布是由夫琅和费衍射公式描述的,即。
其中为入射光波长,为狭缝宽度,为衍射角。
夫琅和费衍射公式表明,随着衍射角的增大,圆环的半径会减小,而亮度则会逐渐减弱。
在MATLAB中,可以通过输入实验参数,如光波长和狭缝宽度,来观察圆环的亮度分布和半径随衍射角的变化情况。
同时,还可以探讨不同波长和狭缝宽度对圆环亮度和半径的影响。
4双缝衍射双缝衍射是光的干涉和衍射现象的结合,如图3所示。
当一束单色光波通过两个狭缝时,光波会在屏幕上形成一系列干涉条纹和衍射环。
干涉条纹的亮度分布与___双缝干涉相同,而衍射环的亮度分布则由夫琅和费衍射公式描述。
在MATLAB中,可以通过输入实验参数,如光波长、双缝间距和双缝宽度,来观察干涉条纹和衍射环的亮度分布和条纹间距、环半径随实验参数的变化情况。
同时,还可以探讨不同实验参数对干涉条纹和衍射环的影响。
5衍射光栅衍射光栅是一种利用衍射现象制成的光学元件,如图4所示。
当一束单色光波通过光栅时,光波会被分为多个衍射光束,形成一系列亮度不同的衍射条纹。
衍射条纹的亮度分布与夫琅和费衍射公式描述的圆环类似,但是条纹间距和亮度分布会受到光栅常数的影响。
在MATLAB中,可以通过输入实验参数,如光波长和光栅常数,来观察衍射条纹的亮度分布和条纹间距随实验参数的变化情况。
同时,还可以探讨不同实验参数对衍射条纹的影响。
总之,通过MATLAB模拟光的干涉和衍射现象,可以更加直观地理解和掌握这些重要的光学现象,同时也可以为实验设计和数据分析提供有力的工具和支持。
本文介绍了___双缝干涉、单缝夫琅禾费衍射和衍射光栅光谱的计算机模拟。
当一束单色平行光通过宽度可调的狭缝,射到其后的光屏上时,形成一系列亮暗相间的条纹。
单缝夫琅禾费衍射的光强分布可以通过惠更斯-费涅耳原理计算。
基于Matlab可视化界面的单缝衍射仿真分析
![基于Matlab可视化界面的单缝衍射仿真分析](https://img.taocdn.com/s3/m/4f5dbd6758fafab069dc0249.png)
[ 6]G l a e S, i a . lo l r e cn e u  ̄ r i [ ]/ o w s r Kl Am s a i s a i yc t e C / d s lJ i t lp m b q c ei d f
.
件 的点 , K算法失效 , G 由此得 知本算 法有一 定的实际 应用 的价
值 , 以上定理相吻合 。 与
r l )l P十1+2 ≤ ( +1 ≤ 帖 ( ≤ )
≤ (/ +1 =( +1  ̄ ) )
与假设矛盾 , 即证 。
4 结
+曰
语
定理 3 设 n为大于 3的整数 , A, a ba 均 为模 n的 有 B, , , 整数 , b 为整数 , 得 ( ,), 使 a b 为椭 圆曲线 E:。; Y + ( o ) o r dn 上阶为 r 的点 , ( b) 点 a, 为椭圆曲线 E: Y +4 』 +
H se 理 有 : as 定
来判 断阶的时候 , 现很容 易找 到满足 条件 的点 ( 4 7 ) 发 9 ,3 阶为
3 ( 1阶的点有很 多个 ) 又存 在 阶为 4的 点( 6 8 14) 即可 13 , (2 ,2 ,
以 判定 9 1 拟 素 数 , 7 为 而用 r> ( 彳 n1+1 z一4 3, 有 满 足条 ) 3 没
那么如果 r 为素数 , n为拟素数。 则
证明
( )椭 圆 曲线 的素 性检 验都 需 要构 造 z 2 / z上 的椭 圆曲
1
假 设 n至 少 可 分 解 为 三 个 互 不 相 同 的素 因 子 之 积 ,
线, 满足 >( 亍 +1 , 1 常大时 , 也需要非 常大 , n ) 当 7 , 非 r 要寻
圆孔衍射与像分辨本领的matlab仿真分析
![圆孔衍射与像分辨本领的matlab仿真分析](https://img.taocdn.com/s3/m/a93b8e54a36925c52cc58bd63186bceb19e8edff.png)
圆孔衍射与像分辨本领的matlab仿
真分析
衍射技术以其得天独厚的特性在一系列领域中发挥着重要作用,而圆孔衍射技
术更是其中最重要的应用。
以圆孔衍射理论研究和仿真分析来加深对其原理以及原理背后的分歧准确的说明属于数学处置,而matlab仿真分析可以理解圆孔衍射事
例的表述,使其能够详实地反映分析结果,并推进应用技术的实际研发。
圆孔衍射的matlab仿真分析是指利用matlab软件来处置圆孔衍射的分析问题,其特点是其计算速度快,精确度高,可以同时处置多种孔径形态的圆孔衍射。
MATLAB仿真分析运用Rayleigh衍射方程与Fresnel误差函数;它可以模拟任何扫
描尺度、光斑有效直径及衍射模式差异,测定衍射效果的衰变和聚焦程度,精确的表征像分辨率的改变指标。
此外,应用matlab仿真分析,可以准确可靠的量化把握不同孔径尺寸,材质
及照度等参数对像分辨率性能的影响,从而更好地开发和调校圆孔衍射系统以及其他光学模组;同时,matlab仿真可以高效地分析仿真原理分歧对性能参数影响的
复杂关系,以此作为参考来改进技术參数,使圆孔衍射系统能够达到最好的设计效果。
综上,matlab仿真分析是指利用matlab软件处置圆孔衍射的分析问题,可以
准确把握不同孔径尺寸,材质及照度等参数对像分辨率性能的影响,从而更好地开发和调校圆孔衍射系统,提升其像分辨本领,使其在一系列字段中有较高的应用价值。
《2024年基于Matlab的光学实验仿真》范文
![《2024年基于Matlab的光学实验仿真》范文](https://img.taocdn.com/s3/m/a177dc06814d2b160b4e767f5acfa1c7aa0082e8.png)
《基于Matlab的光学实验仿真》篇一一、引言光学实验是物理学中重要的实验领域之一,其研究范围涵盖了光的传播、干涉、衍射、偏振等基本现象。
然而,在实际的光学实验中,由于各种因素的影响,如设备精度、环境噪声等,往往难以得到理想的实验结果。
为了更好地理解和研究光学现象,提高实验的准确性和效率,基于Matlab的光学实验仿真成为了一种有效的手段。
本文将介绍基于Matlab的光学实验仿真的基本原理、方法及其实验结果分析。
二、Matlab光学实验仿真的基本原理和方法1. 基本原理Matlab是一种强大的数学计算软件,其强大的数值计算和图像处理功能为光学实验仿真提供了可能。
在光学实验仿真中,我们可以通过建立数学模型,模拟光的传播、干涉、衍射等过程,从而得到光场分布、光强分布等光学参数。
2. 方法(1)建立数学模型:根据光学实验的实际情况,建立光的传播、干涉、衍射等过程的数学模型。
(2)设置参数:根据实验需求,设置模拟参数,如光波长、光束尺寸、光学元件参数等。
(3)运行仿真:在Matlab中运行仿真程序,得到光场分布、光强分布等光学参数。
(4)结果分析:对仿真结果进行分析,如绘制光强分布图、计算光程差等。
三、基于Matlab的光学实验仿真实例以光学干涉实验为例,介绍基于Matlab的光学实验仿真方法。
1. 建立数学模型:根据干涉实验的实际情况,建立双缝干涉的数学模型。
该模型包括双缝的结构参数、光的波长、干涉场的空间分布等。
2. 设置参数:根据实验需求,设置双缝间距、缝宽、光波长等参数。
3. 运行仿真:在Matlab中运行仿真程序,得到双缝干涉的光强分布。
4. 结果分析:对仿真结果进行分析,如绘制光强分布图、计算干涉条纹的可见度等。
通过仿真结果与实际实验结果的对比,验证了仿真方法的准确性和可靠性。
四、实验结果分析基于Matlab的光学实验仿真可以得到准确的光场分布、光强分布等光学参数,为光学实验提供了有效的手段。
基于Matlab的夫琅和费单缝衍射的仿真分析
![基于Matlab的夫琅和费单缝衍射的仿真分析](https://img.taocdn.com/s3/m/e3ffaa3ff111f18583d05a4a.png)
( 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 相 同 的衍 射 光线 会聚 于观 察
基于Matlab的夫琅禾费衍射光学仿真
![基于Matlab的夫琅禾费衍射光学仿真](https://img.taocdn.com/s3/m/da13f6647f1922791688e8c3.png)
基于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的光学衍射仿真
![基于Matlab的光学衍射仿真](https://img.taocdn.com/s3/m/4617a8fda21614791611281d.png)
基于Matlab的光学衍射实验仿真摘要光学试验中衍射实验是非常重要的实验. 光的衍射是指光在传播过程中遇到障碍物时能够绕过障碍物的边缘前进的现象, 光的衍射现象为光的波动说提供了有力的证据. 衍射系统一般有光源、衍射屏和接受屏组成,按照它们相互距离的大小可将衍射分为两大类,一类是衍射屏与光源和接受屏的距离都是无穷远时的衍射,称为夫琅禾费衍射,一类是衍射屏与光源或接受屏的距离为有限远时的衍射称为菲涅尔衍射.本文用Matlab软件对典型的衍射现象建立了数学模型,对衍射光强分布进行了编程运算,对衍射实验进行了仿真。
最后创建了交互式GUI界面,用户可以通过改变输入参数模拟不同条件下的衍射条纹.本文对于衍射概念、区别、原理及光强分布编程做了详细全面的介绍关键字:Matlab;衍射;仿真;GUI界面;光学实验Matlab-based Simulation of Optical Diffraction ExperimentAbstractOptical diffraction experiment is a very important experiment. is the diffraction of light propagation of light in the obstacles encountered in the process to bypass the obstacles when the forward edge of the phenomenon of light diffraction phenomenon of the wave theory of light provides a strong Evidence。
diffraction systems generally have light, diffraction screen and accept the screen composition,size according to their distance from each other diffraction can be divided into two categories, one is the diffraction screen and the light source and the receiving screen is infinity when the distance between the diffraction Known as Fraunhofer diffraction, one is diffraction screen and the light source or accept a limited away from the screen when the diffraction is called Fresnel diffraction.In this paper, Matlab software on a typical phenomenon of a mathematical model of diffraction, the diffraction intensity distribution of the programming operation,the diffraction experiment is simulated. Finally, create an interactive GUI interface, users can change the input parameters to simulate different conditions of the diffraction pattern.This concept of the diffraction, difference, intensity distribution of programming principles and a detailed comprehensive descriptionKey word:matlab;diffraction; simulation;gui interface;optical experiment目录1 绪论 (1)1.1光学仿真的研究意义 (1)1.2国内外研究现状 (2)1。
基于MATLAB的光栅衍射仿真
![基于MATLAB的光栅衍射仿真](https://img.taocdn.com/s3/m/453bbc0c81c758f5f71f67d0.png)
基于MATLAB的光学光栅衍射仿真“光栅衍射计算器”是一种基于MATLAB的,用于计算包括双周期光栅在内的光栅结构衍射效率的电磁仿真程序。
该程序的功能包括一般的和灵活的光栅模型,结构参数(包括任意数目的参数),以及对衍射顺序进行无限制的控制。
此外,它在通用编程和Matlab的应用开发框架下的实现提供了一定程度的软件灵活性和与独立衍射分析程序不兼容的交互性。
本文的第1部分提供了光栅衍射计算器的概念描述,概括描述如何指定光栅结构以及如何进行电磁计算。
这些介绍主要面向概念,但有一些简单代码的例子给读者演示了如何使用光栅衍射计算器软件界面。
第二部分对软件界面做了进一步的介绍:以钨光子晶体结构为例来说明光栅结构是如何确定的。
(第二部分中的代码列表总结在gdc_intro.m中。
)本文的主要重点是定义光栅结构。
所附文件Calc_Demo.pdf提供了电磁计算中的应用例子。
(在这篇文章和GD- Calc_Demo.pdf中的所有代码示例都可以在GD-Calc 网站上的免费演示/教程代码中运行。
光子晶体示例在演示脚本gdc_demo11.m上运行。
)电磁理论与光栅衍射计算器的算法详见GD-Calc.pdf。
第1部分:概念描述MATLAB的开发环境在MATLAB环境下工作的一个优点是可以创建光栅衍射计算器的功能链接,这个功能不依赖于繁琐的数据转换和导入/导出过程。
例如,在半导体光刻技术的应用中,可能被曝光的相关的抗蚀剂致密化会影响光阻光栅的厚度和折射率指数,因此很自然地就会把指定厚度和折射率作为用户定义的曝光函数。
这对结构参数是非常有用的,例如,曝光可以被定义为一个量化的数量,在所有曝光依赖数量的情况下,包括抗蚀剂厚度和折射率指数,计算出的衍射效率,也同样会被量化。
通常情况下,光栅的光学特性不是它本身的主要焦点,它最主要的焦点应该是把光栅作为一个组件的完整系统的光学响应。
MATLAB的通用编程能力可以轻松的将光栅衍射计算机在功能上连接到用户定义的光学系统模型中,它可以自身并入通用的优化程序来优化设计程序。
些多边形衍射孔matlab仿真实验报告
![些多边形衍射孔matlab仿真实验报告](https://img.taocdn.com/s3/m/622302a3162ded630b1c59eef8c75fbfc67d947c.png)
些多边形衍射孔matlab仿真实验报告实验报告:多边形衍射孔的MATLAB仿真一、实验目的本实验旨在通过MATLAB仿真,研究多边形衍射孔对光波的衍射现象,深入理解衍射的基本原理及其在光学系统中的应用。
二、实验原理衍射是光波遇到障碍物时,绕过障碍物的边缘继续传播的现象。
当光波通过一个具有规则形状的小孔或狭缝时,会按照一定的规律扩散,形成特有的衍射图案。
多边形衍射孔是一种特殊的衍射装置,通过多边形的每个角产生不同的衍射级次,形成复杂的衍射图案。
三、实验步骤1. 打开MATLAB软件,创建一个新的脚本文件。
2. 在脚本文件中,定义多边形的边长、角度和波长等参数。
3. 使用MATLAB中的绘图函数,绘制多边形的几何形状。
4. 根据衍射公式计算多边形每个角产生的衍射光强分布。
5. 在同一幅图上绘制出衍射图案,以便观察和比较。
6. 分析衍射图案的规律和特点,理解多边形衍射孔的工作原理。
7. 清理工作空间,保存脚本文件。
四、实验结果及分析以下是实验中得到的衍射图案示例:图1:正方形衍射孔的衍射图案(请在此处插入正方形衍射孔的衍射图案)分析:从图中可以看出,正方形衍射孔产生了4个明显的衍射级次,每个级次的强度分布呈现出对称性。
这是因为正方形有4个相等的边,每个角产生的衍射级次相同。
图2:六边形衍射孔的衍射图案(请在此处插入六边形衍射孔的衍射图案)分析:六边形衍射孔产生了6个明显的衍射级次,每个级次的强度分布也呈现出对称性。
这是因为六边形有6个相等的边,每个角产生的衍射级次相同。
与正方形相比,六边形的衍射图案更加复杂,这是因为六边形的角比正方形的角更多。
通过以上实验结果,我们可以得出以下结论:多边形衍射孔产生的衍射图案具有对称性,每个角产生的衍射级次相同。
多边形的边数越多,衍射图案越复杂。
在实际应用中,可以根据需要选择不同形状的多边形衍射孔,以获得所需的衍射效果。
衍射的Matlab 模拟
![衍射的Matlab 模拟](https://img.taocdn.com/s3/m/20e27b3aa32d7375a41780d5.png)
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设计
![基于Matlab的菲涅尔直边衍射仿真与GUI设计](https://img.taocdn.com/s3/m/99316bfd162ded630b1c59eef8c75fbfc67d945c.png)
基于Matlab的菲涅尔直边衍射仿真与GUI设计仲志国;李硕;李婧;李根全;贾慧芳【摘要】利用Matlab软件进行了菲涅尔直边衍射实验的模拟仿真,给出了对应的光强分布曲线和仿真图像.利用Matlab的图形用户界面(GUI)建立动态的实验仿真界面.仿真结果图形细致逼真,使该过程的物理规律直观形象,有助于学生理解菲涅尔直边衍射现象中的物理规律.%Fresnel straight edge diffraction experiment was simulated with Matlab software, the corresponding light intensity distribution curve and simulation image is given. A dynamic experimental interface is created with the graphical user interface(GUI) of Matlab. The result of simulation is the same as experiment. The GUI makes its easy for student to understand the Fresnel straight edge diffraction.【期刊名称】《南阳师范学院学报》【年(卷),期】2012(011)012【总页数】3页(P36-38)【关键词】菲涅尔直边衍射;Matlab;GUI设计【作者】仲志国;李硕;李婧;李根全;贾慧芳【作者单位】南阳师范学院物理与电子工程学院,河南南阳473061;南阳师范学院物理与电子工程学院,河南南阳473061;南阳师范学院数学与统计学院,河南南阳473061;南阳师范学院物理与电子工程学院,河南南阳473061;南阳师范学院物理与电子工程学院,河南南阳473061【正文语种】中文【中图分类】O436.1菲涅尔直边衍射实验是光学衍射部分一个很重要的实验,但受到实验条件的限制,很多高校难以开展该实验[1].随着计算机技术及软件性能的提高,作为克服这种困难的一个重要手段,利用计算机和相关软件进行实验仿真,使这些实验走进课堂. Matlab软件以其强大的科学计算与可视化功能,简单易用、可开放式、可扩展环境等特点在许多科学领域中成为计算机辅助设计和分析、算法研究和应用开发的基本工具[2].Matlab语言的图形用户界面(GUI)可以引导用户进行计算和分析,用户可以利用事先设计的用户界面,通过其上的按钮和菜单与计算机直接进行信息交流,选择所需要的功能完成各种计算和分析[3].本文采用Matlab GUI对菲涅尔直边衍射实验进行仿真和用户界面的实现.1 Matlab菲涅尔直边衍射仿真1.1 惠更斯—菲涅尔原理惠更斯—菲涅尔原理是研究传播问题的一种分析方法.惠更斯—菲涅尔原理可以解释光在通过任意形状的障碍物时所产生的衍射现象.如果将波面S上所有面积元在P点的作用加起来,即可求得波面S在P点所产生的合振动为[4]:或写成复数形式:(2)式称为菲涅尔衍射积分,直接应用(2)式进行菲涅尔衍射的计算是很困难的,可以用振幅矢量叠加法作近似处理.1.2 用Matlab模拟菲涅尔直边衍射根据菲涅尔公式,当用沿Z方向传播的单色光照射与Z轴垂直的孔径,任一Z平面上的衍射场分布为[5]:在(3)式中k是波数,λ是波长.对于直边衍射,(3)式可简化为[6]:其中菲涅尔方程光强I=|E(x,y)|2.直边衍射的实验现象为:当用一束平行光照射直边屏时,在远处屏幕上的衍射图样在几何影界附近的照明区内出现若干亮暗条纹,然后强度变化趋向均匀,在几何阴影一侧仍有光强的扩展,尔后较快地衰减为零(全黑).借助半波带法便可得到影界处的光强,即等于自由传播光强的四分之一.本文设计思路是通过惠更斯—菲涅尔原理导出衍射原理,从而得到菲涅尔直边衍射函数.用Matlab编辑程序对菲涅尔直边衍射进行仿真,再通过GUI实现直边衍射的用户操作界面.设计流程[7]如图1所示.图1 设计流程图实验中采用λ=670nm的单色光源,直边到衍射场平面的距离为d=1000mm,编写两个函数的程序[8]用来模拟菲涅尔直边衍射程序.本文在编写程序中使用Matlab工具箱中的特殊函数,对菲涅尔积分式Fresnel(x)进行直接调用,简化程序编写过程,得到菲涅尔直边衍射光强分布曲线,如图2所示.仿真结果如图3所示.图2 菲涅尔直边衍射光强分布曲线2 菲涅尔直边衍射GUI设计Matlab图形用户界面开发环境(简称GUIDE),用于创建GUI.使用GUIDE创建GUI对象执行效率高,可以进行组件布局,还能生成保存和发布GUI的对应文件[9].运行GUIDE,选择按钮、静态文字、组合框、坐标轴等设计模版,使用AlignObjects工具对模版的几何位置进行调整.然后对模版的String、Tag等属性进行设置,便于编辑程序时的函数回调[10].GUIDE初始设计如图4所示.首先,设置启动按钮,对相应的函数进行回调.用户确定启动GUI进行使用,在Start_pushbutton_Callback函数中编写程序如下:set(handles. ChangeColor,’ Enable ’,’On’);%启动Change Color按钮guidata(hObject,handles);然后,在lamda_slider_CreateFcn函数中设置波长lamda的默认值为670nm,在可见光范围内变化为390~760nm.波长lamda范围程序如下:set(hObject,’Max’,760);% 设置波长的最大值set(hObject,’Value’,670);% 设置波长的默认值set(hObject,’Min’,390);% 设置波长的最小值回调lamda_slider_Callback函数,获取设置波长值,在整数范围内变动,编写程序如下:get(mda_slider,’Max’);get(mda_slider,’Value’);get(mda_slider,’Min’);% 读取参数范围Va=get(mda_slider,’Value’)if rem(Va,1)~ =0set(hObject,’Value’,round(Va))end%设置在整数范围内取值.人的眼睛感觉到的不同颜色对应的是在可见光范围内的不同波长,在菲涅尔直边衍射实验中,入射光在可见光范围内取不同波长值,看到的就是不同单色光的菲涅尔直边衍射现象的动态变化.把图像嵌入对应的模板,并通过调节波长来改变单色光的颜色,程序如下: lamda=get(mda_slider,’Value’);%获取初始的默认值axes(handles.axes1);axes(handles.axes2);%在对应的坐标轴内画图将程序嵌入ChangeColor_pushbutton_Callback函数的相应位置中,即可调节波长来改变光的颜色.最后,回调 close_pushbutton_Callback函数,在使用后点击Close按钮,关闭图形,程序如下:set(handles.Close,’Enable’,’On’);uiresume%关闭图形窗口.程序完成后,运行程序的 GUI界面,如图5所示.图5 GUI界面3 小结使用Matlab程序中特殊函数功能,实现了菲涅尔直边衍射模拟仿真,可直观地显示衍射现象,避免了在实验室手动操作可能带来的不便和误差.从GUIDE的初始化过程到GUI的界面操作实现,简化了程序编辑.GUI的界面方便了用户的使用和操作,通过对入射光波长的改变可以观察到衍射的不同现象,更加方便地进行对比学习,对实现现代化物理教学提供了一种可行的方法.参考文献[1]石明吉,张定群.大学物理实验教学中存在的问题及应对策略[J].南阳师范学院学报,2011,10(9):97-101.[2]王竞争,刘显龙,殷文金,等.基于MATLAB的光的干涉和衍射现象的模拟研究[J].延边大学学报,2009,3(4):319-322.[3]吴宏锷,王慧.基于MATLAB的图形动画研究[J].南阳师范学院学报,2010,9(6):59 -61.[4]姚启钧.光学教程[M].北京:高等教育出版社,2008.[5]梁铨廷.物理光学[M].北京:机械工业出版社,1987.[6]张广军.激光直边衍射CCD位移测量方法[J].实用测试技术,1994(6):10-11.[7]华晋,尹金花.基于GUI的干涉衍射的实验教学研究[J].大学物理实验,2011,24(1):79 -82.[8]王莉,杨会静,段芳芳.用MATLAB模拟菲涅尔直边衍射[J].唐山师范学院学报,2008,30(5):131-132.[9]陈垚光,毛涛涛,王正林,等.精通MATLAB GUI设计[M].北京:电子工业出版社,2011.[10]吴迪,刘军,徐朋,等.基于MATLAB GUI的大学物理交互式演示实验动画设计[J].大学物理实验,2010,23(1):52-53.。
基于Matlab GUI光的衍射实验仿真
![基于Matlab GUI光的衍射实验仿真](https://img.taocdn.com/s3/m/d3ccc05ec8d376eeafaa3199.png)
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’ ꎬ{ ‘ 圆孔’ ꎬ‘ 方形’ ꎬ‘ 多
边形’ ‘ 圆盘’ ꎬ''} ) ꎻ在可编辑文本框中设置光学
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
lmda=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) ;
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(y0,x0,Br);
colormap(gray(NC) );
Br=B1'*NC;
subplot(1,2,1)
image(y0,x0,Br);
colormap(gray(NC) );
subplot(1,2,2)
plot(B1,x0);
(3)初始仿真图样
初始的光源对L1透镜的张角为 rad。
(4)改变参数,即上下移动光源
光源向上移动少许距离后的衍射图样。
光源向下移动少许距离后的衍射图样。
d=7*a
③缝数量N
N=3
N=4
N=6
5)变化规律
根据仿真图样可以得出以下结论:
①改变缝宽a
增加缝宽a,亮纹间距减小;反之,亮纹间距增加。
②改变缝距d
增加缝距d,亮纹数量增加,亮纹间距减小;反之,亮纹数量减少,亮纹间距增加。
③缝数量N
增加缝数量N,亮纹变的越细亮;反之,亮纹宽度增加。
4.多缝的夫琅和费衍射,使用平行光照明,观察衍射图样随点光源位置(光源上下移动)的变化
subplot(1,2,2)
plot(B1,x0);
3)初始仿真图样
4)改变参数后的仿真图样(即增加入射角r)
5)变化规律
根据仿真图样可以得出以下结论:移动点光源位置,衍射条纹发生平行移动。具体规律为,点光源向上移动,则条纹向下平行移动,及条纹移动方向与点光源移动方向恰好相反。
5.多缝的夫琅和费衍射,使用扩展光源照明,前后、上下移动光源,观察衍射图样的变化
alpha=pi*a*sinphi/lam;
beta=pi*d*sinphi/lam; %相位差2*bata
B(i,:)=(sin(alpha)./alpha).^2.*(sin(N*beta)./sin(beta)).^2;
B1=B/max(B);
end
NC=255; %绘制衍射仿真图样及强度曲线
C(j,i)=A(j,i)*exp(-imag*k*(x*p+y*q));
end
end
E(n,m)=sum(C(:));
end
end
E=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)];
(5)变化规律
由图样可知,当光源向上移动时,图样向下移动,光源向下移动时,图样向上移动。同时,可以知道,扩展光源的光强分布与点光源的有所不同,主要体现在清晰度的变化。
三、感想
这次大作业要求对课本上的衍射部分有更深层次的理解,通过仿真实验,对菲涅尔衍射和夫琅禾费衍射的特点的理解加深了,对不同衍射孔的夫琅禾费衍射图样特点有了更感性的认识,对光源与衍射图样的关系也有了更深刻的掌握,并进一步熟悉了Matlab在工程光学方面的强大的仿真功能,我们相信对我们以后的学习会有很大的助益。
夫琅禾费衍射条件下:中央有一条特别明亮的亮条纹,其宽度是其他亮条纹的两倍;其他亮条纹的宽度相等,亮度逐渐下降。
2.改变孔径形状、尺寸,观察图样变化
1)原理图
矩孔衍射:
透镜焦距:1000mm;
照射光波长:500nm;
孔高:a(mm);孔宽:b(mm);
圆孔衍射:
圆孔直径:r(mm);
照射光波长:500nm;
[x,y]=meshgrid(xs) ;
fori = 1: 19
s = 2*pi*r*sqrt(x.^2 + y.^2)./(lmda1( i) ) ;
z = 4*(besselj( 1,s)./( s + eps) ).^2; %光强公式
z0 = z0 + z;
end
z1 = z0 /19;
subplot(1,2,1)
y0=xm;
n=1001;
x0=linspace(-xm,xm,n); %构建接受屏矩阵
for i= 1: n %依次计算接受屏上的第i个点光强
for j=1:n %依次计算第j个入射点
r=pi*(j-501)/5000000; %各个入射点的角度不同
sinphi=x0(i)/f;
alpha=pi*a*(sinphi-sin(r))/lam;
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);
axissquare;
圆孔衍射:
照射光波长:500nm;
2)matlab代码
矩孔衍射:
focallength=1000;
lambda=500;
a=2.0;b=2.0;
resolution=64;
center=(resolution)/2;
A=zeros(resolution,resolution);
fori=1:1:resolution
可知:矩孔在一个维度上展宽一定倍数将导致衍射图样在相同维度上缩短相同倍数,同时能量会更向中心亮斑集中。
圆孔衍射:
r=1.5
r=1.2
圆孔半径增大,衍射图样中的同心圆环半径相应变小,更集中,而能量则更向中心亮斑集中。
进一步分析各种形状的衍射孔可得如下结论:
1.衍射孔在哪些方向上有几条对称轴,则衍射图样亦在哪些方向上有几条对称轴;
(1)原理图
与4类似。
(扩展光源即点光源无数个点光源移动后同时作用,产生的衍射图样的合成)
(2)matlab代码
clear
lam=500e-9; %定义波长lam=500nm
N=2; %单缝个数N
a=2e-4; %缝宽a
f=5; %后面的透镜焦距
d=5*a; %光栅常d=5;
xm=1*lam*f/a; %设定接受屏边界
Br=(B/max(B))*NC;
subplot(1,2,1)
image(y0,x0,Br);
colormap(gray(NC) );
subplot(1,2,2)
plot(B1,x0);
3)初始仿真图样
4)改变参数后的仿真图样
①改变缝宽a
a=0.0001
a=0.0003
②改变缝距d
d=4*a
d=6*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)变化规律
根据衍射屏以及接受屏的相对位置不同,由此产生菲涅尔衍射和夫琅禾费衍射的区别,根据我们模拟的情况得到菲涅尔衍射和夫琅禾费衍射的明显不同是
成绩:
《工程光学》综合性练习二
题目:基于matlab的衍射系统仿真
学院精密仪器与光电子工程学院
专业测控技术与仪器
年级20**级
班级**班
姓名
20**年**月
综合练习大作业二
一、要求
3-4人组成小组,对下面给出的各题目利用Matlab等工具进行仿真。练习结束时每组提交一份报告及仿真程序。在报告中应注明各仿真结果所对应的参数,如屏与衍射屏间距、孔径形状尺寸等。
四、参考文献
[1]光学衍射实验的MATLAB仿真[A].1004-7077(2010)梁兰菊田贵才张裕仕
[2]基于MATLAB的夫琅和费衍射实验的计算机仿真.张志峰 苏玉玲 蒋逢春
[3]基于Matlab的光学衍射实验仿真.陈芳芳钱淑珍吴平辉
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);
r=0; %入射角r
y0=xm;
n=1001;
x0=linspace(-xm,xm,n);%构建接受屏矩阵
for i= 1: n %计算接受屏上第i个点的光强
sinphi=x0(i)/f;
alpha=pi*a*(sinphi-sin(r))/lam;