Ansys Zemax | 如何使用 Zernike 凹陷表面对全反射系统进行建模

本文介绍如何使用Zernike标准下垂表面对全反射系统进行建模。全反射系统是一种特殊情况,其中Zernike凹陷表面可用于模拟给定场点的所有波长下的性能。使用Zernike凹陷表面代替Zernike相位,因为衍射功率与波长变化时的反射功率不同。一个相位波是任何波长的一个波,但0.5微米处的一个下垂波在1.0微米处只有半个波。(联系我们获取文章附件)

介绍

这是“如何使用Zernike系数对黑盒光学系统进行建模”的姊妹篇。两篇文章可一起阅读。 

Zernike数据表示光学系统在特定场和波长下的性能测量。因为关于玻璃、曲率半径、非球面系数等的信息。不是 Zernike 数据的一部分,无法将 Zernike 数据缩放到不同的场或波长。

 
如果您使用的是全反射设计,则可以使用Zernike标准凹陷表面来描述给定视场下所有波长的光学系统像差,因为全反射系统不会遭受色差。

约洛望远镜示例

例如,考虑类似Yolo望远镜的:

 

这个没有遮挡的望远镜产生这样的波前:

 

现在,要使用 Zernike 下垂曲面制作等效系统,我们只需要出口瞳孔位置和直径,如上一篇文章所示。此数据是:

出瞳直径 = 701.681 mm 出瞳位置 = 9484.22 mm

仍然遵循上一篇文章,可以产生如下一阶等效系统:

其中,系统的入射瞳孔直径设置为原始Yolo的出射瞳孔直径,近轴透镜的焦距设置为与出射瞳孔位置相同的值。这为我们提供了一个与原始参考球体半径相同的一阶系统。

然后,我们以下垂为单位导出 Zernike 数据。执行此操作的宏类似于原始文章中提供的宏,但添加了额外的缩放因子:

SUB get_scale

! Get the conversion factor to take phase to sag in mm

! Assume mm for all lens units: will need to modify if not the case

! Get the wavelength, in microns

primary = WAVL(PWAV())

! to mm…primary =

primary/1000

! Scale factor is one wavelength equals this much sag

! Factor of two because the surface is used in reflection

scale = -1 * primary/2

RETURN


 

然后用于在保存到磁盘之前将 Zernike 数据缩放为下垂单位:

FOR order = 1, max_order, 1

z_term = order + 8 # offset to the correct location in the data structure, see Help Files!

PRINT VEC1(z_term)*scale

NEXT order

然后使用导入工具将 Zernike 数据导入到 Zernike 标准凹陷表面,可以看到相同的波前误差和其他光线追踪结果:

 

原始文件和 Zernike 等效文件都在附件中。如果添加更多波长,您将看到两个文件在任何波长下都给出相同的结果。然而,详细的透射和其他偏振数据将不等效,因为Zernike文件对原始文件中使用的涂层一无所知,并且仍然没有办法预测望远镜的行为将如何随场变化:仍然需要一组每个场的Zernike系数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/7940.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux 共享内存 shmget

专栏内容:linux下并发编程个人主页:我的主页座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物.目录 前言 概述 原理机制 系统命令 接口说明 代码演示 结尾 前言 本专栏主要分享linu…

Day924.自动化测试 -系统重构实战

自动化测试 Hi,我是阿昌,今天学习记录的是关于自动化测试的内容。 自动化测试是一个很容易产生“争议”的话题,也经常会有一些很有意思的问题。 自动化测试不是应该由测试同学来编写吗,开发是不是没有必要学吧?之前…

【Linux】进程理解与学习-程序替换

环境:centos7.6,腾讯云服务器Linux文章都放在了专栏:【Linux】欢迎支持订阅 相关文章推荐: 【Linux】冯.诺依曼体系结构与操作系统 【Linux】进程理解与学习Ⅰ-进程概念 【Linux】进程理解与学习Ⅱ-进程状态 【Linux】进程理解与学…

小白的git入门教程(二)

泥闷嚎 今天接着来学习小白入门git的基本过程 今天要学习的是git里面的常见操作 状态查看 git status 所谓的状态查看就是你可以查看到工作区和暂存区的状态,在这里你可以看到你的工作文件的状态,比如是否已经提交等等 首先我们创建一个文本文件&…

FreeRTOS学习(一)

裸机与RTOS对比 裸机:又称为前后台系统,前台系统指的是中断服务函数,后台系统指的大循环,即应用程序。 实时性差:(应用程序轮流执行)delay:空等待,CPU不执行其它代码结…

【分享】太阳能电池性能测试指标,太阳能电池IV测试软件系统

