matlab仿真光束的传输特性

合集下载

高等光学仿真matlab第六章高功率光纤激光器版pdf

高等光学仿真matlab第六章高功率光纤激光器版pdf

高等光学仿真matlab第六章高功率光纤激光器版pdf高功率光纤激光器是一种基于激光光源的新型发光器件,具有高功率、高光束质量、高光谱均匀度等特点,广泛应用于激光加工、激光通信、激光雷达等领域。

本文将介绍如何使用Matlab进行高等光学仿真,从而对高功率光纤激光器进行优化设计。

1.光学仿真原理光学仿真是利用计算机模拟光的传播过程,通过建立光学系统的数学模型,计算光场的传输、衍射、反射等现象,从而分析和优化系统性能。

Matlab作为一种强大的科学计算软件,提供了丰富的工具和函数,可用于光学系统的建模和仿真。

2.建立光纤激光器模型在Matlab中,可以利用光波传输法建立高功率光纤激光器的数学模型,包括光波传输方程、折射率方程、损耗方程等。

通过优化这些方程中的参数,可以设计出性能优越的光纤激光器。

3.光纤激光器的光场分析利用Matlab的光场传播函数,可以对光纤激光器的光场进行分析,包括光束的聚焦度、光谱特性、空间分布等。

通过观察这些参数的变化,可以了解光纤激光器在不同工作条件下的性能表现。

4.优化设计光纤激光器在光学仿真过程中,可以通过调节光纤激光器的结构参数、工作条件等,实现对光纤激光器性能的优化设计。

例如,通过改变激光器的长度、折射率、掺杂浓度等参数,可以提高光纤激光器的输出功率、波长稳定性等。

5.应用与展望高功率光纤激光器具有广泛的应用前景,可以应用于激光打标、激光切割、激光焊接等领域。

随着光纤激光器技术的不断进步,相信其在工业制造、医疗美容、通信等领域中将有更加广泛的应用。

综上所述,利用Matlab进行高等光学仿真,可以实现对高功率光纤激光器的精确建模和优化设计,为其在实际应用中发挥更大的作用提供了有力支持。

希望本文能够对读者在光学仿真领域的研究和应用有所启发,推动光学技术的不断发展和创新。

光纤光学matlab仿真

光纤光学matlab仿真

在MATLAB中进行光纤光学仿真可以通过数值模拟和解方程组来模拟光的传播、衍射、衰减等光学现象。

以下是一个简单的光纤光学仿真的一般步骤:
1. 建立光纤模型:
首先,确定光纤的基本参数,例如折射率、直径、长度等。

这些参数将决定光在光纤中的传播特性。

2. 定义入射光源:
在仿真中,定义光源的参数,例如波长、功率、入射角等。

这可以通过定义入射光的波函数来实现。

3. 求解传播方程:
光在光纤中的传播可以通过解相应的偏微分方程(PDE)来模拟。

根据光的波动性质,一般可以使用薛定谔方程或亥姆霍兹方程来描述。

4. 数值求解:
使用MATLAB的数值求解工具箱,例如pdepe函数,对求解的光学方程进行数值模拟。

5. 绘制仿真结果:
使用MATLAB的绘图工具,例如plot函数,可视化仿真结果。

6. 考虑衍射和衰减:
根据光纤的特性,考虑衍射和衰减等现象,更新光学方程。

7. 优化和分析:
通过调整光纤参数,观察光的传播特性,进行性能分析和优化。

注意事项:
•要考虑光在光纤中的多模式传播,可以引入模式耦合的描述。

•对于三维传播,可以将方程扩展到三维,并使用相应的求解方法。

•使用合适的数值方法,例如有限元法、有限差分法等。

以上是一个简单的光纤光学仿真的概要步骤。

具体仿真的复杂性取决于问题的具体情况和所需的精度。

MATLAB提供了强大的工具箱,包括数值求解、绘图、优化等,可用于实现高度复杂的光学仿真。

matlab 光纤sbs仿真程序

matlab 光纤sbs仿真程序

matlab 光纤sbs仿真程序光纤SBS(Stimulated Brillouin Scattering,受激布里渊散射)是一种重要的非线性光学效应,在光通信系统中具有广泛的应用。

为了更好地理解和研究光纤SBS的特性和影响因素,我们可以使用MATLAB进行光纤SBS的仿真。

