Menu

Menu

光学设计仿真|Zernike波前拟合数据提取

光学产品研发过程中经常会用到Zernike波前拟合数据,光学设计过程中会利用Zernike拟合出瞳面的光程差,光学检测与装调中也经常利用干涉仪测试出面形或者波前差进行加工与装调指导。Zernike每一项多项式是正交的,又可以与光学中的像差进行一一对应,对于Zernike我们有时间应该去进行一定的学习,下图就是Zernike每一项的彩色图像,颜色的深浅与光程长短可对应分析。

光学设计仿真|Zernike波前拟合数据提取

Zernike分析主要软件分为两类,Zernike Fringe与Zernike Standard ,另外还有环状的,这里不细说,维基百科有详细的介绍。Zemax作为常用的光学设计软件之一,也自然有Zernike数据分析。在进行公差分析过程中,或者检测装调过程中,进行会考察某个元件某一个维度的失调对于整个系统的像差的影响,这时候就喜欢去用Zernike拟合数据进行定量化分析,由于干涉仪等检测设备多采用Zernike Fring,分析也经常用该类型,其主要特点是对球差的拟合进行了加强。本帖仅讲解其中很小的一个小点,也就是如何提取Zemax分析的Zernike数据出来,当然这个方法有很多,这里抛砖引玉。

光学设计仿真|Zernike波前拟合数据提取

 

Ctr+Shift+Z是快捷方式打开Zemax中的Zernike Fringe coefficients界面的快捷方式。可以看出,这个分析数据中包含了很多,但是往往只需要其中一列Zernike系数数据,其余的不需要。比较野蛮的做法就是每次复制一个数据,粘贴到另外一处,也有温和一点的保存TXT文本文件,然后导入EXCEL,进行分割删除,但是依旧比较繁琐。这里接下来利用宏语言进行提取,这

#2024-02-12
#Writed by Still Water
#Program is used by picking up the Zernike coefficients

INPUT “Please input the type of wavefront zernike fit(1-fringe,2-standard,3-annular):”,zerniketype
INPUT “Please input the maximum term of wavefront zernike fit(37 is max value of fringe,231 is max value of standard):”,maximum_term
INPUT “Please input sampling of wavefront zernike fit(1-32*32,2-64*64 and so on):”,sampling
INPUT “Please input the radii of the annular of wavefront zernike fit(only annular need):”,Obscuration
INPUT “Please input the OPD reference of wavefront zernike fit(0-cheif ray,1-vertex):”,reference
INPUT “Please input the wave order of wavefront zernike fit:”,wave_length
INPUT “Please input the field order of wavefront zenike fit:”,field_num

filename$ = “zernikecoefficients.dat”
path$ = $PATHNAME()
saveasfile$ = path$ + “\” + filename$

vector = 1

GETZERNIKE maximum_term, wave_length, field_num, sampling, vector, zerniketype, Obscuration, reference

OUTPUT saveasfile$
FORMAT .10
FOR order = 1, maximum_term, 1
temp = order + 8
PRINT VEC1(temp)
NEXT
OUTPUT SCREEN
BEEP
BEEP

或许是一个正常点的思路了,宏程序如下所示:

 

其中有一个指令这里进行讲解一下,就是第24行为什么加8,是因为GETZERNIKE关键字在提取的时候,是对ZEMAX分析的zernike数据里面的关键数据提取,并存放在VEC公用变量里面,VEC是一个向量,此时存放的数据前面8个就是红色框子里面的,从第9个数据才是zernike系数,这里只需要zernike系数,所以加8。另外output screen有停止向文本文件写入数据的左右,这里只是备份。

光学设计仿真|Zernike波前拟合数据提取

对上面的程序进行运行的相关截图,如下所示:

光学设计仿真|Zernike波前拟合数据提取

光学设计仿真|Zernike波前拟合数据提取

光学设计仿真|Zernike波前拟合数据提取

光学设计仿真|Zernike波前拟合数据提取

光学设计仿真|Zernike波前拟合数据提取

光学设计仿真|Zernike波前拟合数据提取

光学设计仿真|Zernike波前拟合数据提取

光学设计仿真|Zernike波前拟合数据提取

这里增加了交互式输入,可以进行Zernike不同类型数据的选择输出,并且对于不同波长视场,不同采样等的选择输出,相关设置和ZEMAX自带的分析界面的设置是一样的,兼顾了三种类型Zernike拟合数据设置。

光学设计仿真|Zernike波前拟合数据提取

如下则是Zernike Fringe波前拟合的37项系数数据,可以和上面数据截图对比无误,对于这样的纯数据则比较好用了,不上班和上班时间都很紧张,挤出来这点时间,写点东西,希望大家能学习到一点东西,龙年事业顺顺利利,所学所做均有所得。

光学设计仿真|Zernike波前拟合数据提取

免责声明:本文旨在传递更多科研资讯及分享,所有其他媒、网来源均注明出处,如涉及版权问题,请作者第一时间联系我们,我们将协调进行处理,最终解释权归旭为光电所有。