Matlab辅助激光原理与技术教学的实践
2018-12-31谢黎旭郝树宏莫绪涛
王 东, 谢黎旭, 郝树宏,莫绪涛
(1.安徽工业大学 数理科学与工程学院;2.安徽工业大学 管理科学与工程学院;安徽 马鞍山 243002)
激光原理与技术是光电类学生一门非常重要的专业基础课,不仅能为学生毕业后从事激光器生产以及光电技术的研究打下坚实的基础,也是学生进一步学习非线性光学、信息光学、光电检测与信号处理、光电成像原理、光通信原理等课程的基础。
激光原理需要一定的物理知识作为基础,物理概念抽象难懂,同时也需要大量复杂的数学公式来进行理论推导。要想在理解物理概念的基础上应用数学公式来解决实际问题,需要较强的理论分析和数学计算能力。激光在各领域的大量应用中,对激光器进行设计和变换激光束,数值计算是必不可少的。如果手动进行数值计算,会使学生有畏难情绪,打击学生学习的积极性,而借助一定的计算软件,不仅可以减轻学生的计算负担,还可以使物理概念更加形象化。因此,我们尝试在教学中引入Matlab软件来进行过程模拟和数值计算,以提高学生对激光原理与技术的理解和综合应用能力。
一、Matlab引入激光教学的方式
由于激光原理与技术课程学时数较少,教学内容多,任务重,因此不能在所有涉及计算分析的地方都引入Matlab软件辅助教学,只能在物理过程一环接一环、计算量比较大的地方引入Matlab,使学生从计算中解放出来,花更多的时间去理解和掌握物理概念、物理图像和分析方法。本文主要介绍在自再现模形成、激光腔稳定性分析、高斯光束传输三个教学内容中如何引入Matlab分析和计算。
(一)衍射理论分析自再现模的形成过程
激光自再现模的形成起始于菲涅尔基尔霍夫衍射积分,而该积分公式中包含了球面波、倾斜因子、面积分等多项内容。由于涉及到面元积分,要想得到比较精确的结果,即使对一次衍射,手工计算也是非常困难的。而学生学习时间有限,手动完成这种计算,基本上行不通。实际上自再现模的形成是多次衍射的结果,用衍射理论分析腔模特性,必须借助计算机进行数值计算。通过编写Matlab程序,演算具体的数据,不仅可以帮助学生提高计算速度和结果的准确度,还可帮助学生建立物理图像,加深对自再现模的形成过程的理解,从而提高课堂的教学效率和学生学习的积极性。
教学中,针对方形平行平面镜腔,在将菲涅尔基尔霍夫衍射积分分离变量后,即可进行平行平面腔腔模的迭代解法。可根据教材中的理论分析过程编写Matlab程序,实现腔模在镜面上的振幅和相位分布计算。在程序的编写中,首先可以将激光波长定义为氦氖激光波长632.8 nm或掺钕YAG激光波长1064 nm,腔镜大小和腔长可以参照教材用光波长的倍数来表示,也可以用实际激光器的几何参数来表示。其次通过linsapce函数将镜面离散化,以便计算时用求和代替积分。接着通过编写关于球面波衍射和叠加求和的两行程序完成从一个镜面上所有面元到另一个镜面上一个面元的衍射计算,再通过一个循环程序完成一个镜面衍射到另一个镜面上的场的振幅和相位的相关计算。然后用abs函数取模和max函数取最大振幅进行归一化,从而得到镜面的振幅和相位分布。最后将上述过程循环299次,就得到第300次渡越后的振幅和相位分布。用plot函数可以画出各次渡越后镜面上的振幅和相位分布,如果第300次和第301次分布曲线重合,说明达到了模式自再现。通过Matlab辅助教学,自再现模的形成过程不再复杂难懂。
(二)ABCD矩阵法分析激光腔稳定性
一般中小功率激光器都使用稳定腔,因此判断一个激光腔是否为稳定腔十分重要。对于两镜腔激光器,虽然可以利用g参数判断是否稳定,但是难以获得腔模特征,而对多镜腔激光器来说,g参数法更是无能为力,必须用ABCD矩阵法来判断。ABCD矩阵法要求选定一个参考面并写出光束在腔中环形一周后的ABCD矩阵。对于多镜腔,需要多个ABCD矩阵相乘,所得ABCD矩阵的各个元素的表达式庞大,实际用处不大。如果根据实际激光腔模型进行数值计算,手工计算的工作量也很大。实际设计激光器时,还需要对腔型的各个参数进行调节,手工计算会耗费更大的工作量。而使用Matlab编写程序,只需根据实际情况,更改各个参数的赋值,计算机马上就会给出计算结果。
教学中可首先在分析空腔稳定性时,向学生说明用Matlab编写程序计算光场在腔内环形一周的ABCD矩阵非常快捷。只需先定义好腔的各个变量并赋值,然后直接写出变量的矩阵乘积,就可以得到环形一周ABCD矩阵的4个参数值,再计算A+D就可得到是否为稳定腔。在用Q参数分析稳定球面腔模式自再现时,可以再次利用ABCD矩阵计算参考面的Q参数。这时还可以根据实际情况引入腔内激光晶体的热焦距,计算激光晶体处光斑大小。对内腔倍频激光器,可以计算两凹面镜间光束束腰位置及大小,便于在合适位置放置非线性晶体,提高倍频效率。
(三)Q参数法分析高斯光束传输
Q参数是激光原理与技术中一个很重要的参数,得到了高斯光束某个位置的Q参数,就得到了这个位置高斯光束的曲率半径和光斑半径。高斯光束在经过自由空间和复杂的透镜序列的传输后,光斑会变成多大,腰斑在什么位置,可以先根据实际各个传输过程对应的ABCD矩阵的乘积得到新的ABCD矩阵,再利用Q参数的ABCD矩阵变换公式得到。这个过程,如果进行手工计算,也是相当复杂的,而利用Matlab只需编写几行代码就能很快得出计算结果。
教学中可以在高斯光束的透镜成像、准直和聚焦中,结合具体事例来进行计算和分析。只要学生理解了相关公式和分析方法,就可以写出对应的Matlab程序。选定入射高斯光束的腰斑大小和到透镜的距离以及透镜焦距,就可以方便地得到光束经过透镜后在任意位置的光斑大小,也容易计算腰斑的具体位置。通过改变这些参数的取值,可以让学生对高斯光束的透镜成像、准直和聚焦的物理过程和技术有更深刻的理解,还可以使学生做到“心中有数”。
(四)复杂公式的计算
在激光原理与技术的教学内容中,还有很多内容涉及到的公式比较复杂,如果手动计算,费时费力,还容易出错,学生很容易产生畏难情绪,从而影响学习积极性。而借助Matlab工具可以使学生摆脱复杂的运算,将精力集中于物理概念的理解和计算方法的掌握。在平时的作业中,也可以要求学生利用Matlab来完成一些力所能及的任务。
二、Matlab辅助教学的教学效果
将Matlab工具引入到激光原理与技术的课堂后,经过多年的教学实践,取得了良好的教学效果,主要表现为以下几个方面:
(一)提高了课堂教学效率
学生在大二的时候就学习了C语言和Matlab软件等课程,基本学会了代码编写和掌握了Matlab软件的计算原理和使用方法,因此讲授激光知识时,无需花费课时特别介绍Matlab软件,可直接应用Matlab对物理过程进行详细的计算和分析。Matlab辅助激光教学后,使复杂的理论形象化,激发了学生的学习兴趣,提高了学生在课堂上的注意力,上课进度明显加快,在教学内容没有删减的情况下,激光原理与技术的授课学时由最初的64学时也缩减为48学时,大大提高了课堂教学的效率。
(二)为后续课程做了良好铺垫
继激光原理与技术课程后,在激光电子课程设计、毕业设计、生产实习等课程中,学生可以根据需要很方便地选做与激光相关的课题。比如,在讲授平行平面腔自再现模的内容时,我们只是根据教材参数简单地举了一个例子,但是在学生做毕业设计课题时,可以针对实际情况,对不同的镜片大小和腔长情况进行仿真研究,还可将高斯模作为初始波形,减少迭代次数。可用Fox-Li数值迭代法计算方形镜球面腔的自再现模和衍射损耗,用数值矩阵法模拟圆形镜激光腔的模式和衍射损耗。还可基于ABCD矩阵法完成激光腔模计算程序,设计多种激光器三镜环形腔、四境环形腔。关于激光传输方面的选题,可结合Zemax完成激光扩束镜的设计,高斯光束的单缝、圆孔衍射理论分析以及激光片光生成技术等。实践证明在激光原理与技术的课程学习中,学生进一步强化了Matlab工具的应用能力,为后续的信息光学等其他专业课应用Matlab打下良好的基础。因此在激光原理与技术课程中引入Matlab,起到了承前启后的作用,学生学习积极性大大提高,学习效果也明显提高。
(三)加强了学生对知识的掌握和应用,提高了学生的创新能力
由于教材里的理论推导比较抽象,实例分析也比较少,加上学生抽象思维能力不强,且本科生基本没有激光器调节和设计的实践经验,因此掌握课本内容比较困难。在课堂中引入Matlab实例分析后,可以让学生对激光器及其相关理论的认识更加形象化。在课堂教学后,其中一部分作业就是要求学生对所讲实例程序进行逐行注释,并尽可能简化、精炼。对于激光原理与技术这类比较抽象的课程, 其课后习题与实际问题紧密结合, 难度系数远比其他基础课大, 学生必须认真琢磨,交流讨论存在的问题,教师也需鼓励学生主动使用Matlab。正是这些基本的训练和互动调动了学生自主学习的积极性,增强了学生分析问题、解决问题的能力,提高了学生的创新能力,为日后走上工作岗位奠定了良好基础。
三、结语
Matlab软件的使用大大激发了学生的学习热情,培养了学生分析问题和解决问题的能力,开发了学生的创造力,为学生走向未来的工作岗位奠定了良好的基础。