手机版

您的位置:快三投注平台首页 > 光热 > 正文

如何优化非序列光学系统

2019-09-04 文章来源:光行天下 阅读原文

概述

这篇文章介绍了一种优化非序列光学系统的方法。内容包括使用像素插值(Pixel Interpolation)、探测器数据合集(光时刻数据)和正交下降优化器。在示例中,只需几步,就能将一个自由曲面反射镜反射LED的光亮度从23Cd优化到250Cd以上。

本文使用的示例文件请从以下中下载:

https://downloads.zemax.com/zemax-portal/knowledge_articles/KA-01591/Downloads/How_to_optimize_non-sequential_optical_systems_Samples.zip

引言

OpticStudio的优化功能允许用户通过将系统参数设为变量,在评价函数编辑器中定义性能标准来改进设计。这个过程会对设计产生巨大的影响,所以选择合适的变量和标准非常重要。序列模式和非序列模式中可用的标准类型有所不同。本文为非序列系统的优化提供了一种建议方式。

例如,通过优化自由曲面反射镜,最大限度地将LED的亮度提升。实践结果来看,从23 Cd提高到大于250 Cd,只需几分钟。

最小二乘法vs正交下降法

OpticStudio中有两种局部优化算法:阻尼最小二乘法(DLS)和正交下降法(OD)。DLS运用数值微分计算,在一个较小的评价函数设计的解空间里确定优化方向。这种梯度方法是为光学系统设计专门开发的,被推荐用于所有成像和经典光学优化问题。然而,在纯非序列系统优化中,由于采用像素探测器进行探测,DLS的优化效果较差。并且评价函数本身是不连续的,这也可能导致梯度搜寻方法失败。

下图是当评价函数只有一个变量时,非序列系统的评价函数的表现。

可以看出,很长一段区间内评价函数根本没有变化,发生的变化是突然且不连续的。这使得通过梯度搜寻方法进行优化变得困难。

正交下降优化利用变量的正交化和解空间的离散采样来降低评价函数值。OD算法不计算评价函数的数值微分。对于评价函数存在原本噪声的系统而言,例如非序列系统,OD通常比DLS算法要好。它在度最大化、亮度增强和均匀性优化等优化问题中非常有用。

像素插值和非序列

非相干强度数据(NSDD)

除了使用的特定算法外,OpticStudio中还有几个能够显著提升非序列系统优化效率的功能。

12345下一页

如上所述,由于探测器的像素特性,非序列的解空间往往是不连续的。如果一条给定光线中的能量只分配给一个像素,那么当系统改变,光线在该像素内的任何位置移动时,从像素数量上看结果没有任何变化。因此,当一条光线跨越边界进入一个新的像素时就需要对不连续的评价函数求微分,优化非常困难。

这可以通过观察入射到探测器上的一条光线来说。下面的通用绘图显示了探测器上的辐度质心如何随着光线位置的变化而变化。

避免由像素探测器引起的量化效应的一种方法是使用像素插值。不是将100%的光线能量分配给单个被击中的像素,而是根据光线在像素内的截距位置将一部分能量分配给相邻像素。因此,当系统变化导致光线在像素上移动时,评价函数会发生显的变化。可以在探测器的物体属性(Object Properties)>类型(Type)中启用像素插值。

如果我们在启用了像素插值的探测器上扫描一条光线,会发现辐度质心,以及大多数标准值的变化都会是连续的,并且可以很容易地使用DLS。

上一页123456下一页

可以利用优化操作数NSDD计算评价函数中所述的辐度质心。NSDD代表非序列非相干强度数据,是读取非相干探测器数据最有效的操作数。NSDC等效于相干计算。NSDD操作数的语法如下:

NSDD Surf Det# Pix# Data #Ignored

Surf 定义非序列组的面序号(在纯非序列模式中为1);

Det# 定义所需的探测器的编号(也可以用于清除一个或所有探测器数据);

Pix# 定义要返回的指定像素上的数值,Data定义是否返回入射通量、辐度或强度数据;

#ignore 定义要忽略的边缘像素数量。

这些参数允许优化许多标准值:最小光斑大小(最小均方根空间宽度)、最大能量(总光通量)、空间均匀性(所有像素的标准差)、准直度(最小均方根角宽度)等等。有关NSDD功能的详细描述,请参见OpticStudio帮助文件部分:优化选项卡(The Optimize Tab)(序列模式界面)>自动优化组(Automatic Optimization Group)>评价函数编辑器(Merit Function Editor)(自动优化组)>按类别优化操作数(Optimization Operands by Category)>非序列光线追迹和探测器操作数(Non-Sequential Ray Tracing and Detector Operands)。

