摘要:杂散光是光学系统中所有非正常传输光的总称,杂散光对光学系统性能的影响因系统不同而变化。因此,在现代光学设计中,杂散光分析成为光学设计工作中的一个重要环节。杂散光产生的原因比较复杂,讨论了漏光和透射面残余反射引起的杂散光,针对漏光杂散光给出了高密度取样的分析方法,对于残余反射的杂散光建立了带能量因子的光线光学模型和光线二叉树的数据结构,在保证计算精度的同时减少了计算时间。对一个卡塞格林光学系统进行了漏光杂散光分析和光学表面残余反射杂散光的近轴与实际光线分析,得到减少杂散光的措施,达到了杂散光分析的目的。

关键词:杂散光;鬼像;漏光;光线追迹

0.引言

杂散光是光学系统中非正常传输光的总称,产生于漏光、透射光学表面的残余反射和镜筒内壁等非光学表面的残余反射,以及由于光学表面质量问题产生的散射光,而红外光学系统还有因系统自身热辐射产生的杂散光。对于成像光学系统,杂散光会增加像面上的噪声,特别是在像面附近出现的杂散光汇聚点会对成像产生严重影响,这些汇聚点就称作“鬼像”。文中将讨论分析漏光和透射光学表面的残余反射杂散光的建模。

1.杂散光分析方法

1.1.漏光杂散光

漏光杂散光是指部分光未按照所设定的光束限制(视场、孔径、渐晕)直接进入光学系统的情况。这在折反射光学系统光路中经常出现,因此在这类光学系统中应该对这种杂散光进行专门的分析。例如,一个典型的卡塞格林系统(如图l所示),由于主反射镜中间存在通光孔,如果不加特殊光阑处理,就会有光不通过主次镜的反射直接进入光学系统,并到达像面形成鬼像。

图1.长焦卡塞格林折、反射照相物镜

Fig.1Cassegrainrefractionandreflectionobjecti

为消除这种漏光,通常采用加遮光罩和在主次镜上加上专门的筒形消杂光光阑。为了彻底消除漏光杂光,同时又保证正常光束的通过,需要对漏光进行非常精确的分析,可以使用目前常用的光学设计软件(如Zemax),这需要将光学系统模型稍加改造,将主次镜改成为特定的光阑,并对视场进行密集取样。这种方法比较烦琐,特别是加了筒形光阑之后,建模困难,为此笔者设计了专用分析软件,方便地输入各光阑的位置、大小和长短(筒形光阑),设定视场和孔径高密度取样的情况,软件能够直接显示出漏光在像面上的光斑分布情况和到达像面的光的走向,在这一分析的指导下,设计人员可以方便地确定各筒形光阑的大小、位置和长短。

1.2.光学系统透射面残余反射杂散光

光学系统的透射面无论怎样处理,总会有部分光被反射,其中一些经多次反射后会在像面上形成鬼像。特别是一些复杂的光学系统,对一个比较亮的光源成像时,这种现象尤为严重,可以在图像中出现一串大大小小的亮环或光点。要模拟这种杂散光的产生和传输可以将每个透射面作为部分透射、部分反射的表面,分别对各面透射光和反射光的传输进行研究,求出各路光束在指定位置的能量分布情况,对于成像光学系统主要研究像面上的能量分布。目前,很多光学设计软件和分析软件都有鬼像分析功能。杂散光分析通常采用蒙特卡罗方法,这种方法是在某个物点上随机发出很多条光线,当某条光线到达一个透射面之后,其透射或反射的概率是由透过率决定,当追迹了大量光线之后,统计出到达像面的光线数量和分布情况,就可以了解在像面上的杂散光的能量分布情况,这种方法必须追迹相当数量的光线,否则结果就不具备统计意义,特别是当系统比较复杂、面数比较多时光线数就必然以几何级数增加。计算量的问题就非常突出。为此,采用光线光学方法设计了专用杂散光分析软件,为了避免重复计算,使用以下处理方法:

