光学喵-光学课堂 首页 资讯 查看内容

Zemax仿真激光的一些技巧

2021-12-14 17:56| 发布者:optkt| 查看:6037| 评论:0|原作者: 年光

摘要:本文介绍了在Zemax软件中进行激光仿真的技巧,包括使用几何光线和近轴高斯光等物理光学算法,以及切趾等优化方法。详细介绍了如何通过序列模式和非序列模式来处理远场的激光行为,以及如何对半导体激光器的快慢轴进行建模。

Zemax是知名的光线追迹软件,也有它的物理光学模块POP,在激光仿真上有很多应用场景和对应的技巧。本文简单总结一下。


一、用几何光线仿真激光

    1.1 几何光线的适用范围

首先我们来规范一下术语,此处的“激光”指的是经过谐振腔后发出的光束,具有良好的相干性。当M2因子小于1.3一般我们认为光束是“单模”的,也就是接近于高斯光。在本文中我们讨论的对象是单模光束。(此处,如果读者对于“M2因子”、“单模”这些概念不熟悉,那么请去看激光原理教科书或者问百度。也欢迎阅读我之前的文章:《当我们谈论衍射的时候我们在谈论什么?当我们谈论高斯光的时候我们在谈论什么?》)

单模/高斯光束,在远场以固定的发散角散开(橙色区域),在束腰附近接近于平行光(黄色区域)。因此,在这两个区域,都可以用几何光来近似描述它的行为。当然,更建议只在远场时使用几何光来近似,因为几何光线天然具有无限延伸性,这和物理光束远场行为一致(甚至单模光这个条件都可以放松,非单模光的远场也是近似以固定角度发散),但在束腰附近用几何光近似的话,一不小心就容易超出了适用范围。

总结:可以用具有一定发散角的几何光来描述激光的远场行为。

 

1.2  序列模式中用几何光模拟远场激光,有三个技术点:

    1.2.1:不要用视场角来表征发散角!请只用一个视场。

很多工程师喜欢设置一个视场角来模拟激光的远场发散角,而我反对这种做法。推荐只用轴上视场,但通过有限远共轭或者用一个带有负光焦度的理想透镜发散光线,来获取对远场发散角的模拟。

这一点的原因显而易见:各个视场的光线只有在光瞳位置重合,并在足够远处,各个视场点一定分开。

对于一束高斯光而言,在足够远的远场,都可以认为它来自于一个点光源。如果你已经使用了有限远共轭来获取轴上市场的发散角,那么我认为也没有必要再去以物高为视场设置N个视场点来表征束腰了。对于远场行为,光束的角分布的重要性远远大于空间分布。而且不够好的物高视场点采样分布,反而会让光束中的能量分布失真。

总结:只用一个视场。


    1.2.2:用切趾(apodization)来实现光强分布的改变

切趾可以改变光束的能量分布,使得中间能量更强,边缘能量更弱。切趾a-pod-ization这个词literally就是切掉脚趾的意思。而需要明确的是,它切掉的是强度分布傅里叶变换后(比如PSF)的旁瓣,也就是“脚趾”。

在采用切趾后,再追迹非常多的光线,比如使用Footprint或Geometric Image Analysis功能,就可以方便地看到光强中间强周围弱的情形。

具体的高斯切趾或者其他切趾的数学描述,就直接看用户手册吧。

 

    1.2.3:如果是半导体激光器,对快慢轴的处理

对快慢轴也就是X和Y方向的发散角不同的情况的建模,建议使用渐晕系数VCX、VCY来对X或Y方向拉伸或压缩(方法一),也可以用Paraxial XY来获取XY方向不同的理想透镜发散角(方法二)。

方法一在老文《Zemax中渐晕系数的妙用》里面已经讲过,欢迎考古。

方法二有了上文的铺垫,无非是把Paraxial面换成Paraxial XY面来用,应该不难拓展联想。

但是,半导体激光器除了快慢轴发散角不同之外,还有一个astigmatism,即XY方向上的束腰位置不同,前后有差!这个问题,在几何光线里是很难解决了的,但也是arguably不需要解决的,因为几何光线近似时我们本来就只考虑足够远场的光束行为,认为一切靠远场发散角来描述就够了。如果一定需要解决,那么可以采用POP,可以分别设置XY方向上的束腰位置。

 

    1.3  非序列模式中用几何光模拟远场激光

