0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用分类器字符串来分析和描述具有特定光学特性的光线

LD18688690737 来源:Ansys 光电大本营 2023-02-28 11:29 次阅读

简介

在进行杂散光分析时,光学设计工程师可能会问以下问题:

从各种光学或机械表面反射产生的鬼影影响有多大?

反射超过四次的光线能传递多少能量?

隔板在限制探测器杂散光方面有多有效?

这些问题中的每一个,以及更多的其他问题,都可以在OpticStudio中使用过滤字符串来回答。 在本文中,我们将演示如何使用分类器字符串来分析和描述具有特定光学特性的光线,方法是评估卡塞格林型望远镜在观测遥远恒星时污染探测器的月光量。

什么是过滤字符串?

过滤字符串代表了每条光线在显示(在布局图或探测器查看器上)或在光线数据库查看器中报告之前必须通过的特定测试的方法。过滤字符串可以用来对杂散光进行全面的光-机械评估,因为OpticStudio将考虑光学的部分反射,机械组件的反射,以及光学和力学的散射。

过滤字符串的语句包含标志之间的逻辑运算,用来显示光线中的某线段是否与 NSC 组中的物体相交、错过、反射、折射、散射,衍射或鬼像反射。在OpticStudio帮助文件的“the Filter String”一节中可以找到可用的过滤字符串标志和讨论的完整列表。

系统轮廓和初始光线追迹

想象一下在满月时用望远镜观察一颗恒星。一些来自月球的光,尽管离轴(这里的轴被描述为从恒星到望远镜筒顶点的距离),但仍能到达望远镜的探测平面(相机)。我们需要准确地确定有多少来自月球的杂散光到达探测器。

使用下面的纯粹非序列的OpticStudio镜头文件模拟这个场景。下载本文附带的文件,并在OpticStudio中打开它:

注意:为了在OpticStudio中演示过滤字符串,我们假设您已经熟悉执行非序列光线追迹和在探测器查看器上查看结果的标准程序。如果您不熟悉这些概念,请参阅“如何创建一个简单的非序列系统”一文。

a69841fc-aec6-11ed-bfe3-dac502259ad0.png  

望远镜模型中的月亮用离轴的椭圆光源表示。月亮近似为一个准直光源,因此来自月亮(上图绿色部分)的光线彼此平行。类似地,感兴趣的观察对象用轴上的准直椭圆源表示。

与典型的卡塞格林式望远镜设计一样,准直光线(上图中的蓝色光线)从轴上视场聚焦到像平面上形成一个良好的点。然而,一些光线(来自月球和恒星)没有经过期望的光学表面顺序,但仍能到达探测器。

使用“使用偏振Use Polarization”、“忽略错误Ignore Errors”、“分割光线Split Rays”、“散射光线Scatter Rays”和“保存光线Save Rays”进行初始的非序列光线跟踪。保存光线与任何想要的文件名。

注意,光线必须在过滤字符串可以应用到光线数据库和探测器查看器前保存!目前,我们将把“字符串”条目留空,因为过滤器也可能在以后的设置中应用到个别分析功能中。

a6fab1ca-aec6-11ed-bfe3-dac502259ad0.png  

注意,由阈值和误差引起的“能量损失”值非常重要,应该非常仔细地检查,以确保当前光线样本的准确评估。如果光线低于追迹的最小能量阈值,追迹将终止。

最小相对和绝对能量阈值是由系统常规对话框的非序列选项卡下的“最小相对光线强度”和“最小绝对光线强度”条目定义的。

为了减少当前示例中的计算时间,将最小相对光线强度设置为1.00E-007。在某些应用程序中,可能需要降低这个值,以减少由于阈值设置而造成的能量损失。

错误光线过滤器

由于误差造成的能量损失是极其重要的,因此必须使这些误差的大小尽可能小。产生这些错误的原因有几个,在以如何定位几何错误(第1部分)开始的一系列文章中对此进行了全面的讨论。

如果报告的由于误差造成的能量损失是显著的,对光线的传播进行详细的检查以定位误差的可能原因是非常有用的。这可以通过光线数据库查看器中的过滤字符串来完成。

光线数据库查看器可以通过选择Analyze Ribbon...Database...Ray Database Viewer打开。

在光线数据库查看器的设置中,从“文件”下拉菜单中选择先前保存的数据库文件。现在,光线数据库设置允许选择应用一个过滤器。过滤器字符串,“Z”(没有引号),将只显示那些有致命错误的射线。

要应用此过滤字符串,首先选中使用字符串框并将该字符串键入适当的条目。