在现代社会,随着能源需求的不断增加,太阳能电池的应用越来越广泛。太阳能电池是一种利用太阳光能量将化学能转换为电能的半导体材料,它可以将太阳光中的光能直接转换成电能,因此具有广泛的应用前景。本篇文章纳米软件小编为大家分…

JAVAWeb01-BS架构简述、HTML

1. B/S 软件开发架构简述 1.1 Java Web 技术体系图 1.2 B/S 软件开发架构简述 B/S架构 B/S框架,意思是前端(Browser 浏览器)和服务器端(Server)组成的系统的框架结构。B/S架构也可理解为web架构,包含前端、后端、数据库三大组成部分。示意图 &#xf…

学校的地下网站(学校的地下网站1080P高清)

这个问题本身就提得有问题,为什么这么说,这是因为YouTube本身就不是一个视频网站或者说YouTube不是一个传统的视频网站!!! YouTube能够一家独大,可不仅仅是因为有了Google这个亲爹,还有一点&…

ROS实践12 自定义源文件并调用

文章目录运行环境:思路:原理:1.1 头文件编写1.2 编写源文件1.3 编写可执行文件1.4 🏯配置文件🏯1.5 编译运行运行环境: ubuntu20.04 noetic 宏基暗影骑士笔记本 思路: 上一期:类和…

Serverless MQTT 服务即将正式上线、新增 2 个平台安装包

3 月,EMQX 开源版发布了 v5.0.19、v5.0.20 以及 v5.0.21 三个版本,提供 Rocky Linux 9 以及 MacOS 12 Intel 平台安装包。企业版发布了 v4.4.15 以及 v4.4.16 版本,提供了 Apache IoTDB 支持、HStreamDB 最新版本的适配、MongoDB 6.0 支持等多…

Python SMTP发送邮件和线程

文章目录一、Python SMTP发送邮件二、Python3 多线程总结一、Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 python的smtplib提供…

DevExpress WinForms电子表格控件,让应用更快拥有现代办公体验!

DevExpress WinForm Spreadsheet组件能读写XLSx、XLS、CSV、TXT文件、打印并导出为PDF等,为终端用户提供了当今流行的办公UI体验! PS:DevExpress WinForm拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。…

QT笔记——QuaZIP压缩文件夹

需求:解压缩包文件 开发环境:win10 vs2019 qt5.14.2 开源地址:QuaZIP下载地址 第一步: 用vs 打开“quazip.sln” 可能解决方案也没有出来,我们可以在 菜单栏 视图-》解决方案资源管理器 我们发现资源管理器也加载失…

若依Linux环境部署

若依Linux环境部署1.若依项目2.后端3.Linux环境配置4.环境部署附录1.若依项目 若依官网若依文档前后端分离代码 2.后端 整体项目结构 自己创建好数据库,并在如下地方修改代码 日志路径也需要修改 数据库建表语句 同时redis也要启动并配置好 后端启动 3.Li…

导数的四则运算

导数的四则运算简单函数复杂函数简单函数 我们举例14个基本初等函数的函数导数。 函数原函数导函数常函数(即常数)yCyCyC(C为常数)y′0y0y′0指数函数yax、yexya^x、ye^xyax、yexy′axlna、y′exya^xlna、ye^xy′axlna、y′ex幂…

产品经理考个PMP有多大作用吗?

现在基本上做产品的会有一个PMP证件,从结果导向来说,不对口不会有这么大范围的人来考,但是需要因地制宜,在公司内部里,标准程序并不流畅,产品和项目并不规范,关系错综复杂。 而产品经理的职能又…

走进小程序【五】微信小程序架构之【逻辑层】详解

文章目录🌟前言🌟小程序架构🌟逻辑层 App Service🌟注册小程序🌟注册页面🌟使用 Page 构造器注册页面🌟在页面中使用 behaviors🌟使用 Component 构造器构造页面🌟页面生…

vs中的错误集合

记录在vs 中遇到的 各种错误 1:project.vcxproj.filters 文件出现了异常,发现了以前的解决方案下的筛选器竟然没有了 原因:合并svn的时候 .vcxproj.filters 文件出现了 合并错误(检查该文件里面是否有不一样的) 解决办法:解决 该文…

Android 手机自动化测试工具有哪几种?

一、Android手机自动化测试工具,常用的有这7中: 1、首推Appium: 推荐理由:功能非常强大的移动端自动化测试框架,还免费 下载链接:Appium: Mobile App Automation Made Awesome. Appium是一种被广泛使用的…

C++ 类与对象part3(static成员、匿名对象、友元、内部类、编译器的优化)

目录 static成员 匿名对象(一次性、临时使用...) 友元 友元函数 友元类 内部类 拷贝对象时的一些编译器优化 static成员 面试题: 对于一个自定义的对象来说,不是调用构造函数就是调用拷贝构造函数,所以我们通常…
最新文章