ZEMAX | 如何在 OpticStudio 中建模全息图

全息图是一种非常通用的光学元件,可以用来实现紧凑轻便的系统。它们被有效地应用于各种各样的应用中,近年来在增强现实头戴设备的设计中尤其有价值。

本文描述了全息图的主要特征,并对 OpticStudio 中可用的全息图模型进行了概述。

什么是全息图?

全息图是记录在高分辨率感光乳剂上的干涉图案。全息图具有两个特别的步骤:构造步骤和重建步骤,分别用于说明全息图的构建及其作为光学元件的使用。在构建过程中,两束相干光(称为构造光)相互干涉,它们的干涉被记录在感光板上。全息图就是被绘制出来的干涉图。它带有干扰结构光束的特征。在重建步骤中,当被读出光所照射时,它像衍射光栅一样带有衍射构造光的特性。
请注意,在本文和 OpticStudio 中,所有的全息图都是通过隐式光学制造的,即通过前面描述的两束结构光干涉产生。这是为了区别于计算机生成的全息图 (CGH),后者的干涉图是用数字生成的。CGH 可以在 OpticStudio 中通过允许相位轮廓定义的任意表面建模,如二进制或网格相位表面。

全息光线追迹方程和主要模型

OpticStudio 将全息图视为可以改变光线相位的无限薄的表面。全息图根据下面的方程使光线路径偏移:



垂直于全息图表面 - 光线相交点的单位矢量


是沿着构造光方向的单位矢量


是沿着第二束构造光的单位矢量


是沿着入射读取光线的单位矢量


是折射光

λc 和 λp 分别是构造和读取波长,m 是衍射级次。m = 0表示射线无偏移,m 的其他整数值表示其他衍射级次。
目前,OpticStudio 只对偏离光线路径的全息图进行建模。其他性质,如基于衍射阶数、波长或入射角的衍射效率的计算,目前尚未考虑。
在 OpticStudio 中有三种主要的全息图模型,他们是:
全息图1
全息图2
光学制造全息图
除了光学构造全息图,所有的序列和非序列全息图模型都是基于全息图 1 和全息图 2 的序列表面。下面几节将介绍所有三种主要全息图模型的主要特征。

全息图1和全息图2表面

全息图 1 和全息图 2 的表面都是基于构造光来自于点光源并且没有像差的假设。当两束构造光束发散或收敛时使用全息图 1,当一束构造光发散而另一束构造光收敛时使用全息图 2。两种模型的典型设置例子如下图所示,其中蓝色光线表示发散的构造光束,绿色光线则表示收敛的构造光束。


全息图 1 和全息图 2 都可以用来建模传输或反射全息图。对于传输全息图,构造光来自全息图表面的同一侧,如在上图 (a)、(b)、(g) 和 (h) 组中所示。相反,对于反射全息图,构造光来自全息图表面的相反两侧,如在上图 (c)、(d)、(e) 和 (f) 组中所示。
请注意,要在反射中使用全息图,其材质必须设置为“ Mirror ”,这表明 OpticStudio 光线在到达全息图表面后会以相反的方向传播。
全息图 1 和全息图 2 的形状是由曲率半径和圆锥系数控制的,从而实现了平面、球面或圆锥面全息图的建模。两个表面也由一些全息图特定参数来表征,如:
相对于全息表面顶点的构造光 1 的 XYZ 位置
相对于全息表面顶点的构造光 2 的 XYZ 位置
构造光波长
衍射级次
一旦通过上述参数确定了全息图的特性,落在全息图表面的光线(实际上是重建步骤的读取光)将根据前面描述的方程衍射。如果光线来自与其中一个构造光源相同的位置,即读出光线与其中一个构造源光束重合,那么全息衍射光线就好像是从第二个构造源的位置汇聚或发散的。之后将使用示例进一步阐明这一点。
想象一下下面的构造设置,它表示两束构造光束都在发散的传输全息图。如前所述,这是一个应该使用全息图 1 的场景:


在重建步骤中,如果读出光束与构造光 1 重合,则光线就会像来自结构光源 2 一样发生衍射,如下图所示:


同样的原理也适用于将构造光翻转,并用反射全息图代替。这两种场景的示例可以在本文附件中找到(分别是“Hologram1_transmission.zar” 和 “Hologram2_reflection.zar)。
请注意,往期文章:【如何使用 ZOS-API 分析全息图的结构条纹 】中描述的全息图构造干涉自定义分析,可以用于可视化由两束构造光的干涉产生的条纹。
例如,文件“ Hologram1_transmission ”的全息图构造条纹如下图所示。


