1、i录前言 .i第一章 ZEMAX 软件简介 .11.1 简介 .11.2 用户界面 .11.3 主视窗的操作(Main Windows Operations) 21.4 光学系统的建立 .31.4.1 设计要求 31.4.2 初始结构 31.4.3 其他光学特性参数输入方法 41.4.4 ZEMAX 中像质评价方法 .9第二章 ZEMAX 优化与操作符 .212.1 Merit Function(评价函数)的构成要素 .212.2 评价函数的“默认” (缺省)构成方法 .212.3 修改成自定义评价函数法 .24第三章 像差设计在 ZEMAX 中的实现 313.1 Default Merit
2、Function 和现有像差控制符的局限性 .323.1.1 轴上点的像差操作符的局限性 323.1.2 轴外物点的像差操作符的局限性 323.2 常见像差控制在评价函数中的实现 .333.2.1 轴上球差、色差的控制操作符 333.2.2 轴外初级像差的控制操作符 343.2.3 轴外物点视场孔径高级像差的定义及其控制操作符 383.3 像差设计举例 .39第四章 像差设计实例 494.1 望远镜物镜或准直物镜的设计 .49ii1第一章 ZEMAX 软件简介1.1 简介ZEMAX Optical Design Program(ZEMAX)是由美国 ZeMaX Development Corp
3、oration 公司开发的专用光学设计软件包,软件逐步升级,我们使用的版本是 2007。ZEMAX 是 Windows 平台上的视窗式的用户界面,操作习惯和快捷键风格如同 Windows。1.2 用户界面ZEMAX 的视窗类型,和 Windows 的基本一致,打开不同的视窗可以执行操作不同的任务,可分为: 主视窗 (Main Window)ZEMAX 启动以后,进入主视窗(图 1.1) 。主视窗顶端有标题栏(title bar) 、菜单栏(menu bar)和工具栏( tools bar) 。 编辑视窗(Editor Window)ZEMAX 中有 6 种不同的编辑器(Editors):即镜头
4、数据编辑器( Lens Data Editor) ,评价函数编辑器(Merit Function Editor) 、多重组态编辑器(Multi-configuration Editor) 、公差数据编辑器(Tolerance Data Editor) 、用于补充光学面的附加数据编辑器(Extra Data Editor) 、以及非序列元件编辑器(Non-sequential Components Editor) 。图 1.1 ZEMAX 主视窗界面2 图形视窗(Graphic Window)最常用的有草图(Layout) 、扇形图(Ray fans) 、调制传递函数(MTF Plots)图等。
5、 文本视窗(Text Windows)设计的文字资料,如详细数据(Prescription Data) 、像差数据等显示在文本视窗中。 对话框(Dialogs)固定大小,在过程中跳出来的视窗(鼠标拖曳不能改变大小) 。用于定义或更新视场(Fields ) 、波长(Wavelengths) 、孔径( Apertures) 、面型(Surface types)等。1.3 主视窗的操作(Main Windows Operations) 主视窗在执行 ZEMAX 后显示出来,可以用鼠标拖动改变大小,如图 1.1 所示。上部有标题栏、菜单栏、快捷按钮。底部状态栏中显示当前镜头系统的焦距(EFFL) 、F
6、 数(WFNO) 、入瞳直径(ENPD ) 、系统总长(TOTR ) 。主视窗中的快捷按钮和状态栏中内容可以自定义,菜单栏中有: 文件(File)展开后有文件的打开(Open ) ,新建(New) ,存储(Save) ,另存为(Save as)等,偏好(Preference)可以修改文字大小,快捷按钮和状态栏中的内容。 编辑器(Editors)栏中包括 ZEMAX 中所有编辑器命令,展开后可打开 Lens data editor,Merit function editor。 系统(System)定义或更新光学系统的光学特性数据,例如相对孔径、视场和选取的工作波长等。 分析(Analysis )
7、它是 ZEMAX 中的非常重要的菜单之一,是用来进行像质评价和分析的主要工具,对于其中的每一项的数据的含义,单位要很好地理解。主要有:Fans 中的球差(Ray aberration) ,点列图(Spot diagrams) 、调制传递函数( MTF) 、点扩散函数( PSF) 、波像差(Wavefront) 、圆内能量集中度(Encircled Energy) ;杂项(Miscellaneous)中的场曲与畸变(Field Curv/Dist) 、轴向球差(Longitudinal aberration)和垂轴色差(Lateral Color) 。 工具(Tools)也是 ZEMAX 中的非
8、常重要的菜单之一,分成七块:第一块用来进行光学镜头的局部优化(Optimization ) 、全局优化(Global / Search /Hammer Optimization)等;第二块分析镜头的公差,计算传递函数的点列图,波差等变化量表。第三块是材料选择,有察勘玻璃库或向库中新增添3或删除玻璃条目,寻找简单的透镜数据并插入到透镜数据编辑器中。第四块是镀膜模型。第五块是系统中镜头的孔径的定义,可以与渐晕系数配合共同使用。第六块主要用来整体设计(1)按焦距或放大率缩放当前系统;(2)在当前系统中加入或删除折转发射镜。第七块以后讨论。 报告(Report)形成镜头设计结果的报告,可以作为每一个光
9、学面的形成报告(Surface data) ;也能为镜头系统形成高斯参数或光学特性参数的报告(System data) ;还可以给出设计结果的详细数据报告(Prescription data) 。 宏编程(Macros)执行已经编译好的宏程序。宏程序的编程过程:(1)使用一般的文本编辑器或使用ZEMAX 自身的编辑功能创建扩展名为“*.ZPL”文件,该文件置于 ZEMAX 目录下的 Macros 目录中;(2 )使用 ZEMAX 提供的命名或函数库进行程序编写;( 3)用 Macros 菜单下的“Run/Edit Zpl Macros”执行宏程序。宏程序可以提取光线追迹数据、像质指标等,可以定
10、义新的优化设计用的操作符。执行时,宏程序作用的对象是当前显示的镜头系统。 外部程序接口(Extensions)ZEMAX 环境中,使用该接口可以执行外部扩展名为“*.EXE”的执行程序,用来与 ZEMAX交换数据,或 ZPL 宏不能完成的功能。外部程序可以用 C 语言等编程工具完成。 视窗(Windows)与帮助(Help )菜单1.4 光学系统的建立1.4.1 设计要求如要设计的系统要求:f = 200 mm,视场角 2 = 30,D/f1/10。物距为:(1)物距位于有限远,近轴放大率为 1;(2)物距位于无限远。1.4.2 初始结构1. 选取方法初始结构选取方法有二,一是从国内外的光学设
11、计手册,专利,镜头数据库中选取;如果手中没有以上资源,则需进行计算,找出满足光焦度,视场等光学特性要求得雏形,来作为初始结构。下面以第二种方法为例,建立起满足特性的初始结构。2. 计算建立初始结构由总光焦度和视场要求:至少要有两个组份构成,有总光焦度(1.1)FBFd。设两组分光焦度相等,即 ,则(1.1)式变为4(1.2)2Fd。式(1.2)中 为已知量, 为未知量,解二次方程可得:F(1.3)1=d如果使用双凸透镜,且两个凸面曲率半径大小相等,则曲率半径为:(1.4)F(1)2nR代入设计要求,选择透镜材料为 ZF1(n d1.64767,v d33.87) ,工作波长为 0.55 m,
12、则初始结构在 ZEMAX 中的数据为: 表 1.1 例题的初始结构参数1.4.3 其他光学特性参数输入方法1 General 输入相对孔径General 功能可以由 “System”“General”选择,还可以通过桌面上 “Gen”快捷键来打开,General 对话框如图 1.2 所示。图 1.2 General 对话框5由图 1.2 可以看出,General 对话框中具有 Environment,Polarization,Misc.,Non-Sequential,Aperture,Title/Notes,Glass Catalogs,Ray Aiming 等项。相对孔径的定义在 Apert
13、ure 中设置。最常用的选项解释如下:A. ApertureAperture Type 用于定义相对孔径,即轴上物点的光束大小。定义的种类有:(1 ) Entrance Pupil Diameter(入瞳直径)当物体位于无限远时,可以用它来定义相对孔径,此时的 Aper Value 中输入具体的入瞳直径数值,选择 Lens Units 为 Millimeter(毫米) 。(2 ) Image Space F/#(像方 F 数)无论物体位于无限远还是有限远,都可以用像方 F 数来定义相对孔径。其物理意义是“近轴有效焦距(EFFL)/入瞳直径” ,此时在 Aper Value 中输入 F 数。(3
14、 ) Object Space Numerical Aperture(物方数值孔径)当物体位于有限远,可被用来定义相对孔径,其含义为 N.A.nSin( ),n 为物方介质折射率, 为高斯边缘光线孔径角,如图 1.3 所示。图 1.3 Oblect Space N.A. 示意图在 Aper Value 中输入 N.A.值。(4 ) Float by Stop Size(由光阑大小决定)这是定义轴上物点光束孔径的另一种方法,由 Lens data Editor 中光阑(Stop)面的“Semi-Diameter”大小来决定,此时“Lens Data Editor”中的光阑大小值右边显示“U” ,
15、表示Stop Surface 的孔径被用户固定,无法给出 Aperture,数值输入栏则自动变暗不能被操作。(5 ) Paraxial Working F/#(近轴工作 F 数)定义式为:(1.5)1=2tannumber式中 为系统像方折射率, 为高斯边缘像方光线孔径角。在计算 过程中,认为系统无像差,n按照理想系统的边缘光线追迹方法。在 Aper Value 中输入 F 数,注意前面的 Image Space F/#区别。6(6 ) Object Cone Angle(物方锥角)亦物方孔径角。当物体位于有限远,可用轴上物点发出的边缘光线来定义光束孔径,以物空间边缘光线的半角,即图 1.4
16、中的 U 来定义,单位“度” ,可以大于 90。图 1.4 Oblect Cone Angle 定义示意图B. General 对话框中其他功能(1 ) Apodization Type(定义光瞳上光强分布)选项有: a) None 表示光瞳被均匀照明;b) Gaussian 表示光瞳上光振幅扰动为高斯型,即:(1.6)2()=GAe其中 为光瞳归一化极坐标, G 为切趾(Apodization)因子,如果 G0,表示光瞳被均匀照明,G 一般小于 40。c) Tangential 表示正切型光瞳振幅分布,即:(1.7 )32()=)zIr其中 Z 为光瞳面上面元到点光源的距离,r 为光瞳面上的
17、位置坐标(离开光轴的距离) ,如图 1.5所示,光瞳中心(轴上)为 0,最大值一般被归一化为单位 1。图 1.5 正切型照明示意图光振幅 ,如 r 采用归一化的坐标 ,有 01,则 X 分量重要;1,Y 分量重要;1,同等重要。完成以上选项,点中“OK” ,则在“Merit Function Editor”中会出现多行的控制内容。下面再设置好光学系统的变量后,就可以进行优化设计了。“傻瓜”评价函数建立方法的特点是较为便捷,无须搞清楚具体操作符的含义,以及权因子究竟选多少合适。因主要采用 Wavefront 和 Spot Radius 作为评价指标,所以该评价函数建立方法适用于像面面型固定的设计
18、场合,如照相机镜头、平行光管物镜、波面变换物镜等。2.3 修改成自定义评价函数法由“Editors Merit Function”可以打开评价函数编辑器,用“Insert”或“Delete”键可增删,编辑评价函数,评价的编辑器是一种电子表格形式,每一行都是对一个操作符的描述,该电子表格的表头如图 2.2 所示。Oper# Type Int 1 Int 2 Hx Hy Px PyTargetWeightValue %Contrib图 2.2 Merit Function 编辑器电子表格表头样式Oper#操作符所处的位置序号; Type操作符名称,一般由四个大写英文字母组成,如后面介绍的“EFFL
19、” ,就是控制系统有效焦距的操作符;Int1 和 Int2正整数,用来定义操作符所需的参数;Hx 和 Hy 归一化视场;Px 和 Py归一化光瞳直径;Target操作符目标值;Weight 操作符的权因子; ValueZEMAX 自动计算出的该操作符的实际值;ContribZEMAX 自动据操作符的目标值与实际值偏差及权因子计算在整个评价函数中的贡献量,贡献量最大值为 100,最小值为 0,贡献量大小决定该操作符控制的“像素”被优化设计满足的程度。图 2.2 中表头,对不同的操作符出现的形式不一样,有时会全部出现,如反映百分畸变的DISG,有的只出现部分,如控制有效焦距的 EFFL。ZEMAX
20、 提供 285 种操作符,作为评价函数构建所用的“砖头” ,如果能弄清楚这些操作符的物理含义,使用起来就会得心应手,进行自定义评价函数。操作符种类的分布情况,如表 2.1 所示。下面来介绍内建操作符中部分常用的符号和所代表的意义。 高斯光学参数(外形尺寸数据)First Optical Properties 代表高斯光学参数,属于基本光学特性。包括: EFFL: Effective focal length 的缩写,指定波长号的有效焦距;EFLX: 主波长情况下,指定面范围内 X 面里的有效焦距;EFLY: 主波长情况下,指定面范围内 Y 面里的有效焦距; 对于旋转对称系统而言,EFLX 和
21、EFLY 可以控制中间系统的焦距;25PIMH: 指定波长的近轴像平面上的近轴像高;POWR: 标准类型面(Standard Surface)中指定面指定波长的光焦度 ;nrPMAG: 指定波长近轴垂轴放大率 ,y 表示主光线在近轴象平面上的高度,yy表示物高。仅用于有焦系统,如果存在畸变, 与应用光学中的 有差别。AMAG: 角放大率。近轴像空间与物空间的指定波长主光线焦距之比;ENPP: 以第一面为零点的入瞳位置(近轴)无参量指定;EXPP: 以像面为零点的岀瞳位置无参量指定;EPDI: 无参量指定的入瞳直径;LINV: 拉氏不变量,用指定波长近轴子午和主光线数据计算;WFNO: Work
22、ing F/#的简写, ,其中 为像空间边缘光学孔径角,12sinWn为像空间折射率 无参量指定;ISFN: Image Space F/#的简写,表示近轴有效焦距/近轴入瞳直径无参量指定;SFNO: Sagittal Working F/#的简写,指定视场与波长的弧矢工作 F/#;TFNO: Tangential Working F/#的简写,指定视场和主波长的子午工作 F/#;OBSN: Object Space Numerical Aperture 的缩写,针对轴上点的主波长计算物空间的数值孔径。表 2.1 ZEMAX 优化设计所用的内建操作符分布种 类 数 量高斯光学参数 16像差传递
23、控制操作符 37光学传递函数 9圆内能量 2透镜边界条件 50光学面 8 个参数控制 24=38Extra Data 3光学材料控制 10光线数据(近轴、实际光线) 44光学件全局坐标控制 6数学运算操作符 20多重结构 5其他(包括高斯光束、渐变折射率、用户自定义操作符、无序控制等)59总计 28526 像差控制操作符SPHA: 由指定面贡献的球差值,单位:波长。指定 Surf 与 Wave;如果 Surf0,则指整个系统的球差总和。因没有指定 Px,Py,故只为初级球差。COMA: 指定面贡献的慧差,单位:波长。指定 Surf 与 Wave;如果 Surf0,则指整个系统的慧差总和。没有指
24、定孔径(Px,Py)与视场(Hx,Hy ) ,因此仍为三级慧差(属赛德像差)。ASTI: 三级像散,指定面贡献的像差,单位:波长。FCGS: 指定视场和波长的归一化弧矢场曲;FCGT: 指定视场和波长的归一化子午场曲;FCUR: 指定光学面贡献的场曲,单位:波长;指定 Surf 与 Wave;如果 Surf0 ,则指像面上的慧差,三级慧差,属赛德像差。DIST: 指定光学面贡献的畸变,单位:波长;三级畸变,属赛德像差。DIMX: 指定视场和波长的最大畸变。如果视场号为 0,则指最大视场对非旋转对称系统无效(即 x, y 视场要一样) 。DISC: 标准畸变,用于设计 f透镜,最大波长。DISG
25、: 控制归一化百分畸变。指定任何视场点作为参考, (Ref Fld)指定波长和视场,指定孔径(光瞳) 。AXCL: 控制近轴轴向色差,单位:长度单位,无参数指定;LACL: 控制垂轴色差。无指定参数,指初级像差 ;2FCy 以主光线为参照的垂轴几何像差:TRAR: 径向尺寸,指定波长孔径(Px, Py)视场(Hx, Hy) ;TRAD: TRAR 的 x 分量,指定同上;TRAE: TRAR 的 y 分量,指定同上;TRAI: 垂轴几何像差半径,指定面号、波长、孔径和视场;TRAX: X 面(弧矢面)内的垂轴几何像差;指定面号、波长、 (Px, Py)和(Hx, Hy) ;TRAY: Y 面(
26、子午面)内的垂轴几何像差;指定面号、波长、 (Px, Py)和(Hx, Hy) ; 以质心为参照的垂轴几何像差:TRCX: 垂轴几何像差的 X 分量,指定面号、波长、 (Px, Py)和(Hx, Hy) ;TRCY: 垂轴几何像差的 Y 分量,指定面号、波长、 (Px, Py)和(Hx, Hy) ;TRAC: 像面上的弥散圆半径;建议用户在 Merit Function 的“Default Merit Function”中使用,不要单独使用; 波像差控制操作符:27OPDC: 以主光线为参照的波像差,单位:波长;指定波长、孔径和视场;OPDM: 以 Mean 为参照的光程差,指定同上;OPDX
27、: 光程差,以质心为参照系;其余项不太常用,在此不做介绍。 光学传递函数操作符 衍射传递函数:MTFA: 指定采样密度、波长、视场和空间频率的平均衍射调制传递函数(子午和弧矢的平均) ;MTFT: 子午调制传递函数(衍射) ;MTFS: 弧矢调制传递函数;MTFA、MTFT、MTFS 操作符需指定的指定参数:采样密度:132 32,26464,波长: 0多色,1波长 1, 视场: 有效视场编号;空间频率: 单位: 1/mm; 几何传递函数:GMTA: 平均几何调制传递函数;GMTS: 弧矢几何调制传递函数;GMTT: 子午几何调制传递函数; 方波调制传递函数:MSWA: 平均方波调制传递函数;
28、MSWT: 子午方波调制传递函数;MSWS: 弧矢方波调制传递函数; 注意:(1 ) 传函优化速度慢,一开始先应用 RMS Wavefront or Spot 评价函数优化,使像质较好后,如需提高传函,则再用传函优化;(2 ) Wavefront 很大如大于 2 以上时,衍射传函计算出错,此时可用几何传函查看传递函数情况;如像质很好,可计算或优化衍射传函;(3 ) 几何传函计算时间长于衍射传函。 透镜边界条件 控制玻璃厚度与空气间隔以及边缘厚度:在下列符号中,第三个字母为“E”的控制符只适用于旋转对称系统,其余均可用于旋转28与非对称系统,需要指定光学面范围。MNCG: 最小玻璃中心厚度;MN
29、EG:最小玻璃边缘厚度;MXCG: 最大玻璃中心厚度;MNCA: 最小空气中心厚度;MXEG: 最大玻璃边缘厚度;MNEA: 最小空气边缘厚度;MXCA: 最大空气中心厚度; MXEA: 最大空气边缘厚度;以下控制符既适合于控制玻璃,也适合于控制空气间隔;MXET: 最大边缘厚度;MNCT: 最小中心厚度;MNET: 最小边缘厚度;MXCT: 最大中心厚度;下列符号适用于非旋转对称系统。通过检查周长上许多点,看边缘厚度是否超标,需要指定光学面范围。XNEG: 最小玻璃边缘厚度;XNEA: 最小空气边缘厚度;XXEG: 最大玻璃边缘厚度;XXEA: 最大空气边缘厚度;XNET: 最小边缘厚度;
30、XXET: 最大边缘厚度; 单个光学面的控制符:CTLT: 中心厚度小于;CTGT: 中心厚度大于;CTVA: 中心厚度值;ETGT: 边缘厚度大于;ETLT: 边缘厚度小于;ETVA: 边缘厚度值;使用上述控制符,需要指定面号。 控制透镜形状,使用控制符时;需要指定某一光学面号:CVVA: 曲率值;CVGT: 曲率值大于;CVLT: 曲率值小于;SVGZ: XZ 平面内矢高;COGT: Conic 大于;COLT: Conic 小于;COVA: Conic 值;SAGY: YZ 平面内矢高; 控制透镜口径以及口径与厚度比:DMVA: 口径值;DMGT: 口径大于;DMLT: 口径小于;MNSD: 最小半口径;MXSD: 最大半口径;使用上述控制符时,需要指定某一光学面。MNDT: 最小直径/中心厚度之比; MXDT: 最大直径/中心厚度之比;MNDT 和 MXDT 需要指定 First Surf, Last Surf,只有对玻璃或介质有效,对空气介质无效。TTLT: 总厚度小于; TTGT:总厚度大于;TTVA: 总厚度值;使用上述控制符时,需要指定 Surf 号与 Code。其中 code 为 0 代表 y 轴,为 1 代表 x