Ansys Speos丨相机边缘扩散函数(ESF)的计算

 附件下载

联系工作人员可获取附件:ueotek_market

引言

这篇文章的目的是提供一份分步指南,介绍如何利用 Speos 仿真结果来计算边缘扩散函数(ESF)。透镜系统的数据将通过 Optical Design Exchange 从 Zemax OpticStudio 导出至 Speos,导出的数据包括几何结构、材料和镀膜。关于 ESF 的计算,我们将在本文中探讨两种方式:一是在 Speos 中直接查看图形,二是将数据导出,以便在用户选择的数值程序中进行绘制。

概述

空间分辨率是评估光学系统性能时需要考量的一项重要参数。评估这一指标有多种方法,但最常用且广为人知的方法之一是计算系统的ESF(边缘扩散函数)和 MTF(调制传递函数)指标。Zemax OpticStudio 在设计层面提供了直接计算和分析 ESF 的方式。相比之下,虽然 Speos 没有以相同方式内置 ESF 计算功能,但它能够在系统层面评估 ESF,同时考虑到完整的产品集成。本文概述了一种在 Speos 中实现这一分析的方法。

ESF 的定义

边缘扩散函数(ESF)用于描述光学系统在目标图像中再现边缘的方式。该函数展示了系统在从低强度区域过渡到高强度区域时的性能,本质上代表了目标边缘的特征。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图1

ESF 与调制传递函数(MTF)直接相关,其间通过线扩散函数(LSF)相联系,LSF 对应于 ESF 的一阶导数。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图2

步骤说明:

●(可选) 从 Zemax OpticStudio 导出数据:使用“Export Optical Design Exchange”(导出光学设计交换)选项,将在 Zemax OpticStudio 中设计的光学系统导出为 *.ODX 文件并导入 Speos。该文件已包含在本文的可下载数据中,因此此步骤为可选操作。

● 用于 ESF 计算的 Speos 项目:说明为直接从 Speos 仿真结果中获取 ESF 图形所需执行的操作。

● ESF 的仿真结果:提供导出必要数据的方法,以便在其他外部数值程序中对 ESF 进行可视化和后处理。

注:软件前提条件

要完成此工作流程,需要安装以下软件:

[可选] Zemax OpticStudio 2025 R1

Speos 2025 R1

Speos 中的 ESF 计算工作流程

从 Zemax OpticStudio 导出数据(可选)

我们进行 ESF 计算流程的第一步是将数据从 OpticStudio 导出至 Speos。打开 710_ESF.zmx 文件后,我们将看到透镜系统以及一些分析图形:线/边缘扩散函数和 MTF。该 ESF 图形将是我们用来与 Speos 结果进行对比的参照。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图3

如需在 OpticStudio 与 Speos 之间交换透镜数据,我们需要点击 File(文件)> Export Optical Design to Speos(将光学设计导出至 Speos),系统将自动生成一个 .ODX 文件。该文件包含以下信息:几何结构(表面类型、位置和方向)、透镜材料(色散、吸收和镀膜)以及图像传感器(位置和方向)。

请注意,如果物体与透镜系统之间的距离为“Infinite”(无限远),建议在导出 ODX 之前,先在 OpticStudio 中将其替换为一个有限值。此修改不应改变计算结果。在我们的案例中,我们将该距离设置为 490015 mm。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图4

注:本文所描述的 Zemax OpticStudio 与 Speos 之间的数据交换,是使用“Optical Design Exchange Export”(光学设计交换导出)功能来完成的。然而,这一完整的 Speos ESF 计算工作流程也可以使用“Reduced Order Model”(降阶模型)导出来执行。

此外,导入 Speos 中的透镜设计也可以来源于其他途径,例如 STEP 文件,或直接在 Speos 中进行设计。

Speos 中计算 ESF 的工作流程

要在 Speos 系统中获得计算 ESF 所需的仿真结果,我们首先需要定义仿真中的所有要素,包括几何体、光源和传感器。此外,我们还必须从 OpticStudio 导入透镜设计,并确保仿真中所有几何体的位置正确。

在 Speos 中导入数据

在 Speos 中,我们可以创建一个 Optical Design Exchange(光学设计交换)特征(路径:Light Simulation > Components > Optical Design Exchange),该特征将使用 ODX 文件来生成:

● 与各个透镜对应的几何体。此步骤使用解析公式及相关参数来执行。

● 一个组件,用于将所生成几何体的几何信息与 ODX 文件中存储的光学属性(材料和镀膜)信息相关联。

导入 ODX 文件后,选择结构树中可用的 Origin ODX 作为导入几何体的参考轴。请注意,导入的几何体也会出现在结构树中。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图5

注:Speos 仿真在光传播过程中使用不同几何体的网格,而 OpticStudio 则使用不同表面的解析描述。为了使 Speos 仿真尽可能精确,并与 OpticStudio 仿真结果相匹配,我们需要关注 Speos 中的网格划分属性。