在进行光纤SBS仿真之前,我们首先需要了解光纤SBS的基本原理。

光纤SBS是一种非线性光学过程,当一束高功率的激光光束通过光纤时,会与光纤中的声子模式发生相互作用,从而产生新的光学波长。

这种相互作用过程中,激光光束中的光子会被散射成为新的频率和波矢的声子,从而产生散射光。

光纤SBS的效应会导致光信号的失真和损耗,因此在光通信系统设计中需要进行充分的考虑。

在MATLAB中进行光纤SBS仿真可以通过建立合适的数学模型和参数设置来实现。

首先,我们需要定义光纤的基本参数,如长度、折射率、光纤的非线性系数等。

然后,我们可以通过输入光信号的频率、功率和波形等信息来模拟光纤中的光场传输过程。

在仿真过程中,我们可以考虑光纤的非线性效应和声子模式的影响,从而得到光纤中的散射光信号。

为了更好地理解光纤SBS的影响,我们可以通过改变光纤的参数和输入光信号的特性来进行不同情况下的仿真实验。

例如,我们可以改变光纤的长度、直径和折射率等参数,观察散射光的频率和强度的变化。

此外,我们还可以改变输入光信号的频率、功率和波形等特性,研究它们对光纤SBS效应的影响。

通过光纤SBS的仿真实验,我们可以得到光纤SBS效应的一些重要特性和参数。

例如,我们可以得到光纤SBS的阈值功率和阈值频率,即当输入光功率或频率超过一定的阈值时,光纤SBS效应会变得明显。

此外,我们还可以得到光纤SBS的增益谱和散射光的功率谱密度等信息,从而更好地了解光纤SBS的特性和应用。

在进行光纤SBS仿真时,我们还可以结合其他光纤效应和系统参数进行综合分析。

例如,我们可以考虑光纤的色散效应、非线性效应和衰减等因素,从而研究它们与光纤SBS效应的相互作用。

matlab仿真在光学原理中的应用

matlab仿真在光学原理中的应用

MATLAB仿真在光学原理中的应用1. 简介光学是研究光的产生、传播、照明及检测等现象和规律的科学,它在物理学、医学、通信等领域有着重要的应用。

随着计算机科学和数值计算的发展,MATLAB作为一种强大的科学计算软件,被广泛应用于光学原理的仿真和分析中,为光学研究提供了有力的工具和方法。

本文将介绍MATLAB仿真在光学原理中的应用,并通过列举几个典型例子来说明MATLAB在解决光学问题上的优势。

2. 光的传播仿真光的传播是光学研究中的重要内容,MATLAB可以通过数值模拟的方法来进行光的传播仿真。

以下是一些常见的光传播仿真的应用:•光线传播仿真:通过计算光线在不同介质中的折射、反射和衍射等规律,可以模拟光在复杂光学系统中的传播过程。

•光束传输仿真:通过建立传输矩阵或使用波前传输函数等方法,可以模拟光束在光学元件中的传输过程,如透镜、棱镜等。

•光纤传输仿真:通过数值模拟光在光纤中的传播过程,可以分析光纤的传输损耗、模式耦合和色散等问题。

MATLAB提供了许多函数和工具箱,如光学工具箱、光纤工具箱等,可以方便地进行光传播仿真和分析。

3. 光学成像仿真光学成像是光学研究中的重要应用之一,MATLAB可以用于模拟和分析光学成像过程。

以下是一些常见的光学成像仿真的应用:•几何光学成像仿真:根据几何光学理论,可以通过模拟光线的传播和聚焦过程来分析光学成像的特性,如像差、焦距和倍率等。

•衍射光学成像仿真:通过衍射理论和数值计算,可以模拟光的衍射和干涉效应对光学成像的影响,如衍射限制和分辨率等。

•光学投影仿真:通过模拟光束、透镜和光阑等光学元件的组合和调节,可以分析光学投影系统的成像质量和变换特性。

MATLAB提供了丰富的函数和工具箱,如图像处理工具箱、计算光学工具箱等,可以方便地进行光学成像仿真和分析。

4. 激光光学仿真激光是光学研究中的一个重要分支,MATLAB可以用于模拟和分析激光的特性和应用。

以下是一些常见的激光光学仿真的应用:•激光器仿真:通过建立激光器的数学模型和模拟激光的发射过程,可以分析激光器的输出特性和光束质量等。

