ZEMAX | 如何使用光学制造全息图修正像差
本文介绍了利用光学全息图降低单透镜像差的方法。在描述了表示全息图构造光束的两个 ZMX 文件之后,本文演示了如何在重现文件中设置 OFH。然后解释了如何轻松地从重现文件中访问任何结构造光束变量,以实现衍射受限单透镜的设计。(联系我们获取文章附件)
简介
光学全息图 (OFH) 是OpticStudio中最通用的全息图模型。这个模型需要使用两个ZMX文件作为构造光,一个ZMX文件表示全息图重现文件。本示例所需的三个文件可以在本文的附件中找到。(联系我们获取文章附件)
初始系统
本文所考虑的系统(StartingLens.zmx)由一个简单的双凸透镜组成,工作波长为0.633 nm,像平面位于其近轴焦点处。
![](images/solutions/ZM-02-20211125-01.png)
从 OPD 光扇图可以看出,球差是主要的像差:
![](images/solutions/ZM-02-20211125-02.png)
通过在单透镜的前表面放置光学全息图 (OFH),可将其性能优化至衍射极限。OFH 需要使用三个 ZMX 文件:
· 放置 OFH 的重现文件
· 光线 1 的构造文件
· 光线 2 的构造文件
在这个例子中,重现文件是“ StartingLens.zmx ”,包含放置 OFH 的单透镜。全息图构造文件名称为“ OFHSphericalCorrector_1.zmx ”和“ OFHSphericalCorrector_2.zmx ”。这些 ZMX 文件满足 OFH 构造文件所需的命名规则(它们的文件名前缀相同,但在末尾附加了“ _1 ”和“ _2 ”的后缀)。请注意,构造文件还必须遵守许多其他规则,更多信息请参阅帮助文件部分的 设置选项卡 (The Setup Tab) > 编辑器组(设置选项卡)(Editors Group (Setup Tab)) > 镜头数据编辑器 (Lens Data Editor) > 序列表面(镜头数据编辑器)(Sequential Surfaces (lens data editor)) > 光学制造全息图 (Optically Fabricated Hologram)
构造文件
“ OFHSphericalCorrector_1.zmx ”是构造文件 1,只包含一个准直光束入射透镜。“ OFHSphericalCorrector_2.zmx ”是构造文件 2,它类似于构造文件 1,但另外包含一个位于透镜前表面前的相位板。该相位板使用 Zernike Fringe 相位表面 (Zernike Fringe Phase surface) 建模,该表面的所有项最初都被设为零。将分别表示离焦和三阶球差的第 4 项和第 9 项设为变量,以便以后进行适当的优化。
![](images/solutions/ZM-02-20211125-03.png)
上图是两个构造文件只绘制到镜头的前表面的布局图,这也是每个文件中的系统光阑。光阑代表假定的两个构造光相互干涉的表面,只有在构造文件中光阑位置处的光线交互位置的向量才能决定全息图的属性。从 OFH 的角度来看,构造文件中所有在光阑后的表面都将被忽略,所以光阑后的表面在布局图中为了清晰显示都被隐藏了。
设置重构系统
一旦构造文件被定义,重现系统就可以从初始系统开始设置了 (" StartingLens.zmx ")。
首先,确保两个构造文件与初始系统放在同一个文件夹中。然后打开后者,建立 OFH:
1、在第 3 面的注释单元格中指定构造文件的公共部分名称,在本例中为“ OFHSphericalCorrector ”
2、改变透镜前表面(表面 #3)为光学构造全息图
3、设置适当的 OFH 参数,以确保全息图的形状和功能无误,在这种情况下:
a.形状 = 0,对应圆锥非球面形状,同标准面类似。
b.全息类型 = 1,对应于与全息图 1 表面相同的结构几何,在这种情况下,两束构造光束都是从一个无限远的光源发散的。
c.衍射级次 = 1
d.曲率 = 1/(前透镜半径) = 0.02 mm-1
e.圆锥系数 = 0
f.OPD模式 = 0,对应全息图默认的光程差计算
![](images/solutions/ZM-02-20211125-04.png)
现在透镜前表面是一个 OFH 面,与初始系统的透镜前表面形状匹配。这个系统包含了 OFH,代表了全息图的重现系统。
在此阶段,由于构造文件 2 中的相位板没有任何非零项,OFH 是由两束相同的光束的干涉构成,对系统没有任何影响。因此,重构系统的外观和性能应该与原始的“ StartingLens.zmx ”文件完全相同。
优化 OFH
如前所述,构造文件 2 中的相位板已经定义了两个变量,Zernike 项 4 和 9。通过在多重结构编辑编辑器工具栏中单击 增加全息变量 (Add Hologram Variables),可以轻松地从重现文件中访问这些变量,如下图所示:
![](images/solutions/ZM-02-20211125-05.png)
增加全息变量 (Add Hologram Variables) 可以在构造文件中查找变量,并将它们作为 HLGV 多重结构操作数添加到重现文件中。这些变量现在可以与重现文件中的任何其他变量一起使用(如果有的话)。在本例中,将添加4个 HLGV 操作数,2个用于构造文件1,2个用于构造文件2。我们只对构造文件2的操作数感兴趣(它已经应用了变量求解 'V'),所以删除构造文件1的操作数。使用 HLGV 操作数允许同时优化构造和重现系统。注意, HLGV 报告的变量不是只读的,更改它们的值将更改构造文件中的相关参数。为了优化系统以获得最佳性能,将使用以最佳 RMS 光斑尺寸为评价函数目标。为此,按如下方式设置优化向导,然后单击 OK:
![](images/solutions/ZM-02-20211125-06.png)
点击 分析 (Analyze) … 执行优化 (Optimize!) 优化当前系统。请注意构造文件变量现在是如何优化以纠正重现系统中的畸变,并实现最小RMS光斑的:
![](images/solutions/ZM-02-20211125-07.png)
对全息图构造干涉进行自定义分析,可以将得到的全息图可视化。
![](images/solutions/ZM-02-20211125-08.png)
显示艾里斑 (Airy disk) 的标准点列图,可以用来快速确认该系统现在是否处于衍射极限。由于存在高阶像差,该点不是一个理想的像点。
![](images/solutions/ZM-02-20211125-09.png)
即使系统已经处于衍射极限,波前图内仍显示了一个不实际的 RMS 波前误差, 约31个波长大小。这是默认全息图的光程差计算(OPD模式 = 0)导致错误结果的实例之一。没有可靠的算法可以在所有情况下自动确定适当的 OPD 模式。因此,在优化包括 OFH 在内的系统时,评价函数最好不要依赖 OPD 数据,以免计算错误。如果 OPD 明显错误,如本例中所示,用户必须手动确定正确的OPD算法,方法是将 OPD 模式设置为1、2、3或4,直到正确计算出 OPD 值为止。在这个具体的文件中,当 OPD 模式 = 2时计算出正确的 OPD,从而得到更为真实的0.009 波长的 RMS 波前误差。有关不同 OPD 计算的详细信息,请参阅 OpticStudio 帮助文件。最后,请注意,由于重现文件和构造文件是通过 HLGV 操作数链接的,因此保存重现文件也将同时保存两个相关的构造文件。这可以通过点击文件 (File) …保存 (Save) 并打开 OpticStudio 的第二个实例“ OFHSphericalCorrector_2.zmx ”文件来确认,文件中设置在 Zernike Fringe 相位参数项上的变量现在通过优化重现文件找到的新的值。
![](images/solutions/ZM-02-20211125-10.png)