ueotek |
2023-09-04 16:57 |
Ansys Zemax | 如何模拟自适应光学系统
概述 JY>]u*= 这篇文章介绍了如何在OpticStudio中使用多重结构创建反射式自适应光学系统。本文详细介绍了: +j`*?pPD(. 如何通过缩放光阑镜面的偏心来模拟一组镜面阵列 b,SY(Ce~g 如何使用公差功能生成随机的波前差来模拟大气不均匀性对成像的影响 I}?fy\1A& 如何补偿该影响引入的像差以得到最优的几何和衍射点扩散函数 T[<9Ty'^ 如何使用求解功能简化系统的设置和调整参数的过程 t%8*$"~X (联系我们获取文章附件) T}4RlIZF oq0G@ 介绍 kyY tL_SD 在本文介绍的自适应反射光学系统中,反射抛物镜由多个子反射镜组成,其中每个子反射镜可以调整自身的空间位置和旋转方向来一定程度的矫正像差。特别是对于处在大气环境中的望远镜系统来说,自适应系统可以有效的降低大气层不均匀性引入的像差。OpticStudio可以在非序列或混合序列模式下模拟自适应反射光学系统。本文将展示如何在序列模式下使用多重结构对该系统进行建模。 uV%7|/fD 下图两幅动画展示了序列模式下自适应光学系统中反射元件的倾斜和偏心: e%UFY-2 [attachment=119889] ~G"6^C:x [attachment=119890] !JrVh$K 首先,我们需要在系统输入波前上引入随机的波前差来模拟大气不均匀性对输入光的影响。其次,我们需要调整每个反射元件的z轴位置以及绕元件中点的旋转角度,使像面上的像差最小。在下图给出的2×2报告图 (2×2 Report Graphic) 中,左上图描述了系统在输入波前上引入的随机像差,它是由蒙特卡洛算法自动生成的随机波前差。其中,其它图表动画对比了不同输入波前差的情况下,自适应光学系统矫正像差之前和之后的几何PSF和衍射PSF分析结果。
MNJ$/l)h [attachment=119891] pLk?<y 前提假设和设计目标 q$H'u[KQ06 对于本文示例系统,我们作如下前提假设: le8n!Dk( 我们将只模拟望远镜的主镜,即反射抛物面。不考虑望远镜系统中的其他元件,例如次级反射镜等。这主要是为了减少示例的复杂度,但如果需要分析也可以快速添加。 eb+[=nmP 每个子镜面不会产生形变。这同样是为了减少示例的复杂度,如需要也可快速添加。 *4r;H2%c 抛物反射镜面由19个子镜组成,我们将在编辑器中手动输入这些镜面。如果需要模拟数量更加庞大的反射镜组,可以使用ZPL宏来辅助系统建模。 \/lS!+~''] 每个子镜面与中心子镜面顶点的径向距离设置为拾取求解,使每个子镜与特定镜面的空间位置相关联。下图动画显示了在编辑器中改变其中一个子镜的位置时,其他子镜位置的整体变化。 [>6:xGSe9X 系统使用OpticStudio产生的随机像差表示大气不均匀性对输入波前的影响。 8[zP2L!- [attachment=119892] nk6xavQji 以下为系统的部分设计指标: DmD*,[rD 镜面的矢高形状:抛物面(圆锥系数为-1) fv`%w 镜面的曲率半径:-4000mm >eJk)qM 对应焦距:-2000mm 8|i&Gbw+ 子镜的形状:六边形 =\_MJ?A$ 子镜的半径:150mm TQnMPELh" [attachment=119893] C\EV$U, 在设置这些参数前,您需要充分理解多重结构、光线瞄准和系统孔径的概念。如果您对这些概念不太熟悉,请参考以下文章: %JiA, Ansys Zemax | 如何设计单透镜 第一部分:设置 <4(rY9 ZEMAX | 如何使用光线瞄准? t|%iW%m4 系统的初始结构 oYqlN6n,=6 首先进行如下系统设置: j7uiZU;3Rx 设置系统单位为mm(系统设置 -> 单位) odj|"ZK 设置系统波长为550μm(系统设置 -> 波长) zFv>'1$ 设置单一轴上视场X = 0, Y = 0(系统设置 -> 视场) IURi90Ir 设置系统孔径为光阑尺寸浮动 (Float by Stop Size) (系统设置 -> 孔径) rF
7EO%, 开启光线瞄准(系统设置 -> 光线瞄准) }HXNhv-K 我们将使用多重结构功能模拟整个反射镜组,其中每个子镜使用单独一个结构建模。设置每个镜面为光阑面,并且在该表面上设置六边形的自定义孔径 (User Defined Stop Surface, UDA)。每个子光阑的偏心通过拾取求解关联在一起,并且使用光线瞄准功能使输入光线瞄准偏心的子光阑中心。下图动画展示了通过对每个子镜设置不同缩放比例的光缆位置拾取,来实现整个镜面的设置。 u^V`Ucd"R [attachment=119894] Y+WOU._46I [attachment=119895] nc&V59*
我们将在反射镜前设置一个玻璃平板,并在平板上使用公差操作数TEZI时使平板产生形变,来实现输入波前引入像差。 zf2]|]*xz [attachment=119896] i mJ{wF 系统设置 m qtl0P0 设置1 [Ma&=2h 下图展示了中心子镜和其中一个偏心子镜(X = 0, Y = +540)的位置关系。需要注意的是,偏心子镜与中心子镜的相对位置关系。另外子镜的旋转中心在本系统中永远位于该表面的中心点。系统中设置有一块虚拟的玻璃平板,其折射率为常数2并且放置在像面之前100mm处。这样输入波前将在发生反射前引入像差。 ^$yr-p%- [attachment=119897][attachment=119898] }R.cqk\qa^ [attachment=119899] VN;Sz,1Z 设置2(透镜数据编辑器) S{J$[!F 在将表面输入到编辑器之前,我们需要先创建一个用户自定义的六边形孔径,并将该孔径以 “HEXAGON.UDA” 为名保存在Zemax根目录下Objects文件夹中的Apertures文件夹中。 ]36 R_Dp 打开任意ASCII码编辑器。使用UDA语句 “POL” 定义六边形,其语法为: %.[GR POL X中心 Y中心 半径(中心到顶点) 边数(本例中为6) 绕中心旋角(0°) V^.~m;ETu] [attachment=119900] 9I9J}&4 将该文本文件保存在相应文件夹下。有关UDA语法的更多信息请参考帮助系统“User Defined Apertures and Obscurations”标签。 Po=)jkW 首先,我们需要在透镜数据编辑器里对中心子镜进行建模: I[&z#foN=w [attachment=119901]将表面6设为系统的光阑面,并将该表面的表面类型设为不规则面 (Irregular),设置表面半径为150mm。我们使用不规则面代替标准面是因为这样可以直接使用表面的一个参数控制元件的偏心。在定义不规则面时,偏心的单位为透镜单位,倾斜的单位为度,对于中心子镜而言两参数均为零。在不规则面中定义元件倾斜和偏心的原理与使用坐标间断面定义的原理相同,但不规则面的倾斜和偏心在该光线完成该表面的光线追迹后自动复原。此段光线追迹的实际算法如下所示: Q{mls 不规则面首先进行偏心,然后沿X轴倾斜再沿Y轴倾斜 rWSw1(sAA 系统在该表面上执行光线追迹 U2+CL)al^ 首先沿Y轴复原倾斜再沿X轴复原倾斜,最后复原偏心 [)9bR1wh 在镜面表面6上定义自定义孔径HEXAGON.UDA: nvpdu)q< | |