知识点 | 什么是点扩散函数?

0 评论

作者:Ken Moore

翻译整理:胡皓胜 | Ansys高级应用工程师

 

蛇年大吉!Ansys 光学团队在此祝大家新年新气象!祝所有光学设计同仁优化顺利!公差顺心!打样完美!

 

新的一年,我们先不钻研复杂的解决方案与工作流程,从基础概念出发查漏补缺,开启新一年的技术分享!

知识点 | 什么是点扩散函数?
知识点 | 什么是点扩散函数?

 

本文讨论了如何在 OpticStudio 中对点扩散函数进行建模和解释。使用的分析特征是 Spot Diagram、FFT PSF 和 Huygens PSF。将讨论每种工具的优点,以及用于最准确分析的有用特征设置。

 

介绍

光学系统的点扩散函数 (PSF) 是单个点光源产生的辐照度分布。(望远镜拍摄遥远恒星的图像就是一个很好的例子。尽管源可能是一个点,但图像不是。有两个主要原因:首先系统中的像差会将图像传播到有限的区域;其次衍射效果也会扩散图像,即使在没有像差的系统中也是如此。

 

OpticStudio 有三种基本类型的 PSF 计算:几何(无衍射)点列图、基于衍射的 FFT 和 Huygens PSF。本文将讨论基本理论,并就正确使用每种类型的 PSF 提供一些指导。

 

点列图

OpticStudio 中最基本的分析功能之一是点列图。此功能从物空间中的单视场点发射许多光线,通过光学系统追迹所有光线,并绘制所有光线相对于某个公共参考的 (x, y) 坐标。因此,点列图本身就可以看作一个几何 PSF。

 

这里使用的示例光学系统是一个焦距为 50 mm 的单抛物面 F/5 反射镜,物位于无穷远处。该系统是一个简化的牛顿望远镜,包含的示例文件为 PSF_Newtonian.ZMX。以下是光学系统的外观:

 

知识点 | 什么是点扩散函数?

 

两个视场点(一个在轴上,另一个呈 2 度角)的点列图如下所示。

 

知识点 | 什么是点扩散函数?

 

请注意,点列图是光线落点的集合,每个点表示一条光线。光线之间没有相互作用或干扰。点列图在显示望远镜的几何或光线像差的影响方面非常有效。离轴几何 PSF 清楚地显示了系统的彗差和像散。然而在轴上,点列图预测了完美的成像。但这是否准确代表了光学系统的性能?为了回答点列图结果的这个问题,我们需要将点列分布与衍射极限响应进行比较。

 

将几何像差与衍射极限进行比较的一种快速方法是在点列图中添加艾里斑参考椭圆。打开 设置 并选择 显示 Airy Disk

 

知识点 | 什么是点扩散函数?

 

现在,点列图将指示艾里斑相对于几何点分布的大小:

 

知识点 | 什么是点扩散函数?

 

对于轴上视场而言,光斑比艾里斑小得多,而在轴外光斑则比艾里斑尺寸大得多。这表明点列图是一个有用且合理的离轴性能指标。为了在轴上和轴外计算更精确的PSF,需要考虑衍射。

 

一般来说,如果像差与系统的衍射极限性能相比较大,则点列图是最实用的成像性能评估工具。

 

FFT PSF

快速傅里叶变换 (FFT) 算法已广泛应用于许多电气和光学系统的频率分析。从概念上讲,FFT 将空间分布分解为频域分布。本文末尾的参考文献 1 中对傅里叶光学进行了精彩的讨论。在 OpticStudio 帮助系统的“物理光学传播”一章中,参考文献 2 中也有衍射理论的总结。这两个参考文献都描述了Fresnel和Fraunhofer衍射理论。

 

大多数光学成像系统都满足 FFT PSF 算法使用的 Fraunhofer 衍射理论所需的简化假设。主要假设是:

  • F/# 足够大,因此标量衍射理论适用;

  • 与从光学系统的出瞳到像面的距离相比,衍射 PSF 具有显着能量的区域很小;

  • 出瞳相对于入瞳没有明显的失真。这意味着入射光瞳上的光线均匀分布在出瞳上;

  • 采样设置得足够高,以准确模拟 PSF;

  • 入射到像面的主光线接近法向入射。

 

光学系统的 FFT PSF 计算如下:光线网格从光源点到出瞳进行追迹。对于每条光线,振幅和光程差用于计算波前网格在出瞳处的复振幅分布。然后对这个网格的 FFT 进行适当缩放,以产生实际值的 PSF。如果计算是多色的,则 PSF 的总和是不连贯的。

 

要计算序列系统的 FFT PSF,请选择 Analyze…PSF…FFT PSF ,牛顿望远镜示例文件的轴上场点的 FFT PSF 样本如下所示。请注意,这些设置已从默认设置修改而来,稍后将对此进行讨论。

 

知识点 | 什么是点扩散函数?

 

请注意熟悉的 Airy Disk 形状。这是该示例文件的预期结果,即轴上视场点无像差。要生成上图,FFT PSF 设置对话框应如下所示:

 

知识点 | 什么是点扩散函数?

 

采样是指追迹到入瞳的光线网格密度。在内部,OpticStudio 将网格的大小加倍,用零值数据填充入瞳之外的区域。由于这种加倍,输出 PSF 始终位于点数是采样网格两倍的网格上。如果像差相当小,则考察区域集中在绘图中心附近。与其绘制所有这些接近零的振幅点,不如选择显示网格小于计算的总网格。

 

有多种方法可以显示相同的基础 PSF 数据。尝试下面显示的设置。

 

知识点 | 什么是点扩散函数?

 

注意 “显示”为 128 x 128,“视场”为 2,“类型”为“Log”,并且“显示为”设置为“伪彩色”。以下是生成的 PSF:

 

知识点 | 什么是点扩散函数?

 

Huygens PSF

从概念上讲,Huygens PSF 是通过将点列图上的每条光线转换为小平面波来计算的。回想一下,光线对平面波的一小部分进行建模,并且光线在各向同性介质中局部垂直于波前。平面波的振幅、相位和方向由与产生它的光线相关的数据确定。像面上任何点的总辐照度可以通过追迹所有光线所表示的所有平面波相干求和来确定。基于衍射的 PSF 是由所有光线的这种积分直接给出的。

 

虽然 OpticStudio 中的大多数衍射分析都假设适用标量衍射理论(F/# 不是太小),但如果启用“使用偏振”开关,Huygens方法可以解释电场的矢量性质。所有基于惠更斯的分析都考虑了全偏振矢量和偏振相位像差。这些计算的工作原理是分别计算极化电场的 Ex、Ey 和 Ez 分量的数据,然后将结果不连贯地求和。在电场的每个正交分量中感应的极化相位像差被视为任何其他相位像差。

 

几乎所有成像系统都满足计算Huygens PSF 所需的简化假设。然而,Huygens PSF 的准确计算更需要足够的采样。

 

Huygens PSF 不是基于 FFT 的。最终结果是Huygens PSF 通常比 FFT PSF 慢,但对于 FFT PSF 假设不适用的情况更准确。FFT PSF 假设有问题,因此应使用惠更斯 PSF 的一些常见情况是:

  • 像面相对于主光线明显倾斜

  • 出瞳相对于入瞳明显失真

 

光学系统的Huygens PSF 计算如下。光线网格从光源点追迹到像面。对于每条光线,振幅、坐标、方向余弦和光程差用于计算入射到像空间网格上每个点的平面波的复振幅。在像空间网格中的每个点执行所有光线的相干求和。像空间网格中每个点强度是所生成的复振幅和的平方。如果计算是多色的,则 PSF 的总和是不连贯的。

 

要计算序列模式系统的 Huygens PSF,请选择 Analyze…PSF …Huygens PSF 。Huygens PSF 也可以计算非序列 NSC系统,这将在后面讨论。请注意,无法为 NSC 系统计算 FFT PSF。

 

Huygens PSF 的用户可定义关键参数是光瞳采样、像面采样和 Image Delta。这些参数可以在 Huygens PSF 设置对话框中设置。打开 Settings(设置)并更改 Pupil Sampling、Image SamplingImage Delta,如下所示。

 

知识点 | 什么是点扩散函数?

 

Image Delta 是以微米为单位的像点间距。计算 PSF 的区域的总大小是 Image Delta 和 Image Sampling 的乘积。这是同一牛顿望远镜示例在轴上的Huygens PSF:

 

知识点 | 什么是点扩散函数?

 

Settings 中,通过指定 Field:2,我们可以看到 PSF 在离轴时显示如下。

 

知识点 | 什么是点扩散函数?

 

光线和像点的数量越多,生成的 PSF 的分辨率和精度就越高,但代价是计算时间更长。

 

可视化 Huygens 集成

可视化此积分过程的一种方法是观察一次一条光线的相干求和的效果。这可以通过 OpticStudio 的非序列元件功能中的相干探测器来实现。从提供的文章示例文件中,打开 HPSF_Integration.ZMX

 

知识点 | 什么是点扩散函数?

 

此文件由椭圆光源、单透镜和 Detector Rectangle 对象组成。光源在圆形区域上生成随机光线。所有光线都平行于局部 Z 轴射出,即光源为准直源或远距离点光源。请注意,布局光线的数量设置为 20,而分析光线的数量设置为 1。后一种设置将允许一次追迹一条光线,稍后将对此进行讨论。透镜是一个简单的单透镜,放置以使准直光线很好地聚焦在探测器上。检测器被定义为具有 120 x 120 像素的吸收器。

 

请注意,Detector Rectable Parameter 11 的 PSF Wave # 设置为 1。

 

知识点 | 什么是点扩散函数?

 

这种特殊模式允许探测器执行相干的Huygens PSF 积分。到达探测器的每条光线都会转换为局部平面波,照亮探测器上的每个像素,并且每个像素处平面波的相干振幅将添加到已检测到的相干振幅中。如果需要,一次追迹一条光线,以便可以看到对单个光线求和的效果。

 

一次积分一条光线

要查看此积分过程,请打开示例文件 HPSF_Integration.ZMX,然后选择 Analyze…Detector Viewer。在 Detector Viewer 的设置中,启用 Auto Update。要追迹光线以进行分析,请通过转到 Analyze…Ray Trace,然后选择Clear and Trace。由于光源仅定义 1 条分析光线,因此将追迹一条随机光线并更新探测器。单击 Trace only (仅追迹,不会清除探测器数据) 以追迹第二条光线。现在追迹的两条光线将像两个平面波一样相干干涉,彼此成一定角度,从而在探测器上产生条纹图案。因为光线是随机的,所以条纹图案每次都会不同,因此看起来不会与下图完全相同。

 

知识点 | 什么是点扩散函数?

 

每次在 Ray Trace 对话框中按下 Trace 时,都会向 Detector Viewer 中显示的总和添加另一条光线。追踪 10 条光线后,衍射 PSF 开始出现。

 

知识点 | 什么是点扩散函数?

 

大约 40 条光线后,可以看到艾里环等特征的形成。

 

知识点 | 什么是点扩散函数?

 

需要几百条光线才能合理地收敛到最终的 PSF 结果。

 

一次追迹多条光线

一次追迹一条光线的唯一原因是可视化正在如何积分。要一次追迹多条光线,请导航到非序列元件编辑器 NSCE,然后将椭圆光源物体上的分析光线数量从 1 更改为 500。

 

知识点 | 什么是点扩散函数?

 

现在重新打开光线追迹控制并按下清除和追迹。将一次追迹所有 500 条光线,生成的 PSF 将显示在 Detector Viewer 窗口中。

 

知识点 | 什么是点扩散函数?

 

即使光线是随机选择的,PSF 也会收敛到正确的艾里图案(请注意,这个特定的镜头是受衍射限制的)。

 

总结:何时使用点列图、FFT PSF 和 Huygens PSF

在以下情况下使用点列图:

  • 与衍射效应相比,几何像差很大。这可以使用点列图上的艾里斑缩放选项进行检查。

在以下情况下使用 FFT PSF:

  • 主光线相对于像面法线形成一个小角度;

  • 出瞳相对于入瞳没有明显失真;

  • 速度比绝对精度更重要。

在以下情况下使用 Huygens PSF:

  • 需要最高的准确性。

 

引用

1. Goodman, Joseph W., Introduction to Fourier Optics, McGraw Hill

2. OpticStudio Help System Zemax LLC, Kirkland, Washington, United States

 

 

 

北京朔和科技有限公司 是一家致力于向中国制造业、工程设计等行业用户提供信息化所需的软件产品解决方案和咨询服务的专业化科技企业,欢迎广大客户来电咨询!

 

 

 

相关阅读