Ansys Zemax | 用于数字投影光学中均匀照明的蝇眼阵列

news/2024/11/24 13:00:27/

简介

在数字投影仪设计中,我们希望确保数字光源与投影图像在辐照度分布相匹配。因此,这一约束要求投影仪设计包含均匀照明的空间光调制器——通常以LCD面板的形式呈现。理论上听起来很容易,但实际上,此面板上的光源光束通常是高斯分布的(即不均匀的)。因此,需要一种装置来“去高斯化”,或在空间上将不均匀的光束分布转换成均匀的光束分布。具有这种能力的设备之一就是一对蝇眼光积分器阵列。在本文中,我们将研究这些设备及其最佳设置。

什么是蝇眼阵列?

蝇眼阵列是由许多单个光学元件组装成单独的二维阵列光学元件,它用于将像面上非均匀的空间光线分布转换为均匀的辐照度分布。使用蝇眼阵列的数字投影系统通常与含有能够提供半准直入射光的抛物面反射器的大灯组件一起使用。目前,它们主要应用于LCD数字投影机灯光引擎中,对空间光调制器照明平面进行均匀照明。

上图为蝇眼阵列(此照片由In Vision提供,网址为:www.in-vision.at)。阵列中的每个光学元件可以是正方形或长方形的,每个光学元件的表面可以是球面或是有一定变形的(在垂直和水平方向上的光焦度不同)。光焦度通常只在阵列的一个表面上,第二个表面通常是平面的。

在OpticStudio中建模这种设置的最简单方法之一是使用阵列物体(array object)。提供的示例,选择了透镜阵列1(Lenslet Array 1)物体,它由矩形体阵列组成,每个矩形体的前表面为平面,后表面为用户自定义数目的重复曲面。后表面可以是平面、球面、圆锥面、多项式非球面或环形表面。这使得阵列中透镜元件表面形状的定义和优化具有了极大的灵活性。下图显示了透镜阵列1物体,它是由7 x 5个矩形透镜组成的透镜阵列,每个矩形透镜都可以看作一个球面透镜的矩形区域。

其它可以用于该应用程序的物体包括透镜阵列2物体和六边形透镜阵列(Hexagonal Lenslet Array)物体。您可以通过点击:设置(Setup)选项卡>编辑器组(Editors Group)(设置选项卡)>非序列元件编辑器(Non-Sequential Component Editor)>非序列几何物体(Non-Sequential Geometry Objects)打开帮助文档,了解更多关于这些阵列及其规格的信息。

通过用户自定义表面(User-Defined Surface)功能,在序列模式下进行光学设计时也支持透镜阵列的使用。

蝇眼阵列如何工作?

蝇眼阵列通常是成对使用的,与聚光镜一起在照明平面上提供均匀的辐照度。第一个蝇眼阵列常称为“物方阵列”,沿光轴方向的第二个蝇眼阵列称为“视场阵列”。现在我们只考虑物方阵列,物方阵列就像照相机上的物镜,在物镜的焦平面上形成物体(或本例中光源)的像,如下图所示。在本例中,我们将在物方阵列的焦平面上形成准直光源的像。

如果我们有准直光源,就很容易产生均匀的辐照度。如上图所示,如果将物方阵列与准直光一起使用,我们将聚光镜放置在物方阵列的焦平面上,我们将在照明平面上获得均匀的辐照度,这可以在上图的探测器查看器(Detector Viewer)中看到。不幸的是,我们没能获得点光源,这使得获得准直光很困难。由于光源有一定的体积,并不是一个点,使得带有抛物面反射器的大灯组件发出的光,就像通常在数字投影仪中看到的那样,具有一些发散度或角度。在下面的截图中,我们可以看到使用物方阵列和聚光镜发出较小发散角(约3.75度)的光源和具有多个视场角的光源的模拟结果。

名义上,轴向光线成像重叠在照明平面能够提供均匀照明。实际上,发散的光线(如上图中的绿色光线所示)被成像到不同的位置,因此在照明平面上不会与准直光线重叠。这导致了照明平面上的非均匀性,因为当轴向光线的全部光束重叠时,只有一半的发散光线照亮了与轴向光线相同的平面位置。

在上面的第二个系统中,两个视场角在聚光镜上得到不同的物高,因此可以通过聚光镜将不同的物高成像在照明平面上。如果所有视场的像没能重叠在照明平面上,将会获得不均匀的照明图案,如探测器查看器中所显示的。

在这两种情况下,我们都可以通过添加视场阵列来改善照明均匀性。如上所述,视场阵列是位于物方阵列的像平面上的第二个蝇眼阵列。视场阵列的作用是使来自光源的不同视场都能在照明平面上获得重叠的像。为了在同一平面上均匀照明,我们需要使同时被轴向光线和发散光线照射的最终像平面的全宽完全相同。我们可以看到视场阵列的添加对于下图中列出的两种情况有什么作用,即使只是进行了最小程度的优化:在这两种情况下,视场阵列与物方阵列和聚光镜共同作用,以确保发散光线和轴上光线在照明平面上重叠。

蝇眼阵列设计权衡