光学构造全息面

光学制造全息图 (OFH) 是一个序列表面,它能够实现比全息图 1 和全息图 2 表面更通用的全息图建模。事实上,构造光束可以比仅仅从一个点光源汇聚/发散的光束复杂得多:在到达全息图表面之前,它们可能会经过任意的光学系统,这些光学系统可能由多个透镜、反射镜甚至其他全息图组成。由这种构造光学引入的像差将被考虑并对全息图的特性有所影响。如果需要,建设系统的参数也可以被设置为变量然后在重建文件中直接优化。
OFH 表面需要使用三个 ZMX 文件:
1) 重建文件,用于放置 OFH
2) 构造光 1 的文件,可能包含构造光 1 的光学系统
3) 构造光 2 的文件,可能包含构造光 2 的光学系统
构造文件需被放置在重建文件的相同文件夹中,它们的名称也应该相同,但在末尾附加“ _1 ”和“ _2 ”的后缀。然后通过在 OFH 表面的注释中指定它们名称的公共部分(即没有后缀),在重建文件中调用这两个文件。例如,如果构造文件名为“ construction_1 ”和“ construction_2 ”,那么在重建文件中你应该输入 OFH 的注释为“ construction ”,如下图所示:


两个构造光相互干涉的表面是每个构造文件中的光阑表面。只有在各自的光阑面上的光线交汇向量才能决定全息图的性质。
除了前面解释的以外,构造文件还必须满足其他几个要求。更多信息请参阅帮助文件部分的 设置选项卡 (Setup Tab) > 编辑器组 ( Editors Group ) > 镜头数据编辑器 ( Lens Data Editor) > 序列表面 (Sequential Surface (lens data editor)) >光学制造全息图 (Optically Fabricated Hologram) 。
例如,使用 OFH 表面建模与文件“ Hologram1_transmission.zar ”的相同系统。我们需要定义 construction_1.zmx,用于重建由构造光源 1 产生的光线,并落在光阑上。


同样,construction_2.zmx 应该重新创建由构造光源 2 产生的光线,并落在光阑上。您可以使用一个坐标间断表面,以便从离轴光源产生光线,如下图所示:


一旦创建了构造文件,就可以在重建文件中通过引用注释参数中的构造文件来定义 OFH 表面,正如前面解释的那样。OFH 还具有其他表面特定参数的特征,如:
基底形状,如:
圆锥形
椭圆形,带有附加的多项式非球面项
圆柱形
全息类型,对应于全息图 1 型(全息类型 = 1)或全息图 2 型(全息类型 = 2)
光程差,一般为 0(自动),但如光程差没有正确计算需手动修改
衍射级次
尝试建模与文件“ Hologram1_transmission.zar ”相同的模型,我们将使用形状 = 0(全息图基底是一个平面),全息类型= 1(两个构造光源发散)和 -1 级衍射。在重建文件中的 OFH 将产生如下图所示衍射光线,这与文件“ Hologram1_transmistion .zar ”是一致的。


文章附件中提供的“ OFH.zar ”包含重建文件以及前面提到的两个构造文件。由于这三个文件由 OFH 表面链接在一起,单击在重建文件中的文件 (File) … 创建存档文件 (Create Archive) 将它们都打包在同一个 ZAR 文件中。

其他全息模型

OpticStudio 还包括其他几种序列模式和非序列模式的全息图模型。如前所述,它们都基于全息图 1 和全息图 2 表面,但它们允许更灵活的全息图形状。具体来说,在非序列模式下,可以通过一些参数控制物体的边界形状。
除了前面讨论的全息图 1、全息图 2 和 OFH 之外,OpticStudio 中所有可用的全息图模型将在下面简要描述。更多关于每个表面或物体的信息可以在相关的帮助文件中找到。
Toroidal 全息 (Toroidal Hologram)(序列模式):圆柱形/环形全息图。
全息表面 (Hologram Surface)(非序列模式):一种基于平面、球面、圆锥或多项式非球面的全息图表面,具有圆形或用户自定义的物体边界形状。
全息透镜 (Hologram Lens)(非序列模式):前表面具有全息图表面的透镜,该全息图可以是平面的、球形的或圆锥形的。透镜可以具有圆形或矩形的边界形状。
Toroidal 全息 (Toroidal Hologram)(非序列模式):在正面有圆柱形/环形全息图表面的透镜,透镜可以有一个矩形、圆形或椭圆形的边界形状。

OpticStudio 全息面和物体总结