光纤模式的有效折射率与波长关系仿真 matlab

光纤模式的有效折射率与波长关系仿真 matlab

光纤模式的有效折射率与波长关系仿真 matlab1. 研究背景光纤作为一种重要的光学器件,广泛应用于通信、传感器等领域。

光纤的传输特性与其折射率与波长之间的关系密切相关。

研究光纤模式的有效折射率与波长之间的关系对于深入理解光纤的特性具有重要意义。

2. 光纤模式的有效折射率光纤的有效折射率是指光在光纤中传播时所受到的等效折射率,它与光纤的结构、材料等因素息息相关。

光纤模式的有效折射率随着波长的变化而变化,这种变化对于光纤的性能具有重要影响。

3. 波长与折射率的关系波长与折射率之间存在一定的函数关系,一般来说,波长较短的光在光纤中传播时受到的折射率较大,而波长较长的光则受到的折射率较小。

研究波长与折射率之间的关系可以帮助我们更好地理解光纤的传输特性。

4. Matlab仿真Matlab作为一种强大的数学建模工具,可以通过编写程序来对光纤模式的有效折射率与波长关系进行仿真。

利用Matlab的光学工具箱可以方便地构建光纤模型,并对其进行波长与折射率的仿真计算。

5. 结论与展望通过Matlab仿真可以得到光纤模式的有效折射率与波长之间的关系,并且可以进一步研究其对光纤传输特性的影响。

未来,可以通过进一步的实验验证来验证仿真结果,并且可以结合其他因素对光纤的性能进行综合研究,为光纤在通信、传感器等领域的应用提供更加可靠的理论基础。

通过以上内容的介绍,我们可以了解到光纤模式的有效折射率与波长关系仿真在Matlab中的重要性,并且可以对其进行一定的探讨和研究。

也可以看出通过Matlab仿真可以得到丰富的研究成果,对光纤的实际应用具有一定的指导意义。

希望能够通过对光纤模式的有效折射率与波长关系的研究,推动光纤技术的发展,为其在不同领域的应用提供更加有力的支持。

光纤技术在通信、传感器等领域的应用已经成为现代社会中不可或缺的一部分。

随着科技的不断进步,人们对光纤传输特性的要求也越来越高,因此研究光纤模式的有效折射率与波长关系仿真在Matlab中的重要性也日益凸显。

基于matlab高斯光束经透射型体光栅后的光束传输特性分析(附源程序)

基于matlab高斯光束经透射型体光栅后的光束传输特性分析(附源程序)

目录1 基本原理 (1)1.1耦合波理论 (1)1.2高斯光波的基本理论 (9)2 建立模型描述 (10)3仿真结果及分析 (10)3.1角度选择性的模拟 (10)3.2波长选择性的模拟 (13)3.3单色发散光束经透射型布拉格体光栅的特性 (15)3.4多色平面波经透射型布拉格体光栅的特性 (17)4 调试过程及结论 (18)5 心得体会 (20)6 思考题 (20)7 参考文献 (20)8 附录 (21)高斯光束经透射型体光栅后的光束传输特性分析1 基本原理1.1耦合波理论耦合波理论分析方法基于厚全息光栅产生的布拉格衍射光。

当入射波被削弱且产生强衍射效率时,耦合波理论分析方法适用耦合波理论分析方法适用于透射光栅。

1.1.1耦合波理论研究的假设条件及模型耦合波理论研究的假设条件:(1) 单色波入射体布拉格光栅;(2) 入射波以布拉格角度或近布拉格角度入射;(3)入射波垂直偏振与入射平面;(4)在体光栅中只有两个光波:入射光波 R 和衍射光波 S;(5)仅有入射光波 R 和衍射光波 S 遵守布拉格条件,其余的衍射能级违背布拉格条件,可被忽略;(6)其余的衍射能级仅对入射光波 R 和衍射光波 S 的能量交换有微小影响;(7)将耦合波理论限定于厚布拉格光栅中;图1为用于耦合波理论分析的布拉格光栅模型。

z 轴垂直于介质平面,x 轴在介质平面内,平行于介质边界,y 轴垂直于纸面。

边界面垂直于入射面,与介质边界成Φ角。

光栅矢量K垂直于边界平面,其大小为2/=Λ,Λ为光栅周期,θ为入射角。

