 验证 DOE 设计,真的太香了)
做DOE设计的人大概率都经历过这样一个瞬间算法跑完了相位图也出来了文件夹里安安静静躺着一张“看起来很像那么回事”的全息相位图。这个时候最让人上头的问题就来了——这张图真的能打吗它到底能不能把光整形成我想要的样子 它在目标面上到底会不会形成设计中的光斑 它是“理论上可行”还是“实际上翻车” 如果直接拿去加工最后会不会花了钱、等了周期结果出来一看不对劲说白了DOE设计里最怕的从来都不是没有相位图而是你手里明明已经有了相位图却不知道它到底靠不靠谱。所以今天这篇我想分享一个特别实用、也特别适合工程场景的方法怎么用 VirtualLab Fusion 里的 Data-Defined Transimission(CF-TRAN01)把一张设计好的相位图真正变成可验证的DOE模型并且在加工之前先把结果看明白。这次我们不讲特别复杂的大系统就拿一个非常典型、也非常有代表性的案例来讲验证一个 3×3 分束DOE 的整形效果。如果你正在做DOE设计或者你手上已经有相位图了但还不知道该怎么验证这篇基本可以直接拿去照着做。一、为什么DOE设计一定要先验证先说一个特别现实的问题。很多时候我们做DOE设计的流程都是这样的 先设定目标光场然后通过迭代算法、优化方法或者其他设计手段最后得到一张相位图。到这里很多人会下意识觉得工作完成得差不多了。但实际上真正危险的地方往往恰恰就在这之后。因为相位图设计完成和最终光场重建正确之间并不能直接画等号。中间还隔着很多坑比如相位灰度和真实相位的映射有没有搞对 导入软件之后物理量是不是设置错了 传播距离是不是和设计工况一致 连续相位一旦变成多台阶效果会不会掉得很厉害 目标点阵有没有出来 出来了之后均匀性好不好 有没有一堆杂散光和鬼像这些问题如果不提前验证最后就很容易演变成一句熟悉的话“设计的时候感觉没问题啊。”但光学系统这东西最不认感觉。尤其DOE这种器件本身就对相位调制、采样、量化、传播条件都非常敏感。你只要有一个环节理解偏了、映射错了最后出来的结果就可能和预期差很远。所以对DOE来说仿真验证不是有空可以做一下而是最好在加工前必须做。它最大的价值不只是让你看一张结果图而是让你在真正花钱、花时间流片之前先判断这条路到底值不值得走。二、这个案例要解决什么问题这次我们验证的是一个很经典的DOE任务把一束高斯光整形成一个 3×3 的点阵。任务本身不复杂但特别适合拿来讲清楚验证思路。如图1所示系统参数如下光源是高斯光源 束腰直径 8 mm也就是束腰半径 4 mm 波长 532 nm DOE器件尺寸 8 mm × 8 mm 目标平面位于DOE后方 200 mm 目标是看目标面上能不能得到 3×3 点阵分布图1. 532nm激光3×3分束DOE建模任务这个案例好就好在它非常像真实项目里的一个最小闭环。有输入光 有设计好的相位图 有DOE器件 有传播距离 有目标观察面 最后还有一个明确的问题到底有没有实现分束如果你把这个案例吃透了后面不管你做的是二维点阵、平顶光斑、特殊图形投影还是更复杂的光束整形基本逻辑都是通的。三、Data-Defined Transimission(CF-TRAN01) 到底好用在哪Data-Defined Transimission(CF-TRAN01)本质上就是一个“把外部定义好的光学调制函数真正加载进系统里参与计算”的工具。我们在DOE设计里常见的输出形式是什么 往往就是一张相位图。问题是这张相位图本身只是一个文件它不会自己参与光传播。你得先想办法把它变成一个“有物理意义的器件”软件才能拿它去调制入射光场。Data-Defined Transimission(CF-TRAN01) 的作用恰恰就是把这件事接起来。它不是让你重新从零定义复杂的公式也不是逼你手工一个像素一个像素地搭建DOE结构而是允许你把已有的相位结果导入进来转成透过率函数再让这个函数真正作用在光束上。对工程人员来说这个方式真的很友好。因为实际工作中很多时候我们最不缺的是设计结果最缺的是把设计结果快速变成验证模型的能力。Data-Defined Transimission(CF-TRAN01) 刚好把这一步给补上了。更重要的是它还不只是能验证理想连续相位。你甚至可以进一步做多台阶量化去看实际加工之后效果会不会明显变差。这一点非常关键。因为很多DOE在设计阶段都很漂亮仿佛天下无敌一旦考虑工艺台阶数、实际制造精度结果马上就开始“掉血”。如果你只看理想相位不看量化结果那很多时候你验证出来的是“理论好看”不是“工程可做”。四、这个案例具体怎么做整个流程其实不复杂总共可以分成五步如图2所示。真正做一遍之后你会发现它比很多人想象中要直观得多。图2. Data-Defined Transmission使用指南第一步先把系统骨架搭起来在光路编辑器里先加三个元件高斯光源 | Data-Defined Transimission(CF-TRAN01) | 探测器这就是最基本的自由空间传播链路 光源发光经过DOE调制最后在目标平面上看结果。然后把关键参数设好高斯光源束腰半径设为 4 mm 波长设为 532 nm 探测器和 Data-Defined Transimission(CF-TRAN01) 的距离设为 200 mm。这一步虽然简单但绝对不能马虎。尤其是传播距离很多时候结果不对不是因为DOE不行而是因为你把探测面放错了。DOE设计通常是针对特定目标平面完成的你测的位置不对看到的自然也不是目标图样。所以这里的逻辑很简单设计在哪儿成像你就在哪儿看。第二步把相位图导进来。图3. 导入相位图创建Harmonic Field接下来如图3所示导入设计好的相位图。这里特别建议用灰度图。原因很现实灰度图最适合作为相位映射的载体导入的时候更清晰也更容易控制物理量对应关系。在导入时不是简单把它当成一张图显示出来而是要选择创建 Harmonic Field并把物理量设置成“相位”。这一步非常关键甚至可以说决定了后面结果到底有没有意义。因为此时软件并不是在看这张图长什么样而是在理解每一个像素到底代表多少相位。这就涉及到一个特别容易翻车的问题相位范围映射。比如你的相位图设计时本来对应的是 0 到 2π但导入时你只设置成了 0 到 π那么结果必然失真。看起来只是参数填错了一点点实际上整个波前调制都变了。所以这里一定要根据你相位图原始编码方式正确设置最小值和最大值。很多DOE验证翻车不是算法不行而是这一步物理量映射出了问题。第三步把相位数据变成真正的透过率函数导完相位图之后还没完。因为你现在拿到的还是一个带有物理信息的数据对象它还不是一个真正能放进系统里调光的“器件”。所以接下来要做的就是选中这个 Harmonic Field然后点击创建 Transmission。这一步本质上就是在做一件事 把“相位分布”转化成“对光场有调制作用的透过率函数”如图4左图所示。图4. 从Harmonic Field创建Transmission(左)和将Transmission导入Data-Defined Transimission(CF-TRAN01)(右)第四步把透过率函数塞进 Data-Defined Transimission(CF-TRAN01) 里来到最关键的一步把刚才生成的透过率函数导入 Data-Defined Transimission(CF-TRAN01) 中让它正式成为这个元件的调制内容如图3右图所示。到这里Data-Defined Transimission(CF-TRAN01) 就不再是一个空壳了而是变成了一个由你的相位图定义出来的DOE器件。这一步好用的地方不仅仅在于“导入成功”。更大的价值在于Data-Defined Transimission(CF-TRAN01) 通常还支持对连续相位图做多台阶量化处理。也就是说你可以在这里进一步模拟现实工艺。为什么这很重要因为理想中的DOE通常是连续相位而实际加工出来的往往是有限台阶比如二值、四台阶、八台阶、十六台阶等等。台阶越少对理想波前的逼近通常越差衍射效率、均匀性、背景噪声都可能受影响。所以如果你只验证连续相位那你得到的是理论最优表现 如果你进一步验证量化相位你看到的才更接近实际落地表现。这一层差别往往决定了一个方案到底能不能真的走到制造。第五步跑起来看结果说话最后把计算引擎设置为场追迹选好合适的传播算子然后运行。为什么这里推荐场追迹因为DOE本质上是对光场相位进行精细调制最终你关心的是经过传播之后目标面上的振幅和相位怎么演化成目标光斑。场追迹方法在这类问题上非常合适能够比较完整地保留波动光学信息。仿真结束后直接看探测器上的光斑分布。这个案例里最终看到的是一个比较清晰的 3×3 点阵如图5所示。也就是说这张设计好的相位图经过 Data-Defined Transimission(CF-TRAN01) 加载并完成自由空间传播之后成功把入射高斯光整形成了目标图样。到这里这个DOE设计至少完成了最基础也最重要的一项验证 它确实“做出了想做的事”。图5. 经过DOE整形后生成的3×3点阵图五、看到 3×3 点阵就算结束了吗其实还不够。很多人第一次做验证时只要看见九个点出来了就会下意识觉得成了。但如果你站在更工程化一点的角度判断一个DOE设计好不好远不止“有没有分出来”这么简单。至少还应该继续看几个问题。第一九个点的位置准不准 是不是在你预期的位置上 点与点之间的间距对不对 如果位置跑偏了那可能不是设计本身错了也可能是传播距离、采样设置或者导入映射出了问题。第二能量均不均匀 九个点是不是差不多亮 还是中间特别亮、边上特别暗 对于很多应用来说均匀性甚至比“分成几个点更重要。第三背景干不干净 目标点阵之外是不是还有明显杂散光、鬼像、拖尾或者噪声底 一个真正好用的DOE不能只会生成目标还得尽可能压住非目标。第四量化之后还稳不稳 连续相位下效果很好不代表台阶化之后也好。 如果量化后性能掉得很明显那说明这个设计对工艺特别敏感落地风险就会比较大。所以仿真验证这件事真正的意义不是截图一张结果图而是借助结果图去判断 这个设计到底是看起来不错还是真的值得做。六、为什么这个方法特别适合工程验证我自己觉得这个方法最有价值的地方不在于它多炫而在于它特别接地气。因为真实项目里我们经常遇到的情况是相位图已经有了、 时间很紧、又不想重新从头建复杂模型、还希望尽快知道这个方案值不值得继续推进。这时候Data-Defined Transimission(CF-TRAN01) 这套流程就特别顺手。它的优势很明显第一上手快。 对已有相位图的设计来说不需要你从零再建构器件。第二衔接自然。 很多DOE算法输出的本来就是图片格式或者相位分布文件直接就能往下走。第三结果直观。 目标面上到底长什么样探测器一看就知道。第四还能考虑制造因素。 通过相位量化可以把验证从“理想世界”拉回“现实世界”。第五省成本。 很多坑在仿真阶段踩掉总比在流片回来之后踩要便宜得多。总而言之这个方法最大的意义就是让DOE开发不再那么像“开盲盒”。七、总结这个案例虽然只是一个 3×3 分束DOE但它很好地说明了一件事DOE设计从来不是相位图出来就结束了而是相位图出来之后验证才真正开始。通过 VirtualLab Fusion 的 Data-Defined Transimission(CF-TRAN01)你可以把设计好的相位图快速转成可计算的DOE模型再结合场追迹去看目标平面的真实光斑分布。这样一来不仅能判断设计是否达到了预期还能进一步评估量化台阶、传播条件和器件性能之间的关系。对于工程开发来说这一步非常值。因为它帮你把很多本来要在制造之后才暴露的问题提前挪到了仿真阶段。而这恰恰就是光学仿真最迷人的地方 不是替你画一张图而是替你在真正投入成本之前先把风险看见。如果你手里也有一张DOE相位图还没验证过那我真的建议你试一次。很多时候一次仿真省下来的不只是加工成本更是整个项目反复试错的时间。