通过适当地调整第一条光线和最后一条光线字段,过滤器可以应用到保存的数据库的一小部分。

或者,如果将最后一条光线设置为初始光线追迹中启动的光线的总数,则会处理整个数据库(或者,您可以简单地在最后一条广线字段中输入一个负值,例如-1)。

a71cd4da-aec6-11ed-bfe3-dac502259ad0.png  

在本例中,由于错误造成的能量损失为零,因此一旦应用了错误过滤器,光线数据库查看器中就不会显示任何一条光线。

然而,光线数据库查看器中的过滤字符串功能并不局限于显示带有错误的光线。

任何一个过滤字符串,或任何过滤字符串的组合,可以应用于保存的光线数据库;只有那些通过测试的射线才会被展示出来进行更深入的分析。

来自月亮的杂散光

从探测器查看器,可以清楚地看到,大部分的能量是在探测器的最中心像素。

然而,即使在对数尺度上,也很难分辨出有多少功率与落在这个中心区域以外的光线有关。这些能量中的哪一部分是来自月球光源的杂散光?

a752fd80-aec6-11ed-bfe3-dac502259ad0.png  

为了确定与月光有关的总能量的比例,让我们首先将光线从月球分离出来。为了做到这一点,我们可以将源对象1的#分析光线设置为0并重新运行光线追迹,或者我们可以利用过滤字符串只显示来自特定源的光线。

为了演示过滤字符串的有效性,并使我们不必运行新的射线跟踪,我们将选择后者。

过滤字符串可以应用于3D布局图,探测器查看器,和(正如我们已经看到的)在光线数据库查看器。在每个分析工具的设置中,可以将所需的过滤字符串输入到字符串条目中。

我们可以使用当前的示例文件进一步演示其中的一些功能。

检测器查看器的设置中,从光线数据库下拉菜单中选择先前保存的ZRD文件。一旦想要的光线数据库被选中,过滤条目就会被启用。

“On”过滤字符串标志将只过滤来自源数n的光线。由于我们希望只显示来自月球(源对象2)的光线,可以应用过滤字符串“O2”。注意“O”是字母O,不是数字0。

a766d954-aec6-11ed-bfe3-dac502259ad0.png  

根据保存的光线数据库的大小和字符串的复杂性,OpticStudio可能需要一些时间来处理数据。一旦完成,探测器查看器应该显示过滤的光线数据。

注意,检测器查看器底部的数据显示了所选的光线数据库文件和所应用的过滤字符串。因此,不需要重新打开设置来验证哪个过滤器已应用到您正在查看的数据。

a77dde4c-aec6-11ed-bfe3-dac502259ad0.png  

从本例中经过过滤的探测器查看器来看,“热点”不再存在,这无疑是恒星的图像(来自源1的射线)。

对于当前的光线追迹,大约8.531E-006瓦的月球初始总功率到达相机。

但是,由于月亮比恒星亮得多,10-5的杂散月光抑制可能是不够的,所以可能需要减少杂散月光的能量,以获得更好的恒星图像分辨率。

有许多方法可以用来尝试减少来自月球的杂散光。然而,这些主题超出了本文的范围,我们将在本文中集中讨论杂散光的来源。

定位杂散月光:布局图分析

有了过滤字符串,不仅很容易确定有多少来自月球的光线到达探测器,而且我们还可以利用这个字符串直观地识别光线是否来自月球的某个“优先区域”。也就是说,我们可以确定杂散光是否来自月球的特定区域。

你可以想象,第11号探测器并不适合回答这个问题。然而,正如前面提到的,过滤字符串也可以应用于布局图。

在当前的示例中,打开NSC 3D布局图的设置,再次从光线数据库下拉菜单中选择先前保存的ZRD文件。在布局中显示整个射线数据库将变得过于拥挤,无法执行任何实质性的分析,所以我们将在一会应用一个适当的过滤器。

需要注意的是,过滤字符串标志可以单独使用,也可以使用逻辑操作组合使用。一些比较常见的逻辑操作包括:"&"(逻辑和),"|"(逻辑或),"^"(亦或),和"!"(逻辑)。当过滤带有多个特定属性的光线时,这是非常有用的。

为了演示,让我们仍然过滤来自月球并到达相机的光线。注意,尽管在从探测查看器查看结果时,字符串的第二部分不是必需的,但在布局图的字符串中我们必须将第二个条件描述出来。

否则,所有来自月球的光线都将被显示出来,无论它们是否到达探测器。为了表示第二个参数,可以使用“Hn”标志。“Hn”标志代表击中物体n的射线。