Kπ图1布拉格光栅模型R —入射波,S —信号波,Φ—光栅的倾斜角,0θ—再现光满足布拉格条件时的入射角(与z 轴所夹的角),K —光栅矢量的大学,d —光栅的厚度,r θ和s θ—再现光波和衍射光波与z 轴所夹的角度,Λ—光栅周期。

光波在光栅中的传播由标量波动方程描述:220E k E ∇+= (1)公式(2)中(),E xz 是y 方向的电磁波的复振幅,假设为与y 无关,其角频率为ω。

高斯光束在晶体中的传输研究Matlab仿真

高斯光束在晶体中的传输研究Matlab仿真

高斯光束在晶体中的传输研究+Matlab仿真本课题重点要解决的问题是研究高斯光束通过晶体的传输特性,得到光束的传输和变换特性,并进行相应的理论仿真,为其在实践中的应用提供理论基础。

:矢量光束传输方法(VBPM)。

该方法基于矢量波动方程,采用适当的傍轴近似,在不考虑反射场的情况下很好的描述了光在各向异性介质中的传输问题。

傍轴矢量理论近年来Ciattoni A等人基于平面波角谱表示方法建立一种傍轴传输的矢量理论,并用电场矢量描述了光在单轴各向异性晶体中的传输方程,解决了光束在单轴各向异性晶体中传输的边值问题[8-14]。

实际上, Ciattoni等人提出的这一方法其基本物理思想是:光在单轴各向异性晶体中的场分布可表示为寻常光(o光)和非常光(e光)的场分布的叠加,而o光和e光在单轴各向异性晶体中的传输分别类似于光在折射率分别 (o 光的折射率)和 ( 为e光的折射率)的各向同性介质中的独立传输。

本章重点介绍本论文中将主要应用的傍轴矢量理论方法[15]。

研究发现,激光光束在非均匀介质中传输时,出现了在均匀材料介质中所不具有的光学性能。

在研究中人们发现,梯度折射率介质在材料制备、器件制造等方面具有很独特的应用。

因此,系统地研究高斯光束在晶体中的传播成为了重要的研究课题。

Dajun Liu等人提出的平顶高斯光束在单轴晶体中的传播中给出了典型的计算算例[16-23]。

对于本研究中所要进行的公式推导,具有指导意义,在激光在晶体中的传输发展中,不少学者对于其问题进行了大量的研究及实验,取得了不同的结论,对以后的发展奠定了基础与根据。

1.3 研究方法本文以各向异性单轴晶体光轴垂直方向光束的傍轴矢量传播理论为基础,推导出了各向异性单轴晶体中垂直于光轴方向上多种高斯光束传输的解析表达式,并通过对数值的分析与计算,研究了多种高斯光束在单轴晶体中光轴垂直方向上的传输特性。

1.4 论文內容概述本论文各章节安排如下:第一章,绪论。

MATLAB平台上的光纤通信系统性能仿真研究

MATLAB平台上的光纤通信系统性能仿真研究

MATLAB平台上的光纤通信系统性能仿真研究光纤通信是现代通信系统中非常重要的一部分,也是实现高速和远距离数据传输的关键技术之一。

光纤通信系统性能仿真研究对于设计和优化光纤通信系统具有重要意义。

MATLAB平台作为一个功能强大的科学与工程计算软件,被广泛应用于光纤通信系统性能仿真研究中。

本文将围绕MATLAB平台上的光纤通信系统性能仿真研究展开探讨。

首先,光纤通信系统的性能参数是衡量其性能好坏的重要指标。

光纤通信系统的性能参数包括比特误码率(BER)、信号失真、信道容量等。

在MATLAB平台上进行光纤通信系统性能仿真研究时,可以利用MATLAB提供的信号处理工具箱和通信工具箱来进行相关仿真实验。

通过设定合适的仿真参数和算法,可以准确地计算出光纤通信系统的性能参数,进而评估系统的性能。

其次,光纤通信系统中的关键技术是调制与解调技术。

调制与解调技术能够将电信号转换为光信号并进行传输,然后再将光信号转换为电信号进行解调。

而在MATLAB平台上进行光纤通信系统性能仿真研究时,可以利用MATLAB提供的调制与解调函数来实现相关仿真实验。

例如,可以利用MATLAB的ammod和amdemod函数来实现调幅和解调幅的仿真实验,通过计算得到的误码率和信号失真等性能参数来评估系统的性能。

此外,在光纤通信系统中,传输模式的选择对系统性能也有很大的影响。

