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

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

如何使用Lombok进行spring 注入

《如何使用Lombok进行spring注入》本文介绍如何用Lombok简化Spring注入,推荐优先使用setter注入,通过注解自动生成getter/setter及构造器,减少冗余代码,提升开发效... Lombok为了开发环境简化代码,好处不用多说。spring 注入方式为2种,构造器注入和setter