在设置设计时,用户需要决定阵列的垂直和水平方向上通道的数量。通道数目越大,照明平面上的照明越均匀。然而,子透镜之间的边缘并不是无限锐利的,因此光线会被这些边缘散射出光束。子透镜越多,这种散射就越严重。

通道数目的奇偶性是另一种选择。使用奇数通道意味着中心通道总是在中心上,两边的通道被光学折叠到中心通道上。这就是空间均匀性的来源。偶数数量子透镜也会导致中心强度下降。

作为概括,大约七个通道是实现数字投影仪照明平面的均匀辐照度所需的最小数量。类似地,11是最大值,但这些都不是严格的界限。因此,请确定照明系统从光源到照明平面的模型,以确定您的蝇眼阵列需要多少通道。

子透镜的焦距决定了两个阵列之间的间距。每个通道的孔径和物方阵列的焦距决定了视场阵列可以传输的视场大小。两个阵列的通道孔径、焦距和间距决定照明平面水平和垂直方向的大小。考虑视场阵列的一种方法是,单个子透镜的工作是将通道的物方阵列的孔径以一定的放大率成像到照明平面。

在LCD和LCoS数字投影仪的灯光引擎中,光源在到达照明平面之前必须被极化,因此常常使用偏振转换组件(PCS)来进行极化。PCS阵列通常与视场阵列的平面侧粘接,为PCS阵列的菱形提供公共支座和刚性支撑。

示例

下面是在数字投影仪中使用蝇眼照明系统的简单示例。这个示例文件可以在 {Zemax}\Samples\Non-Sequential\Miscellaneous\Digital_projector_flys_eye_homogenizer.zmx 中找到。

光源是一个椭球体,以抛物面反射镜的焦点为中心。抛物面反射镜的输出结果非常不均匀:

请注意,如果可以对灯进行更详细的建模,即使使用简单的lamp模型,也可以清楚地看到问题的严重程度。通过两个透镜阵列(Lenslet Array)物体和聚光镜进行光线追迹,然后在位于数字投影仪中空间光调制器位置的探测器物体上进行分析。以下是阵列透镜数量不同时所产生的结果(在所有情况下两个阵列之间子透镜数量相同):

案例1:6x4 的透镜阵列

案例2:7x5 的透镜阵列

案例3:11X9 的透镜阵列

易于看出11x9案例的均匀性最好。OpticStudio可以方便地改变透镜的数量、曲率半径、非球面系数等。也可以使用NSDD优化操作数中的pixel = -4数据项来优化均匀性。详情请参阅OpticStudio帮助文件(Help Files)

如果我们设置探测器查看器显示发光强度(即功率作为角度的函数),也可以看到阵列对光的角谱的影响:


http://www.ppmy.cn/news/545810.html

相关文章

相机投影模型

对于研究计算机视觉的人来说,相机模型是一个非常头疼而又非常重要的理论,虽然我们可以只是对一些离线图片做各种算法开发,但那些图像的获取归根结底还是从相机获得,并且如果我们想要把开发出来的各种计算机视觉的算法应用到实际生…

鱼眼相机投影模型

1、 成像投影原理 其成像过程分解成两步: 1.归一化平面上(Zc 1)的三维空间点线性地投影到一个球面上,它是一个虚拟的单位球面,它的球心与相机坐标系的原点重合; 2&…

android4.2 小红盒,不插电也能用!网红爆款:天猫精灵妙物“小红盒”投影仪评测...

如今在“线上”买东西俨然成为了生活中的一种常态操作,毕竟有些小伙伴们因忙于工作,没有时间去实体店铺买东西,继而才会选择“线上买”这种方式。但是,在线上买东西虽然快捷、方便,但是也会面临一无法避免的问题&#…

摄像机投射投影模型

转载于:https://blog.csdn.net/shenziheng1/article/details/52890223 1.写在前面的话 摄像机通过成像透镜将三维场景投影到摄像机二维像平面上,这个投影可以用成像变换进行表示,也就是我们平常说的摄像机投影模型。摄像机成像模型有不同的描…

VSCode gdb 调试 qemu u-boot 的方法

前言 最近使用 VS Code GDB 调试 qemu,有了一点收获,u-boot 编译后生成了一个 elf 文件:u-boot,是否也可以调试一下? 为何需要 VS Code GDB 调试,直接 gdb 调试不就可以了吗?答案就是&#xff…

设计模式-工厂方法模式

​ 文章目录 发展:简单实现:命名不规范:可读性差可维护性差可扩展性差团队合作问题 除数不能为0问题:开闭原则问题:想象力创造力:首先是发现力:接下来是想象力:总结 大话设计模式这本书反反复复…

2023年如何选购一部4000元价位的笔记本电脑(附跳坑说明)

2023年如何选购一部4000元价位的笔记本电脑(附带坑的说明) 本文是一个快速指南,不包含选购中涉及的所有知识点,尤其是大量的具体硬件参数,内容主要关注在如何快速抓住自己真正的需求,快速筛选掉不匹配的型…

你真的会写 HelloWorld 吗?

目录 Hello World 写一个批处理命令行脚本 关于include 关于程序的入口 输出充定向 在内存的存储详情 WinHex工具介绍 初学C语言时,第一个程序一定是Hello World!。但是Hello World的具体实现细节你真的了解吗? Hello World C语言代码如下&#…