传输模式包括单模光纤传输和多模光纤传输两种。

单模光纤传输具有带宽大、传输距离远的特点,多模光纤传输则具有带宽窄、传输距离短的特点。

在MATLAB平台上进行光纤通信系统性能仿真研究时,可以通过设定合适的仿真参数和算法来模拟不同的传输模式,并评估其对系统性能的影响。

此外,光纤通信系统中还存在着光纤衰减和色散等信号损失问题。

光纤衰减是指光信号在光纤中传输过程中逐渐减弱的现象,而色散是指不同频率的光信号在光纤中传输过程中到达终点的时间不同。

这些信号损失问题会影响光纤通信系统的传输质量和可靠性。

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

一、课程设计题目:用matlab 仿真光束的传输特性。

二、任务和要求用matlab 仿真光束通过光学元件的变换。

① 设透镜材料为k9玻璃,对1064nm 波长的折射率为1.5062,镜片中心厚度为3mm ,凸面曲率半径,设为100mm ,初始光线距离透镜平面20mm 。

用matlab 仿真近轴光线(至少10条)经过平凸透镜的焦距,与理论焦距值进行对比,得出误差大小。

② 已知透镜的结构参数为101=r ,0.11=n ,51=d ,5163.121=='n n (K9玻璃),502-=r ,0.12='n ,物点A 距第一面顶点的距离为100,由A 点计算三条沿光轴夹角分别为10、20、30的光线的成像。

试用Matlab 对以上三条光线光路和近轴光线光路进行仿真,并得出实际光线的球差大小。

③ 设半径为1mm 的平面波经凸面曲率半径为25mm ,中心厚度3mm 的平凸透镜。

用matlab 仿真平面波在透镜几何焦平面上的聚焦光斑强度分布,计算光斑半径。

并与理论光斑半径值进行对比,得出误差大小。

(方法:采用波动理论,利用基尔霍夫—菲涅尔衍射积分公式。

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

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

)3、用MATLAB仿真厄米—高斯光束在真空中的传输过程。

(包括三维强度分布和平面的灰度图。

)4、(补充题)查找文献,掌握各类空心光束的表达式,采用费更斯-菲涅尔原理推导各类空心光束在真空中传输的光强表达式。

用matlab对不同传输距离处的光强进行仿真。