系统设置

发光二极管(LEDs)是应用广泛的重要光源。在汽车和显示等领域,经常需要通过添加辅助光学元件来改变LED光源的发光强度,从而提高LED的亮度。

我们将从实际LED光源的测量数据开始。有关如何建立LED模型的更多细节,请参阅文章(https://my.zemax.com/en-US/Knowledge-Base/kb-article/?ka=KA-01590)。现在,我们所需要知道的是,径向光源(Source Radial)被用来输入测量到的功率,作为角度的函数。测量到的单色光源总输出功率为27 lm,峰值波长为627 nm。如果不熟悉如何输入此数据,请参阅文章“如何创建简单的非顺序系统”(https://my.zemax.com/en-US/Knowledge-Base/kb-article/?ka=KA-01592)。光源采用Sobol采样(https://my.zemax.com/en-US/Knowledge-Base/kb-article/?ka=KA-01413),用最少的光线获得最佳信噪比。

在系统资源管理器(System Explorer)下,我们将系统单位(Units)设置为:

上一页1234567下一页

LED的光通量是以流为单位来测量的,所以我们选择该单位进行模拟。光度单位为lm/m^2或Lux。发光强度(“亮度”)是用lm/sr(流/立体角)或 Cd(坎德拉)来计量的。亮度用lm/m^2/sr或Cd/m^2来计量,有时也称为nit(尼特)。初始系统设置如下:

LED光源将光线射向一面平面镜,然后亮探测器表面。这个文件可以从本文顶部的示例文件处下载。可以看到探测器上的空间分布和角度分布如下图:

从图中可以看出,由于LED发出的光线在反射镜上有轻微的溢出,所以空间分布和角度分布略有不对称。这是为了给设计增加一点杂性而有意为之。

从发光强度图中可以看出,41 Cd左右的峰值亮度发生在极角为27°左右时。近似垂直于探测器表面的光线只有23 Cd的发光强度(将在下面讨论如何得到这个数字)。这样的轮廓对于车前灯系统或投影机系统来说并不好。一般情况下,我们希望低角度时的光亮度尽可能高,这样光源就可以投射到远处。

现在,我们将优化反射镜的形状,使轴上的亮度最高。为此,我们必须执行以下步骤:

1.定义一个可表达我们想要达到的目标的评价函数。

2.定义反射镜表面将如何变化。

3.运行优化。

评价函数

上一页12345678下一页

根据设计是否能很好地满足其指定的工作性能,使用评价函数来定义光学设计的“质量”。在这种情况下,我们想要在零度角下得到最大的光亮度(发光强度),这可以通过操作数NSDD和NSTR很容易地实现。在本设计中,探测器为物体 3,我们想要得到在0°下的发光强度。探测器查看器(Detector Viewer)如下所示。

这张图显示了光线从x和y轴的-90°到+90°入射到探测器上光线的角度范围。没有光线的角度超过35°,因为LED没有超过这个角度的光发射。峰值强度出现在27°左右。我们感兴趣的是近0°的光功率。针对这样的分布有两个标准:RMS角宽度和质心发光强度。设置RMS角宽度是要获得准直光线(即具有相同入射角的光线),质心目标是使入射角为零。下面的评价函数可看到这个角度下的发光强度。

第一个NSDD操作数读取探测器物体0,该物体并不存在,这是此操作数的一个特殊用法: 在OpticStudio中用于清除所有探测器结果。另外,可以通过定义一个负数(例如:Det# = -3,只清除探测器3结果)来清除单一探测器结果。这在定义了多个探测器的系统中非常有用。

下来,操作数NSTR告诉OpticStudio去完成光线追迹。第二和第三个NSDD读出探测器物体3的,质心x和y (Pix# = -6, -7)的数据项2,即功率/单位立体角。注意,我们的目标是质心发光强度(角度),而不是质心度(空间)。第四个NSDD读取所有像素数据的RMS角宽度。此外,最后一个NSDD读取了中心像素(5101)的强度,以便进行比较,这个值大约是23 Cd。注意,没有分配权重,操作数就不会对评价函数有贡献。

上一页23456789下一页
>>查看更多文章

看过本文的人还看过

云推荐

热点聚合:一灯人才网快三投注平台一灯论坛

一灯人才网
反馈信息 返回顶部
文章 产品 图片 论坛 综合