以上说的都是序列模式的几何光线追迹,Zemax的非序列模式也是纯几何光,当然也有类似的做法。请记住,非序列模式是几何光,只能处理远场情况!

还是在老文《当我们谈论衍射的时候我们在谈论什么?当我们谈论高斯光的时候我们在谈论什么?》中有过详细论述,非序列里的Source Gaussian高斯光源,它就是假设光线来自于一个点光源的,这与1.2.1里的论点是完全自洽的。

 

二、物理光学算法:近轴高斯与POP

    2.1用近轴高斯光模拟激光

Zemax和其他很多光学软件一样,都提供了近轴高斯算法,它不考虑像差,纯粹是代个公式来计算,但它却是个不折不扣的物理光学算法,因为高斯光考虑了超出几何射线之外的光束传播行为。

近轴高斯光对于细激光束在透镜中的传播往往是足够准确的,只有当光束累计到足够多的相位误差之后,它的发散行为才会显著区别于近轴高斯。

Zemax又提供了一个叫Skew Gaussian Beam的工具,它基于真实光线的引导,手册说可以考虑到astigmatism。确实,在离轴状态下它的计算结果可能和Paraxial Gaussian Beam的结果有差。但实际上,我个人并不推荐在任何情况下使用Paraxial Gaussian Beam这个功能。轴上的情况,用Paraxial就好,而离轴且astigmatism显著的情况下,几乎一定不单只有astigmatism这种像差,这时候Skew Gaussian Beam依旧无法正确获取相位误差的累积。所以,离轴,像差显著的情况下,建议直接使用充分考虑了像差的更高级功能——POP

 

     2.2用POP模拟激光(对M2因子的处理)

POP的功能讲解,再次拿出一篇老文《梳理一下Zemax POP的工作逻辑》,而在这里想要额外介绍的一个问题是:如何处理M2因子。

其实,在Paraxial Gaussian Beam这个功能里,Zemax是允许用户设置M2因子的。那我们来看看Paraxial Gaussian Beam里面是怎么处理M2的。十分简单直接,先按照M2 = 1的理想光束来计算高斯光传播,然后把各个位置上的高斯光大小size和发散角divergence都乘以M来表征劣化的高斯光更严重的发散性。注意,是乘以M而不是乘以M2

那为什么POP作为更高级的功能反而没有支持输入M2?这是因为,本质上同一个M2可以由无数种不同的场分布造成,软件没有办法把一个给定的M2确定地映射到某一种波面劣化的场分布。但是,反过来,已经知道了一个场分布,软件可以轻松地计算出此时的M2因子。Paraxial Gaussian Beam功能里既然已经知道了Beam的形态一定都是Gaussian,那么也就形成了M2和场分布的一一映射,这一点在更高级的POP中反而不成立了。


那如果我们就是想要在POP功能里使用M2因子呢,怎么办?这里推荐3种可能的方案:

2.2.1 POP照常用,到需要输出目标面光束大小的时候,乘以M就是


2.2.2 在系统中添加一个Zernike Phase面,扰动Zernike相位系数,直到获取对应的M2。POPD 25 26可以用来评价X和Y方向上的M2。一般认为激光出射位置具有良好的对称性,所以可以根据想要的对称性选择Zernike系数的部分几项,尤其是要求径向旋转对称的前提下,Zernike前10项除了没用的Z1 piston之外,只有Z4离焦是旋转对称的。于是我们可以建立起Z4 phase和M2唯一映射关系。接着就可以使用优化功能,把Z4系数优化到符合M2目标。(当然你可以根据实际情况选择更多的Zernike项数)


2.2.3 如果已知场分布的复振幅,那么POP是可以支持直接通过ZBF文档导入复振幅的。不过复振幅实际数据一般也是来自于前序软件仿真,实测的话,光束质量分析仪只能获取强度,如何把振幅和相位同时测到,聪明的读者一起来想想方案吧!

 

(全文完)



路过

雷人

握手

鲜花

鸡蛋

最新评论

联系客服 关注微信 访问手机版 返回顶部