a7a870d0-aec6-11ed-bfe3-dac502259ad0.png  

在这个例子中,经过过滤的NSC 3D布局图并不能真正表明光线来自月球的优先区域。正如预期的那样,在椭圆源中心区域的光线无法到达探测器,因为它们被副镜和环绕副镜的挡板挡住了。

由于通过过滤器条件的光线数量非常大,而且OpticStudio每次旋转绘图时都必须重新评估过滤器,因此很难从当前示例文件的布局中收集任何有效的、额外的信息。然而,这种方法在其他情况下肯定是有用的。

a7d28fe6-aec6-11ed-bfe3-dac502259ad0.png

定位杂散月光:探测器分析

虽然我们不能很成功地通过布局图来确定光线是否来自月球的特定区域,但放置另一个特殊设计的矩形探测器可能更有用。在NSC编辑器中插入一个物体12-矩形检测器。用以下参数定义。

Y Position 1.0
Z Position -9.0
Tilt About X 5.0
X Half Width 6.1
Y Half Width 6.1
# X Pixels 50
# Y Pixels 50

保留所有其他参数为默认值。注意,这个矩形探测器被直接放置在月亮的前面。这样,再次使用过滤字符串功能,我们可以更好地可视化那些来自月球并击中相机的光线的分布。

一旦定义了新的矩形检测器,打开一个新的检测器查看器来查看探测器器对象12(记住,必须正确设置才能显示这个)。

如果我们执行一个新的光线追迹并将光线保存到一个新的数据库名称中,例如“Stray light_telescope e_1a”。我们可以在新定义的探测器上看到最初的射线分布。

a7e298e6-aec6-11ed-bfe3-dac502259ad0.png  

由于没有应用滤波器,探测器上的辐照度分布包括两个来源的光线。同样,我们只关心从月球发出并到达探测器的光线。因此,让我们对探测器对象12应用以下过滤字符串。

a83bd1fe-aec6-11ed-bfe3-dac502259ad0.png  

一旦过滤后的数据被处理和显示出来,就更容易观察来自月球的光线的分布,哪些光线到达了探测器平面。很明显,探测器平面上不受欢迎的杂散光确实来自月球的“特定”区域。

这些区域在下面的探测器查看器中高亮显示。这一信息可能有助于确定哪种杂散光抑制技术可以用来减少来自月球的杂散光。

a84ceb92-aec6-11ed-bfe3-dac502259ad0.png    

从第一个校正透镜评估反射

你可能还记得最初的光线追迹结果,一个确定的、旋转对称的环围绕着探测器的热点。

a85e1304-aec6-11ed-bfe3-dac502259ad0.png  

这可能是由于当前未镀膜的第一校正透镜(物体3)的多次反射造成的。为了确认这一点,我们可以再次使用过滤字符串功能。

(Q3)第一反射镜多次反射产生的杂散光如何影响相机的总功率? 标记“Gn”指的是根物体n反射回来的鬼像。这个标记只在光线分裂激活时被设置为折射物体反射回来的光线。

让我们观察从第一个校正透镜反射的光线(来自星星和月亮)在相机上的光线分布。

a898aeb0-aec6-11ed-bfe3-dac502259ad0.png  
a8ab0e02-aec6-11ed-bfe3-dac502259ad0.png  

光线的“环”无疑是由于校正镜的鬼像,占探测器平面总功率的一小部分,但可以测量(5.780E-006)。为了减少这些不需要的光线对相机的影响,我们可以在校正透镜上涂上一层抗反射镀膜。

使用抗反射镀膜降低鬼影效应

打开对象3的对象属性对话框,在校正器的正面和背面都放置一个抗反射(AR)涂层。这是针对当前初级波长优化的单层MgF2涂层。

a8ef245c-aec6-11ed-bfe3-dac502259ad0.png  

应用镀膜后,重新运行一个非序列光线追迹,并将光线数据保存到一个不同的文件名。

a923935e-aec6-11ed-bfe3-dac502259ad0.png  

一旦光线追迹完成,确保在探测器查看器中选择合适的ZRD文件,并应用相同的鬼影过滤器G3。通过涂覆校正透镜,我们有效地消除了射线的伪“环”,并将总“鬼影”能量降低了一个数量级。

a945bf24-aec6-11ed-bfe3-dac502259ad0.png







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 探测器
    +关注

    关注

    14

    文章

    2641

    浏览量

    73028
  • 数据库
    +关注

    关注

    7

    文章

    3800

    浏览量

    64397
  • NSC
    NSC
    +关注

    关注

    0

    文章

    25

    浏览量

    9096
  • 过滤器
    +关注

    关注

    1

    文章

    429

    浏览量

    19614

