点击 719回复 0 原帖 2023-04-07 12:27

Ansys Zemax | 如何使用 Zernike 凹陷表面对全反射系统进行建模

 本文介绍如何使用Zernike标准下垂表面对全反射系统进行建模。全反射系统是一种特殊情况,其中Zernike凹陷表面可用于模拟给定场点的所有波长下的性能。使用Zernike凹陷表面代替Zernike相位,因为衍射功率与波长变化时的反射功率不同。一个相位波是任何波长的一个波,但0.5微米处的一个下垂波在1.0微米处只有半个波。(联系我们获取文章附件)

 

介绍

 

这是“如何使用Zernike系数对黑盒光学系统进行建模”的姊妹篇。两篇文章可一起阅读。 
 

Zernike数据表示光学系统在特定场和波长下的性能测量。因为关于玻璃、曲率半径、非球面系数等的信息。不是 Zernike 数据的一部分,无法将 Zernike 数据缩放到不同的场或波长。

 
如果您使用的是全反射设计,则可以使用Zernike标准凹陷表面来描述给定视场下所有波长的光学系统像差,因为全反射系统不会遭受色差。
 

约洛望远镜示例

 

例如,考虑类似Yolo望远镜的:

 


这个没有遮挡的望远镜产生这样的波前:

 


现在,要使用 Zernike 下垂曲面制作等效系统,我们只需要出口瞳孔位置和直径,如上一篇文章所示。此数据是:
 

出瞳直径 = 701.681 mm 出瞳位置 = 9484.22 mm

 

仍然遵循上一篇文章,可以产生如下一阶等效系统:

 


其中,系统的入射瞳孔直径设置为原始Yolo的出射瞳孔直径,近轴透镜的焦距设置为与出射瞳孔位置相同的值。这为我们提供了一个与原始参考球体半径相同的一阶系统。
 

然后,我们以下垂为单位导出 Zernike 数据。执行此操作的宏类似于原始文章中提供的宏,但添加了额外的缩放因子:
 

SUB get_scale

! Get the conversion factor to take phase to sag in mm

! Assume mm for all lens units: will need to modify if not the case

! Get the wavelength, in microns

primary = WAVL(PWAV())

! to mm…primary =

primary/1000

! Scale factor is one wavelength equals this much sag

! Factor of two because the surface is used in reflection

scale = -1 * primary/2

RETURN
 

然后用于在保存到磁盘之前将 Zernike 数据缩放为下垂单位:

 

FOR order = 1, max_order, 1

z_term = order + 8 # offset to the correct location in the data structure, see Help Files!

PRINT VEC1(z_term)*scale

NEXT order

 

然后使用导入工具将 Zernike 数据导入到 Zernike 标准凹陷表面,可以看到相同的波前误差和其他光线追踪结果:

 


原始文件和 Zernike 等效文件都在附件中。如果添加更多波长,您将看到两个文件在任何波长下都给出相同的结果。然而,详细的透射和其他偏振数据将不等效,因为Zernike文件对原始文件中使用的涂层一无所知,并且仍然没有办法预测望远镜的行为将如何随场变化:仍然需要一组每个场的Zernike系数。

举报收藏 0打赏 0