(1)使用有能量因子的光线光学方法

在使用光线光学方法时,每一根光线都可以看作是代表一定空间立体角的细小光束,光线传输本身是光能量的传输,因此在每一根光线传输时使其带有一个能量因子,表示该光线所带能量的大小,在传输时能量因子随光能量的损失而变化,就可以描述光能的变化情况。采用这种方法后,杂散光分析可以不使用蒙特卡罗方法而直接有序地进行,当遇到一个透射面,原来的一根光线分为两根,一根继续透射而另一根则反射,处理时只要将光线能量因子乘以透射率就是透射光线的新能量因子,而乘以反射率就是反射光线的新能量因子。

(2)光线二叉树方法瞄

由于一根光线变成两根,如果每一根光线都要从头开始光线追迹,那就会有大量的重复工作,为此,采用了二又树的数据结构,来描述光线在透射面上一分为二的关系,如图2所示。

图2.光线二叉树结构图

Fig.2 Raybinarytree

当光线到达某个透射面时,在该面上建立二叉树结点,记录了光线在面上的坐标和入射光线的方向余弦以及光线的能量因子,光线的透射部分和反射部分可以用二叉树的两个分枝分别描述,计算时先沿着其中一个分枝光追到底,再回到某个面的结点处,以此为起点再追另一路,直到追完所有的分枝。由此可以看出二叉树数据结构存储了光追过程中光线在各面

上的基本信息,避免了重复计算,而且递归处理使软件简洁、可靠性高,一棵二叉树随一条光线追迹而建立,虽然当光学系统面数很多时,要占用很大的内存,但是由于其动态存储特性,一旦追完一条光线并将结果记录,二叉树就可以删除,将占用的内存释放,以备下一条光线使用。

如果研究像面上的能量分布情况,可以事先在像面上划分格子,当一条光线到达像面时,看其落入哪并将每个格子中的光线加权叠加,其权重就是能量因子,将所有格子的值再现就是像面上能量分布情况。

2.分析实例

