Ansys Speos|进行智能手机镜头杂散光分析

2024-05-01 08:52

本文主要是介绍Ansys Speos|进行智能手机镜头杂散光分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图片

本例的目的是研究智能手机Camera系统的杂散光。杂散光是指光向相机传感器不需要的散光光或镜面光,是在光学设计中无意产生的,会降低相机系统的光学性能。

在本例中,光学透镜系统使用Ansys Zemax OpticStudio (ZOS)进行设计,并使用新的“Zemax Importer”工具一键导入镜头系统到Speos中进行系统级杂散光分析。所使用的光学机械参数和透镜边缘可以在CAD平台上进行设计,然后在Ansys Speos中进行修改。这个例子主要涵盖了整个工作流程中的Speos部分,介绍了杂散光分析的概念,并演示了Speos的功能:Zemax Importer工具, light expert (LXP)光线追迹和序列检测杂散光。

操作流程概述

图片

上图是使用Ansys工具分析相机系统杂散光的典型工作流程。工作流程可分为四个部分:1. 使用“Zemax Importer”工具导入ZOS镜头设计到Speos。2. 检测所有可能的关键太阳位置和整个系统的光泄漏。3.相机视场内四个外环境太阳位置的杂散光模拟(可选)。4. 分析杂散光路径序列,对外环境太阳位置的杂散光进行抑制。

第一步:使用“Zemax Importer”工具导入OS镜头设计到Speos

使用“Zemax导入工具”导入ZOS镜头设计到Speos。在这里,使用ZOS设计的高效手机相机镜头系统,通过使用Zemax importer工具可以读取ZOS透镜数据参数,并根据它们的数学表示自动重建每个透镜,作为基于CAD的Speos透镜特性几何数据,并访问所有透镜参数。此外,该工具将ZOS材料转换为Speos材料格式,并将光学特性应用到透镜上。该成像过程使用一个照度传感器。所有几何图形的参考点、原点和照度传感器对应于图像平面的位置。然后将镜头系统添加到光学机械部分(灰色)和镜头边缘(黄色)。

图片

1. 在Speos仿真界面,点击Zemax import工具,然后选择*.ZMX的Zemax镜头设计数据,工具会自动转换Zemax的镜头数据参数、材料和能量接收器信息,并将其转换为Speos功能数据。

图片

2. 为了清晰显示镜头系统,可以以不同的颜色显示不同的镜头数。

图片

3. 定义环境太阳光源入光到镜头系统中,并在direct simulation选择source、geometry、sensor运算仿真,激活light expert为true,并在sensor中勾选LXP选项。

图片

第二步:检测所有可能的关键太阳位置和整个系统的光泄漏

使用光线逆向追踪模拟方法在一个direct模拟中研究所有可能的临界太阳位置。这是一种逆向追迹方法,从成像sensor发送光线通过相机系统到天空。通过这种方法,还可以检测机械系统中的漏光。Speos光线跟踪算法考虑了所有几何形状的所有材料行为。此外,将根据相机视场内外的临界和光线路径对这些区域进行分类。相机视场内的光源可以在镜头表面经历多次二次反光,导致鬼反光,镜头光晕在成像仪上。视场外的光源会对机械和光学零件造成杂散光散光。通过利用Speos LXP功能,可以在强度结果上可视化和导出这些特定区域的光线路径。

对于本例,假设相机系统水平对称。因此,将强度传感器作为半球体放置在系统的顶部。使用LXP功能,可以选择任意区域并显示光线传播路径。

图片

第三步:视场内四个太阳位置的杂散光模拟

在这一步中,运行了一个完整的系统杂散光模拟在相机视场内的四个不同的太阳位置(从0°到15°)。模拟使用Speos GPU运行,得到完整的相机系统在相机成像sensor上的杂散光结果为四个太阳位置分别的成像效果。

图片

图片

第四步:分析杂散光路径序列,对一个太阳位置的杂散光进行抑制

在第4步中,将通过利用Speos LXP和“序列检测”功能,识别最关键的光线路径序列(根据传感器的照度)和导致5°太阳位置的成像仪上杂散光的物体相互作用。此外,将展示如何解决明亮的鬼像。

1. 显示5°太阳位置成像结果,打开xmp,点击measure,选择杂光区域,并显示其数据结果。

图片

图片

2. 在XMP结果中,点击tools工具,sequence detection得到序列分层光线结果,得到序列层以发现从层1到层20的光线路径序列,这些序列是根据能量到达传感器的顺序排列的。

图片

3. 举例分析,序列20的光线沿着从光源发出的直接顺序路径。穿过前四个透镜,直到它们被镜面反光到物体10的正面。单击对象10以突出显示3D视图中的几何图形。

图片

4. 同样的工作流程可以应用于结果中的其他区域,以识别导致杂散光的元素。

图片

5. 一旦对系统进行了分析,就可以与设计和机械团队讨论不同光学元件对杂散光的影响。光学抛光表面的菲涅耳反光和透光率分别为4%和96%。通过改变表面的透光率,可以控制镜面杂散光。AR涂层减少了光学系统中的反光。通过在物体10的正面应用AR涂层作为面光学特性(FOP),可以消除鬼像点。

图片

重要参数设置

meshing网格设置是获得正确仿真结果的关键。它们定义了将被模拟的几何图形的质量。网格可以得到更好的结果,但也需要更长的模拟时间。粗糙的网格会导致较差的结果,特别是对于精密的光学元件。网格设置成与机身尺寸成比例,并在所有光学元件上应用了精细的局部网格。关于网格设置的更多细节可以Speos user guide在meshing中找到。

图片

这篇关于Ansys Speos|进行智能手机镜头杂散光分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/951246

相关文章

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

QT进行CSV文件初始化与读写操作

《QT进行CSV文件初始化与读写操作》这篇文章主要为大家详细介绍了在QT环境中如何进行CSV文件的初始化、写入和读取操作,本文为大家整理了相关的操作的多种方法,希望对大家有所帮助... 目录前言一、CSV文件初始化二、CSV写入三、CSV读取四、QT 逐行读取csv文件五、Qt如何将数据保存成CSV文件前言

通过Spring层面进行事务回滚的实现

《通过Spring层面进行事务回滚的实现》本文主要介绍了通过Spring层面进行事务回滚的实现,包括声明式事务和编程式事务,具有一定的参考价值,感兴趣的可以了解一下... 目录声明式事务回滚:1. 基础注解配置2. 指定回滚异常类型3. ​不回滚特殊场景编程式事务回滚:1. ​使用 TransactionT

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

SpringSecurity6.0 如何通过JWTtoken进行认证授权

《SpringSecurity6.0如何通过JWTtoken进行认证授权》:本文主要介绍SpringSecurity6.0通过JWTtoken进行认证授权的过程,本文给大家介绍的非常详细,感兴趣... 目录项目依赖认证UserDetailService生成JWT token权限控制小结之前写过一个文章,从S

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.