ZEMAX中如何优化非序列光学系统(翻译)
- 格式:doc
- 大小:279.50 KB
- 文档页数:19
ZEMAX光学设计:在非序列模式下仿真双折射实例
引言:
在非序列模式下,在物体类型(Object Type)中设置相关参数来仿真双折射偏振器件。
设计仿真:在ZEMAX非序列模式下仿真双折射偏振器件。
在波长设定对话框中,选择F,d,C(visible)自动加入三个波长,如下图:
在NSC Editor中输入结构参数,如下图:
第一行,设置一个椭球光源,Layout Rays设为100,Analysis Rays 设为100000,X Half Width和Y Half Width分别设为0.5mm,其他参数默认。
第二行,设置一个柱状双折射晶体,Z Position设为1,Material设为CALCITE(方解石),Front R和Back R分别设为20,Z Length设为100。
如上图,在第二行的Index对话框中,选择Birefringent,并在Ay 和Az分别设为0.707,Axis Length(轴线长度)为10mm。
第三行和第四行,分别设置两个Source Rectangle,用于分别探测o光和e 光。
查看NSC 3D Layout,如下图:
注意:需要勾选“Split NSC
Rays”。
查看探测器探测到的o光和e光的图像,如下图:。
ZEMAX优化函数结构浅探许正光各种光学自动软件最终都归结到优化函数结构和优化过程算法的问题。
最近,本人在使用ZEMAX过程中,仔细分析了一下构成ZEMAX软件的优化函数构成以及优化过程算法,有些心得,留给入门的朋友们共享。
一、优化函数结构凡使用过SOD88软件(北京理工大学光电工程系开发)或者ZEMAX、CODEV的设计人员都知道,优化的参数包括以下几个种类:光学特性参数,例如焦距、入瞳距离、成像尺寸或者物高、物距,镜片间空气间距、镜片厚度等等;像质参数,例如畸变、场曲、彗差等等。
ZEMAX将所有这些要求达到的目标都作为一个优化元附加一定的权重系数组成一个优化函数,并且通过改变结构参数使得这个优化函数趋向最小。
数学表达式为:,其中为各个优化元的权重系数,为系统结构参数光学追迹出来的各个优化元,例如焦距、畸变、彗差等等,为该优化元的目标值。
优化过程有局部优化和全局优化两种。
局部优化是指,通过改变系统结构参数的数值(半径、厚度、光学玻璃材料)计算出各个优化元的数值,然后构成整个优化函数的值的计算过程。
该过程的思路是解决当前状态已经处于“U”型中的某个位置,迫使其落到“U”中间的最小位置。
全局优化和局部优化不同的是,优化过程类似于一个搜索过程,这个搜索过程在结构参数限定的某个区域内进行优化,优化函数可能经历若干过波峰和波谷(多个极值之间)进行。
由于采用的方法不同,构成了多种全局优化算法。
全局优化能够避开某个局部极值寻找到更加优良的结构形式,使得光学设计距离完全自动化更进了一步。
当然,目前的各种算法都还有一定局限性,例如搜索能力强度、计算复杂程度,由此影响计算速度、计算资源需求量以及误差累计造成的准确度等等问题。
但是不管怎么样,现有的几种光学设计软件基于现有的高度发达计算机水平、光学设计发展水平和数学优化算法等,已经能够很好的满足具有一定光学设计经验知识的设计者们。
二、ZEMAX的缺省优化函数结构入门的光学设计者通常知道在进行结构优化时选用default缺省的优化函数,然后加入少量的优化目标例如焦距来进行优化分析,但是对于这个缺省结构怎么构成的常常缺乏深入分析,这在一定程度上限制了我们进一步充分利用软件优化能力的水平发挥。
注:此版本ZEMAX中文说明由光学在线网友elf提供!目录第1章引第2章用户界面第3章约定和定义第4章教程教程1:单透镜教程2:双透镜教程3:牛顿望远镜教程4:带有非球面矫正器的施密特—卡塞格林系统教程5:多重结构配置的激光束扩大器教程6:折叠反射镜面和坐标断点教程7:消色差单透镜第5章文件菜单 (7)第6章编辑菜单 (14)第7章系统菜单 (31)第8章分析菜单 (44)§8.1 导言 (44)§8.2 外形图 (44)§8.3 特性曲线 (51)§8.4 点列图 (54)§8.5 调制传递函数MTF (58)§8.5.1 调制传递函数 (58)§8.5.2 离焦的MTF (60)§8.5.3 MTF曲面 (60)§8.5.4 MTF和视场的关系 (61)§8.5.5 几何传递函数 (62)§8.5.6 离焦的MTF (63)§8.6 点扩散函数(PSF) (64)§8.6.1 FFT点扩散函数 (64)§8.6.2 惠更斯点扩散函数 (67)§8.6.3 用FFT计算PSF横截面 (69)§8.7 波前 (70)§8.7.1 波前图 (70)§8.7.2 干涉图 (71)§8.8 均方根 (72)§8.8.1 作为视场函数的均方根 (72)§8.8.2 作为波长函数的RMS (73)§8.8.3 作为离焦量函数的均方根 (74)§8.9 包围圆能量 (75)§8.9.1 衍射法 (75)§8.9.2 几何法 (76)§8.9.3 线性/边缘响应 (77)§8.10 照度 (78)§8.10.1 相对照度 (78)§8.10.2 渐晕图 (79)§8.10.3 XY方向照度分布 (80)§8.10.4 二维面照度 (82)§8.11 像分析 (82)§8.11.1 几何像分析 (82)§8.11.2 衍射像分析 (87)§8.12 其他 (91)§8.12.1 场曲和畸变 (91)§8.12.2 网格畸变 (94)§8.12.3 光线痕迹图 (96)§8.12.4 万用图表 (97)§8.12.5 纵向像差 (98)§8.12.6 横向色差 (99)§8.12.7 Y-Y bar图 (99)§8.12.8 焦点色位移 (100)§8.12.9 色散图 (100)§8.12.10 波长和内透过率的关系 (101)§8.12.11 玻璃图 (101)§8.12.10 系统总结图 (101)§8.13 计算 (103)§8.13.1 光线追迹 (103)§8.13.2 塞得系数 (104)第九章工具菜单 (108)§9.1 优化 (108)§9.2 全局优化 (108)§9.3 锤形优化 (108)§9.4 消除所有变量 (108)§9.5 评价函数列表 (109)§9.6 公差 (109)§9.7 公差列表 (109)§9.8 公差汇总表 (109)§9.9 套样板 (109)§9.10 样板列表 (111)§9.11 玻璃库 (112)§9.12 镜头库 (112)§9.13 编辑镀膜文件 (114)§9.14 给所有的面添加膜层参数 (115)§9.15 镀膜列表 (115)§9.16 变换半口径为环形口径 (115)§9.17 变换半口径为浮动口径 (116)§9.18 将零件反向排列 (116)§9.19 镜头缩放 (116)§9.20 生成焦距 (117)§9.21 快速调焦 (117)§9.22 添另折叠反射镜 (117)§9.23 幻像发生器 (118)§9.24 系统复杂性测试 (120)§9.25 输出IGES文件 (120)第十章报告菜单 (124)§10.1 介绍 (124)§10.2 表面数据 (124)§10.3 系统数据 (125)§10.4 规格数据 (125)§10.5 Report Graphics 4/6 (126)第十一章宏指令菜单 (127)§11.1 编辑运行ZPL宏指令 (127)§11.2 更新宏指令列表 (127)§11.3 宏指令名 (127)第十二章扩展命令菜单 (128)§12.1 扩展命令 (128)§12.2 更新扩展命令列表 (128)§12.3 扩展命令名 (128)第十三章表面类型 (130)§13.1 简介 (130)§13.2 参数数据 (130)§13.3 特别数据 (131)§13.4 表面类型概要 (131)§13.4.1 用户自定义表面 (131)§13.4.2 内含表面 (132)§13.5 标准面 (136)§13.6 偶次非球面 (136)§13.7 奇次非球面 (137)§13.8 近轴表面 (138)§13.9 近轴X-Y表面 (138)§13.10 环形表面 (139)§13.11 双圆锥表面 (139)§13.12 环形光栅面 (140)§13.13 立方样条表面 (141)§13.14 Ⅰ型全息表面 (142)§13.15 Ⅱ型全息表面 (143)§13.16 坐标断点表面 (143)§13.17 多项式表面 (145)§13.18 菲涅耳表面 (145)§13.19 ABCD矩阵 (146)§13.20 另类面 (146)§13.21 衍射光栅表面 (147)§13.22 共轭面 (148)§13.23 倾斜表面 (149)§13.24 不规则表面 (149)§13.25 梯度折射率1表面 (150)§13.26 梯度折射率2表面 (152)§13.27 梯度折射率3表面 (152)§13.28 梯度折射率4表面 (153)§13.29 梯度折射率5表面 (154)§13.30 梯度折射率6表面 (155)§13.31 梯度折射率7表面 (156)§13.32 梯度折射率表面Gradium TM (157)§13.33 梯度折射率9表面 (160)§13.34 梯度折射率10表面 (161)§13.35泽尼克边缘矢高表面 (162)第十五章非序列元件 (162)第十七章优化 (228)第十八章全局优化 (290)第十九章公差规定 (298)第二十章多重结构 (338)第二十一章玻璃目录的使用 (345)第二十二章热分析 (363)第二十三章偏振分析 (373)第二十四章ZEMAX程序设计语言 (390)第二十五章ZEMAX扩展 (478)第五章文件菜单新建(New)目的:清除当前的镜头数据。
怎样在ZEMAX非序列模式里进行公差分析摘要这篇文章以自由形(freeform)通光管为例,详述了在ZEMAX非序列模式里进行公差分析的方法。
作者Akash Arora发布时间2010年9月14日译者YOng导语公差分析是系统地将制造、装配、材料等误差引入到光学系统,并判断它们对系统性能的影响的过程。
如果你是第一次接触“公差分析”,或者你想知道更多公差分析过程背后的理论,请先阅读”How to Perform a Sequential Tolerance Analysis”。
ZEMAX手册第16章也包含“公差分析”的详细内容。
这篇文章的目的是介绍非序列系统里的公差分析的方法。
公差操作数及设置在非序列系统里,三个公差操作数(TNPS,TNPA和TNMA)可以得到任意感兴趣的微扰值。
它们分别被用来设置非序列物体的位置/倾斜,参数及材料特性的公差。
两个补偿器操作数(CNPS和CNPA)提供了指定调节方式(allocate adjustment)的全面方法。
这两个操作数允许分别指定非序列物体的位置/倾斜及参数为补偿器。
另外,操作数TMCO及CMCO允许设置多重结构数据作为公差项和补偿器。
你可以从ZEMAX手册第16章得到全面而详细的公差操作数介绍。
非序列公差分析使用用户自定义的绩效函数作为公差准据(toleranc-ing criterion),包括绩效函数和使用一系列已保存绩效函数的用户脚本。
这种做法的优势是绩效函数极有可能被用于优化过程,对于评估系统系能而言,这些已经足够。
关于非序列优化及绩效函数的构建,请阅读文章“How to OptimizeNon-sequential Optical Systems”。
下面是非序列公差分析需要注意的事项:✧忽略补偿器的最小/最大边界限制,因为绩效函数和用户脚本是唯一的准据。
作为替代,使用绩效函数边界操作数(NPGT,NPLT等)限制补偿器的边界值;✧操作数TOLR可以用于非序列模式里的优化,但是用户脚本始终是唯一的合法准据。
zemax非序列布尔运算English Answer:In ZEMAX, non-sequential Boolean operations allow you to combine multiple optical elements or surfaces into a single, complex shape. This can be useful for creating complex optical systems that would be difficult or impossible to create using traditional methods.There are two main types of non-sequential Boolean operations:Union: This operation combines two or more optical elements or surfaces into a single, contiguous shape. The resulting shape is the sum of the individual shapes.Intersection: This operation creates a new optical element or surface that is the intersection of two or more existing optical elements or surfaces. The resulting shape is the common area of the individual shapes.Non-sequential Boolean operations can be used to create a wide variety of complex optical shapes, including:Apertures: Non-sequential Boolean operations can be used to create complex apertures with arbitrary shapes. This can be useful for creating custom apertures for imaging systems or for blocking unwanted light.Filters: Non-sequential Boolean operations can be used to create complex filters with arbitrary transmission or reflection characteristics. This can be useful for creating custom filters for imaging systems or for blocking unwanted light.Mirrors: Non-sequential Boolean operations can be used to create complex mirrors with arbitrary shapes. This can be useful for creating custom mirrors for imaging systems or for redirecting light.Lenses: Non-sequential Boolean operations can be used to create complex lenses with arbitrary shapes. This can beuseful for creating custom lenses for imaging systems or for correcting optical aberrations.Non-sequential Boolean operations are a powerful tool for creating complex optical systems. They can be used to create a wide variety of shapes that would be difficult or impossible to create using traditional methods.Chinese Answer:在 ZEMAX 中,非序列布尔运算允许您将多个光学元件或表面组合成一个单一的复杂形状。
zemax非序列中模拟径向光栅Zemax是一款常用于光学系统设计与模拟的软件工具,而非序列中模拟径向光栅则是其中一个重要的应用。
本文将以“Zemax非序列中模拟径向光栅”为题,探讨该应用的原理、特点以及在光学设计中的应用。
在光学系统中,光栅是一种常用的光学元件,用于分光和光谱分析等应用。
径向光栅是其中一种特殊类型的光栅,其刻线的形状呈现径向分布,可以实现对光束的径向调制。
在光学设计中,使用非序列方法模拟径向光栅可以更加精确地描述光栅的性能,提高光学系统的设计效果。
Zemax非序列方法模拟径向光栅的原理是基于非序列法(Non-Sequential Mode)进行光学系统的建模和分析。
非序列法是一种适用于非连续光学系统的模拟方法,通过追踪光线的传播路径和相位信息,可以模拟光线在非连续系统中的传播和衍射现象。
在Zemax 中,通过设置合适的参数和使用特定的光学元件模型,可以实现对径向光栅的模拟和优化。
在使用Zemax进行非序列模拟径向光栅时,首先需要确定光路的输入和输出方式。
典型的光栅光路包括入射光束、光栅、衍射和焦点成像等环节。
通过设置光束的入射角度、光栅的参数和位置等,可以模拟出不同类型的径向光栅。
在模拟径向光栅时,需要考虑光栅的刻线形状、周期和深度等参数。
刻线形状的选择将直接影响到光栅的衍射效果和光束的调制特性。
常见的刻线形状包括圆弧形、正弦形和方形等,不同形状的刻线将产生不同的衍射效果。
周期和深度则决定了光栅的空间频率和调制幅度,直接影响到光栅的调制效果和分辨率。
在模拟径向光栅时,需要注意光栅的材料和衍射效率。
光栅的材料决定了其光学性能和耐用性,常见的材料包括玻璃、金属和聚合物等。
衍射效率则决定了光栅的光学损耗和性能,可以通过调整光栅的参数和优化光路来提高衍射效率。
Zemax非序列中模拟径向光栅具有以下特点和优势:1. 高精度模拟:通过使用非序列法和优化算法,可以实现对径向光栅的高精度模拟和优化。
ZEMAX中如何优化非序列光学系统(翻译) 优化就是通过改变一系列参数值(称做变量)来减小merit function的值,进而改进设计的过程,这个过程需要通过merit function定义性能评价标准,以及有效变量来达到这一目标。本文为特别的为non-sequential 光学系统优化提供了一个推荐的方法。推荐的方法如下:
The recommended approach is: • 在所有merit function中使用的探测器上使用像素插值,来避免像素化探测器上的量化影响。 • 使 用这些探测器上的合计值,例如RMS spot size, RMS angular width,angular centroid, centroid location 等,而不是某个特定像素上的数据。这些'Moment of Illumination' 数据优化起来比任何特定的像素点的值平缓的多。 • 在优化开始之初使用正交下降优化法(Orthogonal Descent optimizer),然后用阻尼最小二乘法(damped least squares)和锤优化器(Hammer optimizers)提炼结果。正交下降法通常比阻尼最小二乘法快,但得到的优化解稍差。首先使用正交下降优化法。
作为例子,我们用几分钟的时间优化一个自由形式的反射镜,最大化LED的亮度,使之从23Cd增加到>250 Cd。
Damped Least Squares vs Orthogonal Descent ZEMAX 中有2中局部优化算法:阻尼最小二乘法(DLS)和正交下降法(OD)。DLS利用数值计算的结果来确定解空间的方向,即merit function更低的方向。这种梯度法是专门为光学系统设计的,建议所有的成像和经典光学优化问题使用。然而,在纯非序列系统优化中,DLS 不太成功,因为探测是在像素化的探测器上,merit function是本质上不连续的,这会使梯度法失效。 如下是一个NS系统的the merit function的一条扫描线,该function 仅有一个变量。 可以看到在merit function空间的很长区域内,merit function没有改变,改变的到来是突然的,不连续的。这让基于梯度搜索技术的优化很困难。
正 交下降(OD)优化法利用变量的正交规范和解空间的离散采样来减小merit function.OD算法不计算merit function的数字衍生物. 对于merit functions有内部噪声的系统,例如非序列系统,OD常常超越DLS优化.这在照明最大化,亮度增强,和对比度优化等问题上非常有用。
像素插值和NSDD 除了使用的具体的算法外,ZEMAX 还包含一些大大改善NS系统优化的特色。如上所述,由于探测器像素化,NS解空间倾向于不连续。如果给定光线的能量,仅仅分配到一个像素上,当系统改变导 致光线在该像素的任意位置移动时没有量的差异。结果是,当光线穿过边界进入新的像素时,merit function产生了不连续的derivatives (衍生物),优化困难.
这可以通过在探测器上扫描一条光线来说明。如下所示点的全局图给出了探测器的发光中心随光线位置的改变。 解决这个问题的一种方法是使用像素插值。根据光线在pixel内部相交的位置,一部分能量被分配到像素,而不是,而不是将100%的能量分配到单个像素。结果是,当系统改变导致光线移动经过一个像素时,merit function有显著的改变。 Pixel interpolation可以在Object properties ->Type标签下选中. 如果我们在pixel interpolation enabled的情况下让一条光线扫描探测器,发光中心,以及大多数其他评价标准的改变是连续的,DLS 能方便的使用。 Merit function中报告的发光中心是利用NSDD优化操作数计算的。NSDD代表non-sequential detector data, 是报告非相关探测数据最有用的操作数。NSDC 对相干的计算是等价的。NSDD 操作数的语法如下: NSDD Surf Det# Pix# Data
Surf 定义非序列组的面(在纯NSC中为1), Det# 定义用于报告数据的探测器(它
也可以用于清除一个或者全部探测器), Pix# 定义需要返回的像素或计算值, Data 定义返回 flux, irradiance 还是 intensity 数据. 这些变量允许一系列评价
标准的优化:最小的光斑尺寸(最小的RMS空间宽度),最大能量(总的flux),空间均匀性(所有像素的标准差 -standard deviation),准直(最小RMS角度宽度),及更多其它的。NSDD 功能更细节的描述,参见ZEMAX 使用手册中的Optimization 章节。
系统设置 发光二极管(Light-emitting diodes,LEDs) 是在很多应用中是重要的光源。在汽车照明和显示照明领域,常常需要通过增加辅助光学机构修改这些光源的照明强度来提高LED的亮度。 我们从一个真实LED光源的测量数据开始。参见此文 或者本blog的另一篇翻译了解LED建模的更多细节:这里需要知道的只是 “source radial” 是用于输入测量的能量作为角度的函数的.测量光源的总输出能量为27Lumens,且为峰值在627nm的单色光. 如果你不熟悉如何输入数据,参见此文How to Create a Simple Non-Sequential System. 该光源使用Sobol sampling 以用最少的光线获得最好的信噪比。
在General...Units中我们设置系统单位如下:
LED光通量(uminous flux )的单位ishi流明(Lumens)因此在本模拟中我们选择该单位.因此照度(Illuminance) 以lm/m2,或称之为勒克斯Lux的单位度量。发光强度Luminous intensity ("brightness")是以每立体角的流明数lumens/steradian或者坎德拉Candela (Cd)度量.辉度以lm/m2/sr, 或Cd/m2度量, 该单位有时候被称为nit.
初始系统建立如下: LED光源将光线打在平面镜上,然后照明detector 表面。该文件可从本文最后的链接下载。detector 上空间和角度分布如下: 可见反射镜被LED些微过覆盖,因此空间和角度分布些微非对称.这是有意为之,以给设计增加稍许复杂性. 观 察发光强度Luminous intensity点图,峰值亮度41Cd发生在极角27 degrees.接近垂直于detector表面的发光强度luminous intensity仅有27Cd(稍后会讨论该数据如何获得).这样一种轮廓不适合头灯照明系统,或投影照明系统. 经常需要低角度的光线越亮越好,以便于投影更远。
我们将优化mirror 形状来得到轴上最大亮度. 为此,我们需执行一下步骤: • 定义merit function描述我们的需求 • 定义mirror表面如何改变 • 执行优化 The Merit Function Merit function定义光学设计的"质量",即设计多大程度满足当前的特性.在这种情况下,我们希望在0度角得到最大的亮度(luminous intensity).这很容易由NSDD 和 NSTR操作数得到.在本设计中,detector 是3号对象,我们希望得到0度角的亮度.detector 查看器显示如下:
这 给出了x和y方向从-90° 到+90°入射到detector 上的光线的角度范围.在大约35° 之外没有光线,因为LED在此角度之外不发光.峰值强度在约27° .我们对0° 左右的光线感兴趣.有2个评价标准针对这种分布:RMS角宽度和亮度质心luminous intensity centroid. RMS宽度瞄准将被准直的光线(例如,同样的入射角),质心瞄准瞄准该入射角为0.如下merit function取得该入射角看到的亮度luminous intensity: 第 一个NSDD 操作数读出了0号detector 对象,该对象不存在;没有0号对象能存在.这是该操作数的特殊用法: ZEMAX 用之清除所有探测器.探测器可以通过定义负数来单独清除(i.e. Det# = -3 仅清除 detector 3).这在定义了多个探测器的系统中很有用. 然后,NSTR操作数告诉ZEMAX 追迹光线.第2,3个操作数读出3号detector,质心x & y (Pix# = -6, -7),data item 2,这就是power/unit立体角.注意我们对准的是发光强度(角度)质心,而不是照度(空间)质心.第4个NSDD 操作数读出所有像素数据的RMS角宽度.此外,最后一个NSDD 操作数为对照之目的报告了中心像素(5101)强度;注意到并未分配权重因此对merit function并无贡献.这个值大概是22 Cd. 最 后一个NSDD 操作数与OPGT 操作数联合来保持来保持detector上光通量flux最小.我们将它设置成25因为这是detector上初始光通量flux.如果没有此操作数,可 能会通过移走mirror 得到一个为0的merit function!如果没有能量掉在detector上,强度质心和RMS半径为0,且这为我们的目标.该"解"凸显了明确定义well-defined 的重要性.在优化过程中,ZEMAX试图将merit function驱动为0,而不论这对系统结构意味着什么.
The Free Form Mirror 自由形式的表面常常由复合低阶多项式描述,例如样条或者Bezier 曲线.它们通常用于描述诸如涡轮叶片,车身和船体等形式. 在光学系统设计中,它有助于保留基本二次曲面部分的概念,而自由形式从此部分加一个微小量开始偏移.这样做的理由稍后演示.为此,我们使用Extended Polynomial Surface对象.该表面由如下形式的方程描述: