分享

ZEMAX中如何优化非序列光学系统

 煦风和阳 2011-04-13
 
查看文章
 
ZEMAX中如何优化非序列光学系统
2010-04-19 23:31

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 仅有一个变量。
Universal Plot: MF vs Radius

可以看到在merit function空间的很长区域内,merit function没有改变,改变的到来是突然的,不连续的。这让基于梯度搜索技术的优化很困难。

正 交下降(OD)优化法利用变量的正交规范和解空间的离散采样来减小merit function.OD算法不计算merit function的数字衍生物. 对于merit functions有内部噪声的系统,例如非序列系统,OD常常超越DLS优化.这在照明最大化,亮度增强,和对比度优化等问题上非常有用。

像素插值和NSDD

除了使用的具体的算法外,ZEMAX 还包含一些大大改善NS系统优化的特色。如上所述,由于探测器像素化,NS解空间倾向于不连续。如果给定光线的能量,仅仅分配到一个像素上,当系统改变导 致光线在该像素的任意位置移动时没有量的差异。结果是,当光线穿过边界进入新的像素时,merit function产生了不连续的derivatives (衍生物),优化困难.

这可以通过在探测器上扫描一条光线来说明。如下所示点的全局图给出了探测器的发光中心随光线位置的改变。

Universal Plot: Centroid vs Ray location

解决这个问题的一种方法是使用像素插值。根据光线在pixel内部相交的位置,一部分能量被分配到像素,而不是,而不是将100%的能量分配到单个像素。结果是,当系统改变导致光线移动经过一个像素时,merit function有显著的改变。
Pixel interpolation可以在Object properties ->Type标签下选中.

Object Properties: Pixel Interpolation

如果我们在pixel interpolation enabled的情况下让一条光线扫描探测器,发光中心,以及大多数其他评价标准的改变是连续的,DLS 能方便的使用。

Universal Plot: Centroid vs Ray location

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中我们设置系统单位如下:

General dialog: Units tab

LED光通量(uminous flux )的单位ishi流明(Lumens)因此在本模拟中我们选择该单位.因此照度(Illuminance) 以lm/m2,或称之为勒克斯Lux的单位度量。发光强度Luminous intensity ("brightness")是以每立体角的流明数lumens/steradian或者坎德拉Candela (Cd)度量.辉度以lm/m2/sr, 或Cd/m2度量, 该单位有时候被称为nit.

初始系统建立如下:

Starting system layout

LED光源将光线打在平面镜上,然后照明detector 表面。该文件可从本文最后的链接下载。detector 上空间和角度分布如下:

Starting luminous intensity profileStarting Illuminance Profile

可见反射镜被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 查看器显示如下:

Starting luminous intensity profile
这 给出了x和y方向从-90° 到+90°入射到detector 上的光线的角度范围.在大约35° 之外没有光线,因为LED在此角度之外不发光.峰值强度在约27° .我们对0° 左右的光线感兴趣.有2个评价标准针对这种分布:RMS角宽度和亮度质心luminous intensity centroid. RMS宽度瞄准将被准直的光线(例如,同样的入射角),质心瞄准瞄准该入射角为0.如下merit function取得该入射角看到的亮度luminous intensity:

Merit function

第 一个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对象.该表面由如下形式的方程描述:

Extended Polynomial Equation

第一项是光学设计中喜爱的标准圆锥非球面,被用于设计球面,椭球面,抛物面,双曲面等反射镜.第二项代表一系列逐渐增加的高阶多项式.这些高阶多项式是x和y的高次幂.第一项是x,然后y,然后 x*x, x*y, y*y, 等.1阶有2项,2阶有3项,3阶有4项等.最大阶是20,这使得最多可有230项多项式非球面系数.坐标值x,y被半径归一化,因此多项式系数是没有量纲的.
本设计中多项式最大的阶限制在20项,因此最高自由形式偏移为x0y5和x5y0.这既非必要也非推荐:仅仅是设计过程中的一个选择.
现在如果我们使用Universal Plot来显示扫描时中心像素强度,可以看到mirror的曲率半径:

Universal Plot Settings: Pixel Intensity vs Radius