请注意,仿真中将使用 Optical Design Exchange 特征,而非单独的透镜几何体。Optical Design Exchange 特征的网格划分参数可通过选项进行访问,该选项可通过右键单击 Optical Design Exchange 组件来打开。

我们为 ODX 文件引入以下网格划分参数值:

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图6

这些网格划分参数可以根据不同的使用案例和几何体进行调整。此外,对于更复杂的几何体,还可以定义并应用局部网格划分,以避免仿真初始化时间过长,同时不影响结果的准确性。

更多详细信息可参阅 Speos Meshing Best Practices – Ansys Optics。

对透镜组件应用表面光学属性

OpticStudio 使用序列传播模式来计算 ESF。而 Speos 基于蒙特卡洛算法的传播方式则相当于非序列传播。因此,我们需要确保强制光线从一个屈光面透射到另一个屈光面,以便与 OpticStudio 中的条件保持一致。

Speos 允许覆盖定义 Optical Design Exchange 组件的面光学属性,该组件已通过 Optical Design Exchange 从 Zemax OpticStudio 传输而来。作为示例,我们定义等效于完美增透膜(AR coating)的属性。

打开 Simple Scattering 编辑器(路径:Light Simulation > Tools > Editors > Simple Scattering Surface),输入如下所示的值。保存并命名为 AR coating。

然后,点击 Light Simulation > Optical Properties > Materials 创建一个新材料。该材料的类型必须设置为“Face properties”(面属性)。接着,表面属性类型需要定义为“library”(库),并引用我们刚刚创建的完美 AR coating。将其重命名为 Transmission。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图7

我们需要将该材料应用于所有参与光传播的屈光面:即透镜的前表面和后表面,共计14个面。应用材料有两种方式:一种是在3D视图中直接选择所有屈光面进行应用,另一种是创建一个包含所有面的组。我们将介绍第二种做法:

1.选中所有屈光面的前表面和后表面。

2.在保持全部选中的状态下,点击 Groups(组)选项卡,然后点击 Create NS(创建非序列组)。此时应出现一个包含所有选中屈光面的新组。将其重命名为“Diopters”。

3.通过选中刚刚创建的 Diopters 组来应用该材料。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图8

下一步是确保各个透镜中所有不参与光传播的表面(如透镜边缘、机械口径等)能够吸收光线。我们需要为此创建第二种材料,使其具有完全吸收特性。

在 Light Simulation > Optical Properties 中点击 Material。该材料的类型必须设置为“Face properties”(面属性)。然后,表面属性类型需要定义为 mirror(镜面),反射率设为 0%,这相当于 100% 的吸收率。

然后,我们需要将该材料应用于所有剩余的(不参与光传播的)表面。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图9

此工作流程中材料应用步骤的最后阶段是为透镜系统创建一个吸收性包络。为简化流程,本例中的包络已预先创建好,可在结构树中找到,名称为“Envelop”。我们已在该表面应用了一种吸收材料,其类型定义为“volume & surface properties”(体积与表面属性)。

创建此包络是必要的,因为我们将使用逆向仿真来完成分析,这意味着光线将从图像传感器(辐照度传感器)的每个像素反向传播。因此,我们需要确保光线沿着主光路传播——即依次透过各个屈光面——并在偏离光路时被吸收。

光源定义

**Zemax OpticStudio 项目使用三种不同波长:486 nm、588 nm 和 656 nm。由于将为每个波长分别生成三个不同的传感器,您可以使用一个在此波长范围内定义的平坦光谱文件。本文示例中已提供了一个 .spectrum 文件,可在 Speos 输入文件夹中找到,名称为“E.spectrum”。当然,也可以为不同的使用场景生成不同的 .spectrum 文件。

生成光谱文件后,需要创建一个用于定义光源的表面。由于仿真的目的是获得 ESF 计算结果,我们需要定义作为成像目标的边缘。

我们创建一个大的平板,该平板需要覆盖您要评估 ESF 的区域。平板与光学系统之间的距离必须与 OpticStudio 中设置的距离一致。为简化此过程,该平板已预先在结构树中名为“Origin”的轴位置上创建好。该平板已分配一种代表空气的材料。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图10

最后,创建好平板后,我们需要定义一个面光源,该光源将包含所生成的光谱文件。

在 Light Simulation 选项卡 > Sources 中,点击 Surface(面光源)。然后将创建的面光源重命名为“Flat source”。

为定义该光源,我们将输入如下图所示(原文配图)的参数值。对于光谱文件,我们选择 library(库)选项,并浏览选择之前提到的 E.spectrum 文件。

最后,我们需要选择光源的发光面。在本例中,我们将选择结构树中可用的平板。您需要确保光源的发射方向朝向光学系统所在的位置。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图11

传感器定义

正确定义仿真的另一个关键要素是传感器。在本例中,我们将定义三个不同的辐照度传感器,分别对应 Zemax OpticStudio 项目中已定义的三个波长。每个传感器将位于图像传感器的位置,使用结构树中名为“Origin_sensor”的轴进行定位。

