圆孔矩孔的菲涅尔衍射模拟(matlab实现)-工程光学(20200607000913)
圆盘衍射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语言进行光学衍射现象的仿真
利用MATLAB语言进行光学衍射现象的仿真储林华(安庆师范学院物理与电气工程学院安徽安庆246011)指导教师:张杰摘要:光的衍射是光的波动性的一种重要表现,因此对光的衍射现象的研究,不仅具有重要的理论意义,而且在光学仪器研制和成像分析等诸多实际应用方面均有重要价值,但是其衍射光强的计算非常复杂,对实验条件的要求非常高,通常情况下很难得到满意的效果,严重影响了光学的教学。
本文从衍射的相关理论知识出发,首先介绍了惠更斯--菲涅耳原理及其数学表示形式,然后重点讨论了单色光经各种对称光学衍射元件(单缝,双缝,光栅,圆孔)的夫琅和费衍射情况,并分别给出了它们在焦平面上的衍射光强计算公式,最后利用科学计算软件MA TLAB对光的衍射现象进行了仿真,所得到的图样细致逼真,使整个物理过程变得直观形象,且与实验所得到的衍射图样进行了比较,两者吻合得很好,从而为光学的理论分析和实验教学提供了一种新的途径。
关键词:光的衍射,光栅衍射,圆孔衍射,Matlab,计算机仿真0 引言光的衍射现象是光具有波动性的重要特征,因此对衍射现象的研究无论在理论上还是在实践中都有很重要的意义。
对光的衍射现象的研究,始于17世纪,当时著名的荷兰科学家惠更斯提出了光是一种波的假说,并根据波动理论提出了光的传播理论——即惠更斯原理[1],根据这一原理,他解释了光的反射定律和折射定律,给出了折射率的意义,光在两种介质中的速度比。
到了19世纪,法国年轻的科学家菲涅耳,根据叠加原理把惠更斯原理进一步具体化,给出了光在传播过程中光强学计算公式,这就是著名的惠更斯-菲涅耳原理[2]。
但由于在实际应用过程中,障碍物形状的不规则性,导致光强的计算公式几乎无解析解,只能进行一些数值计算。
针对衍射计算中出现的困难,近代的研究人员想到运用科学的计算软件MA TLAB,利用其较强的绘图和图象功能,编写计算程序,使得多种衍射元件(单缝,双缝,光栅,矩孔,圆孔)下的衍射现象得以在计算机中形象地被模拟仿真。
菲涅尔衍射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实现)-工程光学
工程光学综合练习-----圆孔、矩孔的菲涅尔衍射模拟圆孔和矩孔的菲涅尔衍射模拟一、原理由惠更斯-菲涅尔原理可知接收屏上的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代码1. 引言1.1 概述在光学领域中,菲涅尔衍射是一种常见的现象,它描述了当平行光束通过孔洞或物体边缘时所产生的衍射效应。
这个现象在很多应用中都具有重要意义,例如光学仪器的设计、天文学以及激光技术等领域。
理解和研究菲涅尔衍射现象对于深入探究光的波动性质以及相干光的传播具有重要意义。
1.2 文章结构本文将从以下几个方面进行讨论:首先介绍菲涅尔衍射理论中与本文相关的基本概念和原理;其次详细阐述使用MATLAB代码实现菲涅尔衍射的方法和步骤;然后,通过对圆孔和矩形孔两种情况下的菲涅尔衍射结果进行分析和讨论;最后给出文章总结,并提出进一步研究方向。
1.3 目的本文旨在通过编写MATLAB代码来模拟实现平行光束通过圆孔和矩形孔时的菲涅尔衍射现象,并利用结果分析和比较两种情况下的衍射效应。
通过这样的研究,可以加深对菲涅尔衍射原理的理解,并为后续相关研究提供参考和借鉴。
同时,通过MATLAB代码实现,读者也可以根据自己的需求进行扩展和修改,从而进一步探索不同形状孔洞的菲涅尔衍射特性。
2. 菲涅尔衍射理论2.1 光的波动特性菲涅尔衍射是一种描述光波传播和衍射现象的理论。
根据光的波动特性,当光通过一个孔径较小的障碍物时,它会弯曲并发生衍射现象。
在菲涅尔衍射中,平行光束通过圆孔或矩形孔后,在进入屏幕上的观察点处产生干涉图样。
2.2 菲涅尔近似理论菲涅尔近似理论是在进一步简化计算过程中使用的近似方法。
它假设观察点距离光源和障碍物足够远,使得远场近似成立。
2.3 圆孔和矩形孔的描述圆孔和矩形孔是两种常见形状的障碍物,用于描述光线传播时发生的菲涅尔衍射效应。
- 圆孔: 圆孔通常由一个具有确定半径大小的圆形开口组成。
当平行光束通过圆孔时,它会扩散并形成一系列同心环状条纹。
- 矩形孔: 矩形孔是由一个具有确定边长的矩形开口组成。
当平行光束通过矩形孔时,它会扩散并在屏幕上生成一系列矩形衍射图样。
matlab菲涅尔衍射积分
matlab菲涅尔衍射积分【最新版】目录1.菲涅尔衍射现象及其原理2.菲涅尔衍射积分公式3.MATLAB 在菲涅尔衍射计算中的应用4.示例:使用 MATLAB 进行菲涅尔衍射积分计算正文一、菲涅尔衍射现象及其原理菲涅尔衍射是指当光线通过一个狭缝或者一个具有较小尺寸的物体时,会出现的一种光的衍射现象。
这种现象是由于光在传播过程中,遇到障碍物或者通过狭缝时,会发生光的波动性质的干涉和叠加,形成一系列的衍射条纹。
菲涅尔衍射的原理是,当光线通过一个狭缝或者一个小物体时,光会在狭缝或物体后面形成一个新的光源,这个新的光源会发出一系列的同心环状的光波,这些光波在传播过程中会相互干涉和叠加,形成衍射条纹。
二、菲涅尔衍射积分公式菲涅尔衍射积分公式是描述菲涅尔衍射现象的数学公式,该公式为:I(x,y) = ∫∫ [0,∞] [0,∞] f(x,y,u,v) * e^(-j * 2 * π * (u^2 + v^2)) du * dv其中,I(x,y) 表示衍射后的光强分布,u 和 v 分别表示衍射光源的横向和纵向位置,f(x,y,u,v) 表示光源的辐射亮度分布,e^(-j * 2 * π* (u^2 + v^2)) 表示复指数函数,j 表示虚数单位。
三、MATLAB 在菲涅尔衍射计算中的应用MATLAB 是一种数学软件,可以用来解决各种数学问题,包括菲涅尔衍射计算。
在 MATLAB 中,可以使用内置的函数和工具箱来进行菲涅尔衍射计算。
例如,MATLAB 中有一个名为“光学系统工具箱”的工具箱,可以用来模拟和计算光学系统的性能,包括菲涅尔衍射计算。
四、示例:使用 MATLAB 进行菲涅尔衍射积分计算以下是一个使用 MATLAB 进行菲涅尔衍射积分计算的示例:1.首先,打开 MATLAB 软件,并启动“光学系统工具箱”。
2.然后,创建一个二维的衍射光源,该光源的辐射亮度分布为:f(x,y,u,v) = (1 / (4 * pi)) * exp(-((u^2 + v^2) / (2 * sigma^2)) 其中,sigma 表示光源的尺寸。
圆孔矩孔的菲涅尔衍射模拟(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的光学衍射实验仿真()摘要通过Matlab软件编程,实现对矩孔夫琅和费衍射的计算机仿真,结果表明:该方法直观正确的展示了衍射这一光学现象,操作性强,仿真度高,取得了较好的仿真效果。
关键词夫琅和费衍射;Matlab;仿真1引言物理光学是高校物理学专业的必修课,其中,光的衍射既是该门课程的重点内容,也是人们研究的热点。
然而由于光学衍射部分公式繁多,规律抽象,学生对相应的光学图像和物理过程的理解有一定的困难,大大影响了教学效果。
当然,在实际中可以通过加强实验教学来改善教学效果,但是光学实验对仪器设备和人员掌握的技术水平要求都较高,同时实验中物理现象容易受外界因素的影响,这给光学教学带来了较大的困难1【-5】。
随着计算机技术的迅速发展,现代化的教育模式走进了课堂,利用计算机对光学现象进行仿真也成为一种可能。
Matlab是一款集数值分析、符号运算、图形处理、系统仿真等功能于一体的科学与工程计算软件,它具有编程效率高、简单易学、人机交互好、可视化功能、拓展性强等优点[6-8],利用Matlab编程仿真光学现象只需改变程序中的参数,就可以生成不同实验条件下的光学图像,使实验效果更为形象逼真。
在课堂教学中,能快速的验证实验理论,使学生更直观的理解理论知识,接受科学事实。
本文以矩孔夫琅和费衍射为例,介绍了Matlab在光学衍射实验仿真中的应用。
2 衍射基本原理衍射是光波在空间或物质中传播的基本方式。
实际上,光波在传播的过程中,只要光波波面受到某种限制,光波会绕过障碍物偏离直线传播而进入几何阴影,并在屏幕上出现光强分布不均匀的现象,称为光的衍射。
根据障碍物到光源和考察点的距离,把衍射现象分为两类:菲涅尔衍射和夫琅和费衍射。
研究不同孔径在不同实验条件下的光学衍射特性,对现代光学有重要的意义。
如图1所示,衍射规律可用菲涅尔衍射积分表示,其合振幅为[9]:(1)其中,K是孔径平面,E是观察平面,r是衍射孔径平面Q到观察平面P的距离,d是衍射孔径平面O到观察平面P0的距离,cosθ是倾斜因子,k=2π/λ是光波波数,λ是光波波长,x1,y1和x,y分别是孔径平面和观察平面的坐标。
圆孔矩孔的菲涅尔衍射模拟(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的课程报告项目名称:基于MATLAB光学衍射之矩型孔的夫琅和费衍射一,MATLAB 基础:MatlaB是功能强大的科学及工程计算软件,它不但表现具有以矩阵计算为基础的强大数学计算和分析功能,而且还具有丰富的可视化图形表现功能和方便的程序设计能力。
Matlab是一款集数值分析、符号运算、图形处理、系统仿真等功能于一体的科学与工程计算软件,它具有编程效率高、简单易学、人机交互好、可视化功能、拓展性强等优点。
MatlAB是面向21世纪的计算机程序设计及科学计算语言。
MatlAB系统包括5个部分:开发环境,MAtlAB数学函数库,MAtlAB语言,图形功能,应用程序接口。
二,光的衍射的原理:光的衍射是光波在物质或空间里传播的基本发式,实际上,光波在传播的过程中,只要光波波面受到某种限制,光波会绕过障碍物偏离直线传播而进入几何阴影,并在屏幕上出现光强分布不均匀的现象,称为光的衍射。
根据障碍物到光源和考察点的距离,把衍射现象分为两类:菲涅尔衍射和夫琅和费衍射。
此次课程报告主要是围绕夫琅和费衍射展开的。
在光学上,夫琅和费衍射在场波通过圆孔或狭缝时发生,导致观测到的成像大小有所改变,成因是观测点的远场位置,及通过圆孔向外的衍射波有渐趋平面波的性质。
1,惠更斯原理:根据惠更斯-菲涅耳原理,单缝后面空间任一点P 的光振动是单缝处波阵面上所有子波波源发出的子波传到P 点的振动的相干叠加。
2. 菲涅耳-基尔霍夫衍射公式:由于菲涅耳理论本身的缺陷,所以从波动微分方程出发,利用场论中的Green 定理及电磁场的边值条件,其中倾斜因子为()k θ和常数C 均在下面所设。
~exp()exp()cos(,)cos(,)()[]2A ikl ikr n r n l E P d i l r σλ-=∑⎰⎰ 若设 1C i λ=; ~exp()()A ikl E Q l= ;cos(,)cos(,)()2n r n l K θ-= 则上式可化为:~~exp ikr E()()()P C E Q K d θσ=∑⎰⎰()r3. 基尔霍夫衍射公式的近似 菲涅耳衍射近似满足:2222221111111121111()()11[]222x x y y xx yy x y x y r z z z z z z ⎧⎫-+-+++=+=+-+⎨⎬⎩⎭ 当上式中1z 很大而使得第四项相对相位的贡献远小于π时,即满足:221()2x y k z π+<< 随着1z 的逐渐增大,从而可推得夫琅和费衍射公式如下: ~~2211,1111111exp()(,)exp[()]()exp[()]2ikz ik ik E x y x y E x y xx yy dx dy i z z z λ=+-+∑⎰⎰以上是矩孔的矩孔夫琅和费衍射复振幅计算公式的推导过程。
圆孔和矩形孔夫琅禾费衍射的MATLAB仿真对比研究
圆孔和矩形孔夫琅禾费衍射的MATLAB仿真对比研究作者:何皓轩史仟芝杨莎刘家兴来源:《科技风》2022年第03期摘要:根据夫琅禾费衍射的基本原理,利用MATLAB仿真模拟圆孔和矩形孔的夫琅禾费衍射,观察孔径大小与夫琅禾费衍射图样的关系,发现孔径越小,衍射现象越明显。
接着通过矩形孔和圆形孔互为内接圆和外接圆的关系进行对比,研究衍射屏形状对夫琅禾费衍射图样的影响,分析其夫琅禾费衍射图样的特征,衍射图样对孔的形状有较大的依赖关系,且在孔径大小相当的情况下,矩孔的夫琅禾费衍射比圆孔的夫琅禾费衍射更加明显。
计算机仿真能快速、准确的改变衍射屏的形状和大小,这对学生形象、直观的理解夫琅禾费衍射提供一种有益的辅助手段。
关键词:夫琅禾费衍射;MATLAB仿真;圆孔;矩形孔中图分类号:O436.1文献标识码:AAbstract:According to the basic principle of Fraunhofer diffraction,the Fraunhofer diffraction of circular hole and rectangular hole is simulated by MATLAB,The relationship between the aperture size and Fraunhofer diffraction pattern was observed,and found that the smaller the aperture,the more obvious the diffraction phenomenon.Then,the influence of the shape of thediffraction screen on the Fraunhofer diffraction pattern is studied and the characteristics of the Fraunhofer diffraction pattern are analyzed,The diffraction pattern has a great dependence on the shape of the hole,and the Fraunhofer diffraction of the distance hole is more obvious than that of the circular hole when the aperture size is the same.It has a certain reference significance for students to understand Fraunhofer diffraction vividly and intuitively.Keywords:Fraunhofer diffraction;MATLAB simulation;circular hole;Rectangular hole1 概述光绕过障碍物偏离直线继续向前传播而进入几何阴影,并在屏幕上出现光强分布不均匀的现象称为光的衍射,光的衍射现象是说明光波动性的实验依据,而夫琅禾费衍射实验是大学物理实验的基础实验之一[1-3]。
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软件编程,实现对矩孔夫琅和费衍射的计算机仿真,结果表明:该方法直观正确的展示了衍射这一光学现象,操作性强,仿真度高,取得了较好的仿真效果。
关键词夫琅和费衍射;Matlab;仿真1引言物理光学是高校物理学专业的必修课,其中,光的衍射既是该门课程的重点内容,也是人们研究的热点。
然而由于光学衍射部分公式繁多,规律抽象,学生对相应的光学图像和物理过程的理解有一定的困难,大大影响了教学效果。
当然,在实际中可以通过加强实验教学来改善教学效果,但是光学实验对仪器设备和人员掌握的技术水平要求都较高,同时实验中物理现象容易受外界因素的影响,这给光学教学带来了较大的困难1【-5】。
随着计算机技术的迅速发展,现代化的教育模式走进了课堂,利用计算机对光学现象进行仿真也成为一种可能。
Matlab是一款集数值分析、符号运算、图形处理、系统仿真等功能于一体的科学与工程计算软件,它具有编程效率高、简单易学、人机交互好、可视化功能、拓展性强等优点[6-8],利用Matlab编程仿真光学现象只需改变程序中的参数,就可以生成不同实验条件下的光学图像,使实验效果更为形象逼真。
在课堂教学中,能快速的验证实验理论,使学生更直观的理解理论知识,接受科学事实。
本文以矩孔夫琅和费衍射为例,介绍了Matlab在光学衍射实验仿真中的应用。
2 衍射基本原理衍射是光波在空间或物质中传播的基本方式。
实际上,光波在传播的过程中,只要光波波面受到某种限制,光波会绕过障碍物偏离直线传播而进入几何阴影,并在屏幕上出现光强分布不均匀的现象,称为光的衍射。
根据障碍物到光源和考察点的距离,把衍射现象分为两类:菲涅尔衍射和夫琅和费衍射。
研究不同孔径在不同实验条件下的光学衍射特性,对现代光学有重要的意义。
如图1所示,衍射规律可用菲涅尔衍射积分表示,其合振幅为[9]:(1)其中,K是孔径平面,E是观察平面,r是衍射孔径平面Q到观察平面P的距离,d是衍射孔径平面O到观察平面P0的距离,cosθ是倾斜因子,k=2π/λ是光波波数,λ是光波波长,x1,y1和x,y分别是孔径平面和观察平面的坐标。
菲涅耳圆孔衍射的数值模拟
菲涅耳圆孔衍射的数值模拟菲涅耳圆孔衍射是物理学的一种典型的现象,它的发现可以追溯到古希腊,在之后的几个世纪里,物理学家一直在讨论它,并且在不同的理论环境中建立模型,以阐明它的起源和表现形式。
一方面,由于菲涅耳圆孔衍射的现象是简单的,它是由简单积分很容易导出的。
它还可以被它的基本方程非常容易地模拟。
另一方面,菲涅耳圆孔衍射的模拟还受到各种多变量函数的影响,从而使得它难以完全模拟。
近年来,由于计算机技术的发展,许多的数值模拟方法也出现了。
其中,数值模拟的方法对菲涅耳圆孔衍射也有了很多的应用,其中最重要的就是采用数值模拟的方法来模拟菲涅耳圆孔衍射,以更好地了解衍射现象。
在菲涅耳圆孔衍射的数值模拟中,先需要建立解决衍射问题的模型,并将模型参数与实际测量数据相比较,以确定模型的合理性。
例如,菲涅耳圆孔衍射的电磁场与磁场可以用泊松方程来描述,通过计算可以求出电磁场的参数,从而确定出模型的参数。
接下来,根据衍射理论,可以构造出用于计算衍射效果的差分方程,并将其离散化,以计算出精确的衍射曲线。
而这种方法往往比分析计算法更能够表现出衍射曲线的起伏变化。
在模拟过程中,还可以考虑菲涅耳圆孔本身的相位变化,从而更加准确地计算出衍射曲线。
在给定模型参数的前提下,菲涅耳圆孔衍射的数值模拟可以使用微分方程和差分方程进行计算,这种方法不仅考虑了衍射曲线的本质,而且可以模拟出菲涅耳圆孔本身的相位变化,从而对菲涅耳圆孔衍射的精确模拟也有很大的帮助。
总之,菲涅耳圆孔衍射的数值模拟是用于复杂场景的一种有效方法,它不仅可以更好地分析衍射现象,而且可以提供准确的衍射效果预测。
在未来,人们可以在不断完善计算技术的基础上,继续探索及应用菲涅耳圆孔衍射的数值模拟,以满足不断发展的科学研究需要。
矩孔菲涅而衍射MATLAB模拟
基于Matlab的矩孔菲涅尔衍射仿真摘要光学试验中衍射实验是非常重要的实验. 光的衍射是指光在传播过程中遇到障碍物时能够绕过障碍物的边缘前进的现象, 光的衍射现象为光的波动说提供了有力的证据. 衍射系统一般有光源、衍射屏和接受屏组成, 按照它们相互距离的大小可将衍射分为两大类, 一类是衍射屏与光源和接受屏的距离都是无穷远时的衍射, 称为夫琅禾费衍射, 一类是衍射屏与光源或接受屏的距离为有限远时的衍射称为菲涅尔衍射。
本文用Matlab软件主要针对矩孔菲涅尔衍射现象建立了数学模型,对衍射光强分布进行了编程运算,对衍射实验进行了仿真。
关键字:Matlab;矩孔菲涅尔衍射;仿真;光学实验AbstractOptical 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 single slit Fresnel diffraction, the diffraction intensity distribution of the programming operation, the diffraction experiment is simulated.Key word: matlab;single slit Fresnel diffraction; simulation; optical experiment一、菲涅尔衍射原理由惠更斯-菲涅尔原理可知接收屏上的P点的复振幅可以表示为exp(ikr)K(θ)dσ (1)Ẽ(P)=C∬Ẽ(Q)Σ其中Ẽ(Q)为衍射屏上的复振幅分布,K(θ)为倾斜因子。
基于Matlab的光学衍射实验仿真
基于Matlab的光学衍射实验仿真()摘要通过Matlab软件编程,实现对矩孔夫琅和费衍射的计算机仿真,结果表明:该方法直观正确的展示了衍射这一光学现象,操作性强,仿真度高,取得了较好的仿真效果。
关键词夫琅和费衍射;Matlab;仿真1引言物理光学是高校物理学专业的必修课,其中,光的衍射既是该门课程的重点内容,也是人们研究的热点。
然而由于光学衍射部分公式繁多,规律抽象,学生对相应的光学图像和物理过程的理解有一定的困难,大大影响了教学效果。
当然,在实际中可以通过加强实验教学来改善教学效果,但是光学实验对仪器设备和人员掌握的技术水平要求都较高,同时实验中物理现象容易受外界因素的影响,这给光学教学带来了较大的困难1【-5】。
随着计算机技术的迅速发展,现代化的教育模式走进了课堂,利用计算机对光学现象进行仿真也成为一种可能。
Matlab是一款集数值分析、符号运算、图形处理、系统仿真等功能于一体的科学与工程计算软件,它具有编程效率高、简单易学、人机交互好、可视化功能、拓展性强等优点[6-8],利用Matlab编程仿真光学现象只需改变程序中的参数,就可以生成不同实验条件下的光学图像,使实验效果更为形象逼真。
在课堂教学中,能快速的验证实验理论,使学生更直观的理解理论知识,接受科学事实。
本文以矩孔夫琅和费衍射为例,介绍了Matlab在光学衍射实验仿真中的应用。
2 衍射基本原理衍射是光波在空间或物质中传播的基本方式。
实际上,光波在传播的过程中,只要光波波面受到某种限制,光波会绕过障碍物偏离直线传播而进入几何阴影,并在屏幕上出现光强分布不均匀的现象,称为光的衍射。
根据障碍物到光源和考察点的距离,把衍射现象分为两类:菲涅尔衍射和夫琅和费衍射。
研究不同孔径在不同实验条件下的光学衍射特性,对现代光学有重要的意义。
如图1所示,衍射规律可用菲涅尔衍射积分表示,其合振幅为[9]:(1)其中,K是孔径平面,E是观察平面,r是衍射孔径平面Q到观察平面P的距离,d是衍射孔径平面O到观察平面P0的距离,cosθ是倾斜因子,k=2π/λ是光波波数,λ是光波波长,x1,y1和x,y分别是孔径平面和观察平面的坐标。
matlab 菲涅耳衍射
matlab 菲涅耳衍射英文回答:Fresnel diffraction is a phenomenon that occurs when a wave passes through an aperture or around an obstacle and spreads out. It is a type of wave diffraction that is characterized by the interference of waves that have traveled different distances. This phenomenon is namedafter the French physicist Augustin-Jean Fresnel, who first studied and described it in the early 19th century.In the context of MATLAB, Fresnel diffraction can be simulated and analyzed using various numerical methods. One common approach is to use the Fresnel-Kirchhoff diffraction formula, which calculates the diffracted field as the sum of contributions from different parts of the aperture or obstacle. This formula takes into account the phase and amplitude of the incident wave, as well as the distance between the source and the observation point.To illustrate this, let's consider an example of Fresnel diffraction through a circular aperture. Suppose we have a laser beam passing through a small circular hole in a screen. The light waves passing through the aperture will spread out and form a diffraction pattern on a distant screen. Using MATLAB, we can simulate this diffraction pattern by numerically calculating the field at different points on the screen.First, we need to define the parameters of the system, such as the wavelength of the light, the size of the aperture, and the distance between the aperture and the screen. Then, we can use the Fresnel diffraction formula to calculate the field at each point on the screen. Finally, we can plot the resulting diffraction pattern using MATLAB's plotting functions.By analyzing the diffraction pattern, we can gain insights into the behavior of the wave as it passes through the aperture. For example, we can observe the presence of interference fringes, which are caused by the constructive and destructive interference of the diffracted waves. Wecan also study the effect of changing parameters, such asthe size of the aperture or the distance between the aperture and the screen, on the diffraction pattern.中文回答:菲涅耳衍射是一种波通过孔隙或绕过障碍物时产生的现象,它会呈现出扩散的特点。
圆孔和圆屏的菲涅耳衍射圆孔的菲涅...
3.6衍射光栅衍射光栅:能对入射光波的振幅或相位,或者两者同时产生空间周期性调制的光学元件。
*一种应用非常广泛、非常重要的光学元件,主要用作分光(从远红外到真空紫外)元件,还可用于长度和角度的精密测量、以及调制元件;*工作基础:夫朗禾费多缝衍射效应。
光栅的分类:按工作方式分类:–透射光栅–反射光栅按对入射光的调制作用分类:–振幅光栅–相位光栅3.6.1 光栅的分光性能1. 光栅方程多缝衍射中干涉主极大条件sin d m θλ=d ϕθ为缝间距,称为, 为入射角,光常数 栅为衍射角衍射光与入射光同侧取正,异侧取负号↑斜入射衍射极大条件 (s 0,1,2, in sin )d m m ϕθλ±=±±="----光栅方程2. 性能参数(1) 色散本领3.6.1 光栅的分光性能将不同波长的同级主极大光分开的程度,通常用角色散和线色散表示。
A.角色散d θ/d λ。
•波长相差10-10 m 的两条谱线分开的角距离称为角色散。
•由光栅方程对波长取微分求得θλθcos d md d =此值愈大,角色散愈大,表示不同波长的光被分得愈开。
* 光栅的角色散与光谱级次m 成正比,级次愈高,角色散就愈大;与光栅刻痕密度1/d 成正比,刻痕密度愈大(光栅常数d 愈小),角色散愈大。
B.线色散dl/d λ在聚焦物镜的焦平面上,单位波长差的两条谱线分开的距离称为线色散。
cos dld mf f d d d θλλθ==长焦物镜可以使不同波长的光被分得更开。
* 光栅的刻痕密度1/d 很大(光栅常数d 很小),故光栅的色散本领很大。
* 若在θ不大的位置记录光栅光谱,cos θ几乎不随θ变化,则色散是均匀的,这种光谱称为匀排光谱,对于光谱仪的波长标定来说,十分方便。
3.6.1 光栅的分光性能(2) 色分辨本领* 由于衍射,每一条谱线都具有一定宽度。
当两谱线靠得较近时,尽管主极大分开了,它们还可能因彼此部分重叠而分辨不出是两条谱线。
基于MATLAB对菲涅耳圆孔衍射的模拟
基于MATLAB对菲涅耳圆孔衍射的模拟
陈丽娜;陆霁;朱伟玲
【期刊名称】《实验室科学》
【年(卷),期】2014(017)004
【摘要】MATLAB软件具有强大的计算和可视化功能,可以较为精确地模拟光学实验的结果,使复杂、抽象的光学现象变得具体、直观.基于MATLAB编程,模拟了菲涅耳圆孔衍射的光强分布.结果表明:衍射花样由一系列明暗相间的同心圆环组成,衍射花样结构(亮暗环数目及排列顺序)由观察屏中心点所对应的半波带数k决定.k相同,则衍射亮暗环的半径由圆孔半径唯一决定.无论k为奇数或偶数,圆孔衍射花样的中心光斑半径均符合夫琅和费圆孔衍射的爱里斑半径公式.
【总页数】4页(P112-115)
【作者】陈丽娜;陆霁;朱伟玲
【作者单位】广东石油化工学院,广东茂名 525000;广东石油化工学院,广东茂名525000;广东石油化工学院,广东茂名 525000
【正文语种】中文
【中图分类】O436.1
【相关文献】
1.菲涅耳圆孔衍射计算机模拟演示的实现 [J], 游开明;陈列尊;张登玉;王友文;文双春
2.用MATLAB模拟菲涅耳直边衍射 [J], 王莉;杨会静;段芳芳
3.菲涅耳圆孔衍射的数值模拟 [J], 范体贵;吕立君
4.菲涅耳圆孔衍射的数值模拟 [J], 范体贵;吕立君
5.菲涅耳圆屏衍射的Matlab模拟 [J], 王艳
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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; %取相同点数用于矩阵运算
[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))
若为圆孔,方框内替换为以下程序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。