折反射系统应用很广[561,用图1所示的长焦卡塞格林折、反射照相物镜作为分析实例,在这个系统中可能会有漏光,也就是光未经主次镜直接进入系统并到达像面,同时由于有折射透镜,也存在透射面残余反射杂散光。

2.1漏光分析

对所分析的长焦卡塞格林系统加遮光罩,但没有做其他防漏光光阑处理,分析可得系统漏光的情况,如图3所示。

图3没有防漏光时的系统漏光和像面漏光情况

Fig.3 Stray light in the system and on the image plan without shield tube

对这个系统主次镜加上如图4所示的防漏光遮光筒后,漏光的情况大大减轻,如图5所示。

图4.系统的防漏光措施

Fig.4 Shield tube in the system

图5.防漏光后的系统精光和像面精光情况

Fig.5 Stray light in the system and on the image plan with shield tubes

未完待续......

光学系统设计交流:http://www.opticsky.cn/thread-htm-fid-6.html

tracepro杂散光分析例子_光学系统杂散光分析(1)相关推荐

  1. ahp层次分析法_基于层次分析法(AHP)的店铺选址应用研究

    导读 在连锁行业,店铺选址是其中很重要的一个方面.影响店铺选址的指标(因素)很多,决策中经常需要对店铺影响各指标进行量化分析.本文应用层级分析法(AHP),对影响店铺选址的指标(因素)权重进行量化分析 ...

  2. canoco5冗余分析步骤_基因富集分析|理解

    Gene Set Enrichment Analysis 基因富集分析 哈罗大家好!ヾ(≧▽≦*)o 年初在和老板研究 Identifying Cell Subpopulations 有关的课题,发现 ...

  3. 用python分析小说_用Python分析《斗破苍穹》

    原标题:用Python分析<斗破苍穹> 来自:量化小白上分记(微信号:quanthzp) 近期根据小说<斗破苍穹>改编的同名电视剧正在热映,本文对<斗破苍穹>进行文 ...

  4. tracepro杂散光分析例子_光刻机的蜕变过程及专利分析

    来源:芯通社 近两年,中国芯片产业受到了严重打击,痛定思痛之余也让国人意识到芯片自主研发的重要性.从2008年以来,十年间,芯片都是我国第一大宗进口商品,进口额远超于排名第二的石油.2018年我国进口 ...

  5. python语言例子_机器学习案例分析(基于Python语言)

    领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...

  6. mysql慢sql分析平台_慢SQL分析工具 - __KK的个人空间 - OSCHINA - 中文开源技术交流社区...

    分析mysql日志的工具: mysqldumpslow mysqlbinlog myprofi mysql-explain-slow-log mysql-log-filter pt-query-dig ...

  7. 三国演义python分析系统_用python分析四大名著之三国演义

    点击上方"程序人生",选择"置顶公众号" 第一时间关注程序猿(媛)身边的故事 项目起因及意义 起初在浏览知乎时看见一篇文章觉得很有意思(用 Python 分析& ...

  8. python灰色关联度分析代码_灰色关联分析法步骤 - osc_uwnmtz9n的个人空间 - OSCHINA - 中文开源技术交流社区...

    https://wenku.baidu.com/view/dc356290af1ffc4fff47ac0d.html?rec_flag=default&sxts=1538121950212 利 ...

  9. heapdump分析工具_.NET Perfview 分析进程性能

    PerfView 概述: PerfView是一个可以帮助你分析CPU和内存问题的工具软件.它非常轻量级也不会入侵诊断的程序,在诊断过程中对诊断的程序影响甚微. Visual Studio自带的性能分析 ...

最新文章

  1. Centos 7 安装 rabbitmq 3.6.6
  2. 第三章 python webdriver API(一)——浏览器操作
  3. Ubuntu中的vi模式中的按上下左右键变成ABCD解决方法
  4. 中国经验对印度等金砖国家智慧城市建设的启示
  5. Ehcache配置的overflowToDisk属性
  6. boost::geometry模块model::polygon相关的测试程序
  7. 「权威发布」2019年全国大学生电子设计竞赛获奖名单【涵盖国一、二等奖】
  8. 单例模式(Java)
  9. visual studio code怎么改成中文?Visual Studio Code Insiders for Mac中文修复版
  10. linux下使用ThinkPHP注意大小写问题
  11. Oracle一条SQL语句插入多条记录
  12. B - 数字三角形问题
  13. Span中显示内容过长显示省略号---SpringCloud Alibaba_若依微服务框架改造_前端基于Vue的ElementUI---工作笔记011
  14. 【文末福利】算法大赛评委共话技术趋势,这场直播值得一看!
  15. java 方法绑定_java 方法调用绑定
  16. 简单的达梦数据库使用DISTINCT去重
  17. 实体连锁电商会员运营方案
  18. OC5021B降压型恒流驱动控制芯片,关断时间可调
  19. momentum梯度下降法
  20. 【用于图像修复、数据增强等】结合官方代码教程,在Windows 10下运行pix2pix-tensorflow(tensorflow==1.4.0 python=3.6)

热门文章

  1. Go 标准库 http.FileServer 实现静态文件服务
  2. spark内核揭秘-14-Spark性能优化的10大问题及其解决方案
  3. Spark算子:统计RDD分区中的元素及数量
  4. Python中break和continue语句及循环中的else子句
  5. ES6_Promise
  6. 和平精英现在服务器暂时未开放,和平精英为什么登陆不进去 和平精英服务器分批登陆是什么意思...
  7. html中选择日期怎么实现,JavaScript+HTML5实现的日期比较功能示例
  8. mysql调优explain_MySql性能调优利器之Explain
  9. 回溯法 批处理作业调度_不懂调度系统架构,就不要谈银行数据仓库
  10. word如何一键全选_【众点学】学了这些Word技巧才知道,原来这么多年的班都白加了...