传感器类型为光谱型(spectral)。其表面对应于 OpticStudio 中用于计算 ESF 的分析表面。在 X 方向上的采样(像素数)不需要很高,因为我们只关注 Y 方向上的过渡,因为边缘过渡沿此方向发生。这也有利于每个像素积分更多的光线。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图12

逆向仿真

所有要素定义完成后,我们需要创建一个逆向仿真,包括光源和所创建的三个传感器。需要将 Optical Design Exchange 特征以及对应于几何包络的几何体选为几何体。我们将停止条件设置为持续时间限制为2分钟。对于仿真选项,我们将设置如下值:

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图13

在逆向仿真专属选项卡中(可通过右键单击仿真图标(位于 Simulation 选项卡中)访问),也请记得勾选 dispersion(色散)选项。

正确定义逆向仿真后,我们可以开始进行计算。建议使用 GPU 以缩短仿真时间。但若优先选用 CPU,则必须增加仿真时长。

注:Speos 兼容 Nvidia GPU。

总仿真时长为 6 分钟,每个传感器 2 分钟。

ESF 的仿真结果

分析仿真结果

在逆向仿真内部,会为每个传感器(波长)生成一个 .xmp 映射文件。双击打开该文件,即可查看如下所示的辐照度图,这些图展示了光学系统在三个选定波长下所捕捉的边缘。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图14

根据这些辐照度图,我们可以计算 ESF 并获得其分布曲线。对于每一张图,我们使用 Measurement(测量)工具创建三条不同的垂直测量线。在同一张 .xmp 图中进行三次不同测量的目的是为了计算平均值,从而为每个波长提供更准确的 ESF 表征。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图15

Zemax OpticStudio 与 Speos 的 ESF 对比

通过将 OpticStudio 中的 ESF 数据也导出至 Excel,我们将能够对比 OpticStudio 与 Speos 在三个波长下的 ESF 结果。要从 OpticStudio 导出数据,请务必先选择所需的视场和波长。同时,输入一个最大半径值,以匹配 Speos 中的传感器尺寸。在本示例中,将最大值设为 2.5 微米。

在对比 ESF 之前,另一个必需的后处理步骤是对 Speos 数据的 ESF 值进行归一化处理,以相对强度的形式表示。这种归一化处理与 OpticStudio 中计算 ESF 的方式一致,其值范围在 0 到 1 之间。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图16

Speos 的结果未考虑光学系统中的衍射效应。这可能是导致 OpticStudio 与 Speos 之间结果不完全一致的原因。

注:Speos 仿真中考虑衍射效应的功能目前正在开发中。

进一步拓展模型或对模型进行深入扩展

Speos Light Box(Speos 光盒)

此工作流程可以直接使用导入 Speos 的 Optical Design Exchange 几何体来执行,但 ODX 特征也可以包含在 Speos Light Box 中。此步骤并非强制要求,但可以提供一些优势。首先,Light Box 可以被黑盒化,包括 ODX 之后设计的所有附加几何体和机械部件。如有必要,这可以确保知识产权保护。此外,Speos Light Box 的几何体与网格划分定义一同存储,这可以在仿真初始化期间节省时间,尤其是在处理复杂几何体或需要精确网格的情况下。光学属性也包含在导出内容中。

要将我们的 ODX 组件转换为 Speos Light Box 文件,首先我们需要将所需的几何体导出为 Light Box,以便我们可以在 Speos 项目中再次将其作为 Light Box 组件导入。

本文可下载数据的 ESF_end.scdocx 文件中已创建了 Speos Light Box。

在 Light Simulation > Component > Light Box 中,点击 Export Speos Light Box。

从仿真面板中选择 ODX 特征,以及作为透镜系统包络创建的实体。

其余设置保持默认,点击 compute(计算)以在输出文件夹中生成 *.SPEOSLightBox 文件。

将 Light Box 导出为文件后,我们可以将其重新导入到我们的项目中。

再次点击 Light Simulation > Component > Light Box,这次选择 Import Speos Light Box。

浏览选择之前生成的、位于输出文件夹中的 .SPEOSLightBox 文件,保持设置默认。

计算组件完成后,Speos Light Box 即可在仿真中使用。

有关此 ODX 与 Speos Light Box 之间导出过程的更多详细信息,我们推荐参阅文章:How to exchange a black box optical system between supplier and original equipment manufacturer – Ansys Optics(如何在供应商与原始设备制造商之间交换黑盒光学系统 – Ansys Optics)。

不同视场的分析

本文所示的工作流程侧重于在 Speos 中计算 0° 视场的 ESF。然而,正如我们可以在 OpticStudio 中对光学设计进行不同视场的分析一样,我们也可以在 Speos 中创建几何体,从而通过仿真不同视场来获得 ESF 结果。

Ansys Speos丨相机边缘扩散函数(ESF)的计算的图17

查看全文
默认 最新
ansys结构交流群