原文标题:如何使用 Zemax OpticStudio 进行杂散光分析

文章出处:【微信号:光电资讯,微信公众号:光电资讯】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    字符串的表示

    字符串的表示  随着计算机在文字处理与信息管理中的广泛应用, 字符串已成为最常用的数据类型之一, 许多计算机中都提供字符串操作功能, 一些计算机还给出读写字
    发表于 10-13 17:11 3067次阅读
    <b class='flag-5'>字符串</b>的表示

    字符字符串的显示原理

    字符字符串的显示原理     1.字符的表示方法    现代计算机不仅处理数值领域的问题,而且处理大量非数值领域的问题。这样一,必然要
    发表于 04-13 11:38 1w次阅读

    什么是复制字符串?Python如何复制字符串

    连续几篇文章都在写 Python 字符串,这出乎我的意料了。但是,有的问题,不写不行,特别是那种灵机一动想到的问题,最后你发现,很多人根本不懂却又误以为自己懂了。那就继续刨根问底,探究个明白吧
    发表于 11-25 10:32 3019次阅读

    strtok拆分字符串

    大家好,我是惊觉,今天聊聊字符串字符串的使用场景非常之多,人机交互和双机通信都会用到。比如:通过串口向单片机发送指令,以执行操作或配置参数。单片机读取传感数据,数据格式是字符串。一
    发表于 01-13 15:46 8次下载
    strtok拆分<b class='flag-5'>字符串</b>

    2.2 python字符串类型

    2.2 python字符串类型 1. 如何定义字符串字符串是Python中最常用的数据类型之一。 使用单引号或双引号创建字符串,使用三
    的头像 发表于 02-17 17:08 1432次阅读

    字符串函数重写练习

    字符串函数重写练习:字符串比较、字符串拼接、字符串查找、字符串拷贝、内存比较、内存拷贝、内存初始化、内存比较、二维数组定义及基本使用、位运算
    的头像 发表于 05-05 15:02 1998次阅读

    字符串操作

    labview字符串操作
    发表于 06-28 15:09 2次下载

    一文详解JavaScript字符串

    JavaScript字符串是原始值。此外,字符串是不可变的。这意味着如果你修改一个字符串,你总是会得到一个新的字符串。原始字符串不会被改变。
    的头像 发表于 12-08 16:36 1209次阅读

    python字符串有哪些特定方法

    python字符串序列操作也适用于列表和元组。 python字符串还有独有方法,即字符串对象的函数,其他对象不可调用,只有字符串对象可调用。
    的头像 发表于 02-23 15:02 712次阅读

    字符串的相关知识

    TCL 中的数据类型只有一种:字符串。这些字符串可以是字母、数字、布尔值、标点符号等特殊字符的组合。在某些特殊命令的作用下,字符串可以向其他数据类型转换。下面将系统的讲解或回顾下
    的头像 发表于 03-29 11:41 1155次阅读

    c语言字符串定义

    字符串的定义、初始化、操作和常见问题。 字符串的定义和初始化 在C语言中,字符串被定义为一个字符数组。可以通过两种方式定义和初始化
    的头像 发表于 11-24 10:02 1967次阅读

    labview扫描字符串怎么用

    的函数: 文本扫描(Text Scan)函数:这个函数可以从一个字符串中提取出特定的数据,例如数字或者其他文本。你可以指定要提取的数据的格式,如整数、浮点数等。文本扫描函数还可以跳
    的头像 发表于 12-26 16:58 1995次阅读

    labview扫描字符串怎么用

    介绍如何在 LabVIEW 中使用扫描字符串以及相关的技巧和注意事项。 字符串是 LabVIEW 中的一种基本数据类型,表示一系列字符的序列。扫描字符串是指从一个给定的
    的头像 发表于 12-29 10:12 2048次阅读

    labview字符串的四种表示各有什么特点

    。在LabVIEW中,字符串是一种基本的数据类型,用于表示文本信息。字符串在LabVIEW中有多种表示方式,每种方式都有其特定的应用场景和特点。以下是对LabVIEW中四种字符串表示方
    的头像 发表于 09-04 15:40 580次阅读

    labview字符串如何转换为16进制字符串

    在LabVIEW中,将字符串转换为16进制字符串是一个常见的需求,尤其是在处理数据通信和硬件接口时。LabVIEW提供了多种方法实现这一转换,包括使用内置函数、编写VI(Virtual
    的头像 发表于 09-04 15:54 2480次阅读