可见:

Central Pixel Intensity vs Radius

此图同时演示了优化NS系统的难度和恰当定义merit function的需要.如果我们综观评价函数值和基本半径之间的关系,我们可以看到为什么centroid 和spot radius是更好的优化目标.

Universal Plot Settings: Merit function vs radius

Merit function vs radius

既然我们的merit function恰当的定义了我们的设计标准,我们将比较DLS和OD的局部和全局算法的优化结果.

Optimization

ZEMAX软件包含两个“global”优化例程,可用于搜寻解空间很大的区域.全局搜寻算法使用遗传算法,随即出发点和局域优化算法相结合,适合在多维参数空间高效搜索低的merit function.锤优化器Hammer optimizer也使用遗传算法和局域优化器来彻底提炼一个Global Search找到的有希望的参数空间的区域结构.
merit function的初始值是14.9,0度的亮度是23 Cd.

Starting luminous intensityStarting illuminance

我们将首先使用局域搜寻例程的DLS优化(Tools > Optimization > Optimization…)并与OD优化的结果比较.最后锤优化将在2种情况下进行.
既然我们已经定义了merit function和初始系统,仅剩下分配变量.我们所掌握的有22个变量:半径,圆锥曲线参数,和20个多项式系数.分配这些变量的状态,并开始使用DLS算法局域优化,循环执行次数自动选择.
不 久之后(11.6 minutes),ZEMAX 得到一个解.Merit function的值降到了6.7,中心像素亮度253Cd.这个优化说明使用像素插值和恰当定义的merit function如何使甚至是DLS算法在non-sequential解空间高效工作.
将此结果以新文件名保存留作比较,并在此打开开始点的文件.这次分配所有22个变量并用OD算法优化.
基于我们之前的对两种局域优化算法比较的讨论,我们可以预期这种优化可以更快的得到更好的解.的确,该算法所花时间低于DLS算法的2/3(7.5min)并得到很低的merit function值(6.75).
为验证我们得到了一个最佳解而不是掉在局部极小值,我们可为2个系统各跑一次锤优化器.下列表格的结果显示出在局部优化的结果上仅有很小的改进;进一步演示了两种局域优化例程的强大.

Results Table

*Computer specs: Intel Quad core CPU (2.40 GHz), 4GB RAM

初始光照和辐射强度分布如下所示,接下给出了使用DLS和OD 算法优化的系统.

Starting Point
Starting luminous intensityStarting illuminance

DLS Optimization

Final luminous intensity profile after DLSFinal illuminance profile after DLS


OD Optimization

Luminous Intensity using ODIlluminance using OD

比 较结果可得,两种优化方法都可以相似的解.然而,OD优化法可以用更少的时间得到比DLS法稍优的结果.事实上,优化一个22变量和几个不同照明目标的系 统仅用了几分钟.我们从一个平面镜到一个完全优化的解所花的时间比我们容差分析和产生系统绘图的时间还短.一个有相同的变量数的以spot radius为优化目标的序列系统的优化,需要同等的时间.这个例子清楚地演示了OD算法在优化非序列系统时的效率.本文后的zip文件包含OD优化文件.

记住我们不会直接对准中心像素的亮度,但它是RMS半径和质心位置优化的副产品.我们总可以在此评价标准上加上有限的权重,然而结果是RMS半径可能增加.你将发现如果你对准中心像素强度而不是照明二阶矩,系统性能会差很多.  

Summary

本文介绍了非序列优化和不同的加速过程.除了不同的算法和优化搜索的尺度,ZEMAX还有一些让非序列优化更高效的特色.总结:
• 由于机遇像素化探测器评价标准的计算,非序列解空间是内在不连续的.
• 在非序列系统优化中
OD 优于DLS.
• 像素插值被用于平滑detector 数据并为优化提供更连续的解空间.
NSDD 操作数为各种通量flux,辐射irradiance和强度intensity 评价标准提供高效的优化.
• 当目标是光束准直时,优化对准照明二阶矩(RMS angular radius)大大优于对准中心像素亮度.
优化一个自由形式的反射镜我们可以得到13X增强的轴上亮度.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多