三、理论推导部分将坐标原点选在透镜中心处,θ1=arcsin(y1/r),由n1*sinθ1=n2*sin θ2可得出θ2=arcsin(n1/n2)*(y1/r),由几何关系可得到θ=θ2-θ1,则出射光线的斜率k=tan(θ2-θ1),当入射直线y=y1时,x1=d-(r -)2^1r ),并设出射直线为y=k*x+b;由直线经过(x1,y1)即2^(y可求出b值,从而就可以求出射直线。

由单透镜焦点计算公式1/f=-(n-1)*(1/r1-1/r2)可求得f=193.6858。

利用近轴光学公式i1=(l1-r1)*u1/r1,i11=n1*i/n11,u11=u1+i1-i11l11=r1+r1*i11/u11和转面公式u2=u11,l2=l11-d1可以求得u11、u22、l22、h2等。

入射光线的夹角为u1,设入射光线为y1=k1*x1+b1其中的斜率k1=-u1又由于入射光线经过经过(-100,0)就可以求出b1。

由h1=l1*u1即为y1,当y1为定值时就可以得到第一个横坐标x0,再利用最后的出射光线公式y3=k3*x3+b3,k3=-u22,又因为最终出射经过(d+l22,0)可求出b3,利用转面公式h2=h1-d*u11,即为y3可求出第二个横坐标x00。

再求在透镜中的直线斜率k2=((h2-h1)/(x00-x0)),y2=k2*x2+b2经过(x0,h1)即可求得b2值,从而即可求得三条直线。

实际光束求法同理。

利用菲涅耳近似公式11])2^122)^1(2)^1(1[1ex p()1,1(1),(dy dx z y y x x ikz y x E z i y x E ⎰⎰-+-+-=λ 求衍射面上的光强要对孔径上的点求积分可以转换成对其x1,y1的微分求和,其中公式中的z1=f 。

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

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

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

Ф=kaθ(3)夫朗和费单缝衍射对于前面讨论的夫朗和费矩形孔衍射,如果矩形的一个方向的尺寸比另一个方向大得多,则该矩形孔衍射就变成单缝衍射(如图),这时沿y方向的衍射效应不明显,只在x方向有亮暗变化的衍射图样。

实验中通过利用θ=x/f进行求解(4)夫朗和费多缝衍射夫朗和费多缝衍射装置如图,其每条狭缝均平行于y1方向,沿x1方向的缝宽为a,相邻狭缝的间距为d,在研究多缝衍射时,由于后透镜的存在使衍射屏上每个单缝的衍射条纹位置与位置无关。

因此,用平行光照射多缝时,其每一个单缝都要产生自己的衍射,形成各自一套衍射条纹。

当每个单缝等宽时,各套衍射条纹在透镜焦平面上完全重叠,其总光强分布为它们的干涉叠加。

四、Matlab仿真部分clear allr=100;n1=1.5163;n2=1;%透镜的曲率半径为100mm,透镜的折射率n1=1.5,空气的折射率n2=1d=3;%x=77:0.1:320;figure(1)for n=-5:5y1=0.1*n;%hold on;%plot(x1,y1);a1=asin(y1/r);%入射角a2=asin(n1/n2*(y1/r));%折射角a=a2-a1;k=tan(a);%出射光线的斜率x1=sqrt(r^2-y1^2);x2=x1-r+d;b=y1+k*x2;%出射光线经过(x2,y1)x=-20:0.01:x2;%零坐标选在透镜中心,入射光线距透镜20mm,故x=-20hold on.plot(x,y1);%平行光束x3=x2:0.01:300;y=-k*x3+b;%出射光线h old onplot(x3,y);Endclear all%透镜的结构参数r1=10;r2=-50;l1=-100;L1=-100;n1=1.0;d1=5;n11=1.563n2=1.563;n22=1.0;figure(1)for n=-3:-1%沿光轴分别为1、2、3度的光线进行入射%近轴光学成像公式第一个面. u1=n;i1=(l1-r1)*u1/r1i11=n1*i/n11;u11=u1+i1-i11;l11=r1+r1*i11/u11;%转面公式u2=u11;l2=l11-d1;%近轴光学成像公式第二个面i2=(l2-r2)*u2/r2;i22= n2*i2/n22;u22=u2+i2-i22;l22=r2+r2*i22/u22;%入射光线与第一个透镜交点的纵坐标,坐标原点选在第一个透镜的顶点处h1=l1*(u1*pi/180);k1=-u1*pi/180;%入射光线的斜率b1=100*k1;%因为入射光线经过(-100,0)点x0=(h1-b1)/k1;%入射光线与第一个透镜交点的横坐标x1=-100:0.01:x0;y1=k1*x1+b1;hold onplot(x1,y1);%输出入射光线k3=-u22*pi/180;%第二次折射后出射光线的斜率b3=-k3*(d1+l22);%因为第二次折射后出射光线经过(d1+l22,0)点h2=h1-d1*(u11*pi/180);%第一次折射后入射到第二个透镜的纵坐标x00=(h2-b3)/k3;%第一次折射后入射到第二个透镜的横坐标k2=(h2-h1)/(x00-x0);%第一次折射后光线的斜率b2=h1-k2*x0;%因为第一次折射后光线经过(x0,h1)点x2=x0:0.01:x00;y2=k2*x2+b2;hold onplot(x2,y2);%输出第一次折射在两个透镜中的光线x3=x00:0.01:30;%选在30是为了将输出图形看得更清晰些y3=k3*x3+b3;hold onplot(x3,y3);%输出经过第二个透镜后的输出光线%实际光路U1=n*pi/180;I1=asin((L1-r1)*sin(U1)/r1);I11=asin(n1*sin(I1)/n11);U11=U1+I1-I11;L11=r1+r1*sin(I11)/sin(U11);%转面公式U2=U11;L2=L11-d1;%实际光学成像公式第二个面I2=asin((L2-r2)*sin(U2)/r2);I22=asin(n2*sin(I2)/n22);U22=U2+I2-I22;L22=r2+r2*sin(I22)/sin(U22);%入射光线与第一个透镜交点的纵坐标,坐标原点选在第一个透镜的顶点处h3=L1*tan(U1);k4=-tan(U1);%入射光线的斜率b4=100*k4;%因为入射光线经过(-100,0)点x01=(h3-b4)/k4;%入射光线与第一个透镜交点的横坐标x4=-100:0.01:x01;y4=k4*x4+b4;hold onplot(x4,y4,'r');%输出入射光线k6=-tan(U22);b6=-k6*(d1+L22);%因为第二次折射后出射光线经过(d1+L22,0)点h4=h3-d1*tan(U11);%第一次折射后入射到第二个透镜的纵坐标x02=(h4-b6)/k6;%第一次折射后入射到第二个透镜的横坐标k5=(h4-h3)/(x02-x01);%第一次折射后光线的斜率b5=h4-k5*x02;%因为第一次折射后光线经过(x02,h4)点x5=x01:0.01:x02y5=k5*x5+b5;hold onplot(x5,y5,'r');%输出第一次折射在两个透镜中的光线x6=x02:0.01:30;%选在30是为了将输出图形看得更清晰些x6=x02:0.01:30;y6=k6*x6+b6;hold onplot(x6,y6,'r');%输出经过第二个透镜后的输出光线%球差m=(L22+d1)-(l22+d1);endclear alln=1.5062;%K9玻璃的折射率d=3;%透镜的中心厚度R=25;%透镜凸面曲率半径f=R/(n-1);%透镜焦距R0=1;%入射光束半径lambda=1.064e-3;%波长k=2*pi/lambda;phy=lambda*0.61/R0;%角半径w0=sqrt(f*lambda/pi);%实际光斑半径data=w0-f*phy; %误差z=f;rmax=3*f*phy;%艾利斑半径r=linspace(0,rmax,100);%产生从0到rmax之间的100点行矢量将衍射半径100等分eta=linspace(0,2*pi,100);%将0到2*pi100等分[rho,theta]=meshgrid(r,eta);%生成绘制3D图形所需的网格数据[x,y]=pol2cart(theta,rho);%衍射斑某点的坐标转换极坐标到直角坐标r0=linspace(0,R0,100);%将入射光束半径100等分eta0=linspace(0,2*pi,100);[rho0,theta0]=meshgrid(r0,eta0);[x0,y0]=pol2cart(theta0,rho0);for dx=1:100%都是为了建立网格for dy=1:100Ep=-i/(lambda*z)*exp(i*k*z)*exp(i*k*((x-x0(dx,dy)).^2+(y-y0(d x,dy)).^2)/(2*z));E2(dx,dy)=sum(Ep(:));%积分公式的求和表达endendIe=conj(E2).*E2;%光强表达式figure(1);surf(x,y,Ie);figure(2)plot(x(50,:),Ie(50,:));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;sinth2=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.*angl eB.^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=1ym=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))(3)夫朗和费单缝衍射clear alllam=500e-9;xm=3*lam*f/a;nx=50;x=linspace(-xm,xm,nx);ny=50;y=linspace(0,a,ny);for i=1:nysinphi=x/f;%角af=(pi*a*sin(sinphi))/lam;I(i,:)=5*(sin(af)./af).^2; endN=255;%确定灰度等级Br=(I/max(I(1,:)))*N; subplot(1,2,1)image(x,y,Br);colormap(gray(N));%颜色subplot(1,2,2)plot(x,I(1,:));(4)夫朗和费多缝衍射clear all;lamda=500e-9; %波长N=2; %缝数,可以随意更改变换a=2e-4;f=5;d=5*a;ym=2*lamda*f/a;%选择坐标范围xs=ym;n=1001;ys=linspace(-ym,ym,n);for i=1:nsinphi=ys(i)/f;alpha=pi*a*sinphi/lamda;fai=2*pi*d*sinphi/lamda;I1=(sin(alpha)./alpha).^2;%单缝衍射因子B(i,:)=I1*(sin(N*fai/2)./sin(fai/2)).^2;%多缝衍射光强的计算公式B1=B/max(B);%归一化光强endNC=256; %确定灰度的等级Br=(B/max(B))*NC;subplot(1,2,1)image(xs,ys,Br);colormap(gray(NC)); %色调处理subplot(1,2,2)plot(B1,ys,'k');五、画出仿真图形①②2.(1)夫朗和费矩形孔(2)夫朗和费圆孔衍射(3)夫朗和费单缝衍射(4)夫朗和费多缝衍射六、仿真过程中发生的问题及解决的方法1.在用matlab写程序时一定要保证是在英文状态下输入标点符号的不然程序运行时会报错。

相关文档
最新文档