
简介面向 Zemax 光学设计学习者与光纤耦合系统研发人员的实操范例文档聚焦单模光纤光束耦合的建模、分析与优化。内容以 SUSS MicroOptics FC-Q-250 微透镜阵列耦合两根康宁 SMF-28e 光纤为对象演示物面与像面距离设置、用 Pick-up solve 保持空间反演对称、以透镜后表面为孔径光阑并采用浮动光阑尺寸以及孔径高斯切趾等建模要点。文档进一步展开旁轴高斯光束计算、GBPS 操作数优化光纤到透镜距离并介绍单模光纤耦合计算中的能量传输与模式匹配、FICL 优化及耦合效率结果解读帮助读者理解模场直径、数值孔径定义差异与离焦影响。资源包仅含 1 个 doc 文件约 504KB篇幅集中、便于按主题查阅。已有 3603 人学习适合需要掌握 Zemax 光纤耦合仿真流程与优化思路的初中级光学设计人员对照练习。1. 模场直径只有 9.2μm这套光纤耦合模型到底在算什么用 Zemax 做单模光纤的光束耦合仿真最常见的误解是把它当成一次镜头设计练习调曲率、加一片非球面效率自然就上去了。真正做过一轮的人会发现模场直径 9.2μm 量级的两根光纤对在一起效率的瓶颈往往不在镜片本身而在三个被随手填掉的设定——光阑放在哪个面、数值孔径按哪一种定义取、透镜那 240μm 的通光口径会不会把高斯模式的尾巴切掉。这套方案搭的是两段光纤加两片微透镜阵列的对向耦合系统先用旁轴高斯光束摸清光束尺寸再用光线耦合拆出能量传输与模式匹配两个分项最后用物理光学传输把衍射、位相和 M2 因子一起算进去。适合正在做光电类课程设计、毕业设计或者要给一条耦合链路出仿真报告的人。2. 建模前的参数核对光纤、透镜与光阑的可复算输入参数核对这一步看着枯燥但它决定了后面所有数字有没有意义。同一颗光纤厂商手册给的数值孔径可能是 0.14而按模场直径反算出来的 1/e² 数值孔径只有 0.09两者相差一倍半同一片微透镜阵列标称口径 240μm实际有效衍射受限区域还要再打个折。输入一旦混用优化照样会收敛收敛到一个错的点上这比不收敛更难发现。2.1 光纤与微透镜阵列的参数对照表把要用到的量一次性列全后面建模只认这张表。光纤取标准单模跳线透镜取 250μm 节距的微透镜阵列两片相同型号面对面放置对象参数数值单模光纤工作波长1.31 μm模场直径9.2 ± 0.4 μm纤芯直径8.3 μm数值孔径厂商按 1% 峰值强度定义0.14微透镜阵列透镜通光口径240 μm透镜节距250 μm曲率半径330 μm圆锥常数0基片材料 / 厚度熔融石英 / 0.9 mm内部透过率 0.99数值孔径0.17透镜这一侧要算一个数口径 240μm、曲率半径 330μm平凸透镜的矢高约 22.6μm也就是330 - sqrt(330² - 120²)。这个量决定了透镜体的等效厚度大概比基片厚多少用来判断建模时把透镜面厚度填 0.9mm 合不合理。光焦度主要由曲率半径承担厚度在这个量级上的偏差对 1.31μm 波长的会聚位置影响在几微米量级做初步分析够用做最终公差分析要按供应商图纸核。透镜数值孔径 0.17 对光束 1/e² 数值孔径 0.09余量接近一倍这意味着光纤模式在透镜口径内不会被明显截断。这个判断很关键因为它直接解释了后面为什么在 2mm 间距下系统效率能做到 99% 以上而间距拉到 20mm 就掉到 57%。2.2 光阑位置与 float by stop size 的连锁影响孔径光阑设在第一片透镜的后表面也就是光束离开第一片透镜、进入两透镜之间空气间隔的那个面。系统孔径类型选「按光阑尺寸浮动」float by stop size含义是入瞳直径不再由用户指定而是由这个面的实际半口径和它前面的光焦度反推出来。这一步做对了透镜口径就真正参与了渐晕计算做错了Zemax 会默认孔径可以无限大衍射和边缘遮挡全部消失POP 结果会虚高。表面数据按这个顺序铺开编号沿用常见的建模习惯面号面型作用厚度 / 位置备注1平面源光纤端面0.1 mm优化变量高斯光束束腰参考面2球面 R330μm透镜 1 前表面约 0.9 mm口径 240μm加高斯切趾3平面透镜 1 后表面2 mm优化变量系统光阑float by stop size4球面 R330μm透镜 2 前表面约 0.9 mm与面 2 参数一致5平面透镜 2 后表面0.1 mmPick-up跟随面 1 厚度6平面接收光纤端面—重叠积分参考面面 5 的厚度用 Pick-up solve 跟随面 1这条看起来只是省事的设定实际上是整个模型互易性的保证。两组光纤和透镜在制造公差内完全一致系统就应该是空间反演对称的正着接和反着接必须给出同一个耦合效率。少了这条约束优化会找到一个「单向最优」的解换成反向链路立刻掉档。面 2、面 4 的孔径上还要加高斯切趾Gaussian apodization让入射光在孔径内的振幅分布接近高斯形。这是一种近似处理用来替代把光纤模式直接注入孔径的做法精度不如 POP但胜在设置简单、优化快。2.3 数值孔径的三种定义与 1% 功率口径的换算数值孔径至少有三种写法边缘光线倾角的正弦、光强降到 1/e² 时半角的正弦、光强降到峰值 1% 时半角的正弦。Zemax 在不同分析窗口里会分别用到前两种光纤厂商手册常用第三种。康宁那类产品手册给的 0.14 属于第三种而耦合效率计算里需要填的模场数值孔径属于第二种。用一段小脚本把这个换算做实避免手算出错import math lam 1.31 # 工作波长单位 μm mfd 9.2 # 模场直径厂商标称 9.2±0.4 μm w0 mfd / 2.0 # 束腰半径 4.6 μm theta lam / (math.pi * w0) # 基模高斯光束远场发散半角1/e² 强度处 na_1e2 math.sin(theta) # 小角度下约等于 theta print(f束腰半径 w0 {w0:.2f} um) print(f1/e2 半角 {theta:.4f} rad {math.degrees(theta):.2f} deg) print(f1/e2 数值孔径 {na_1e2:.4f})输出是 0.0906 左右。参数含义lam取系统工作波长w0由模场直径除 2 得到注意不要拿纤芯半径 4.15μm 去算那是折射率分布的名义值不是模场theta是基模高斯光束的远场发散半角na_1e2就是后面要填进光纤耦合窗口的那个数。拿 0.14 直接填进去接收端模式会被人为放大 50%FICL 和 POP 给出的效率都会偏低而且优化会往一个奇怪的光纤到透镜距离上跑。3. 旁轴高斯与光线耦合两级算法怎么把间距从 0.1mm 推到 0.11mm三级分析方法是这套方案的主干顺序不能反。旁轴高斯光束用来拿一阶量和最粗的焦面判断光线耦合用来拆能量传输和模式匹配物理光学用来收拾衍射和位相。每一级的结论都是下一级的输入初值跳级做会让优化在错误的初值附近打转。3.1 旁轴高斯光束用 4.6μm 束腰先摸清光束尺寸在 Analysis 菜单里打开 Physical Optics 下的 Paraxial Gaussian Beam束腰参考面选面 1它和源光纤端面重合。束腰半口径填 4.6μm也就是模场直径的一半如果窗口要求填直径就填 9.2μm这个字段的半径/直径切换是最容易填反的地方填错后整条光束尺寸都会差一倍。计算出来直接看三个数面 3 上 1/e² 光束直径约 65μm面 4 上约 70μm像面上的光斑约 5.3μm。面 3、面 4 的实际半口径是 120μm也就是说 1/e² 半径为 32.5μm 的光束距离 120μm 的物理边界还差 3.7 倍换成直径口径就是两个多光束直径以外的能量才被拦掉。这部分能量占比很小所以在 2mm 间距下透镜口径基本不构成限制。真正值得注意的是像面那个 5.3μm。按系统对称性最佳像面束腰就是源端束腰 4.6μm现在却是 5.3μm说明像面根本没落在最佳焦面上初始填的 0.1mm 间距偏了。这个判断不需要任何优化器看一眼数字就能得出这也是旁轴高斯这一级存在的意义。3.2 GBPS 单行优化函数与 0.117mm 的落点优化变量只有一个面 1 的厚度也就是源光纤端面到第一片透镜前表面的距离。目标面 5 的厚度通过 Pick-up 自动跟随所以整条链路保持对称。评价函数里只需要一行旁轴高斯光束尺寸操作数 GBPS! 评价函数编辑器片段字段顺序以所用版本的帮助文档为准 ! 变量面 1 厚度目标像面处高斯光束尺寸回到 4.6μm GBPS 1 6 0 4.6 1参数说明前两个面号分别对应源参考面和观察面目标值 4.6 来自对称性推导权重取 1 即可因为只有一个变量。优化器跑几个循环就会收敛到 0.117mm。这个数字比初始值 0.1mm 大了 17μm正好解释了像面光斑为什么是 5.3μm 而不是 4.6μm——离焦量在这个量级上。这一级得到的 0.117mm 是后面两级算法的起始值。别小看这 17μm如果直接从 0.1mm 开始跑 FICL优化器也能收敛但会多花循环次数而且在 POP 这种计算量大、梯度噪声也大的算法里初值偏得多容易停在一个局部小坑里。3.3 单模光纤耦合计算系统效率 S 与接收效率 T 要分开看Analysis 菜单下的 Calculations 里打开 Fiber Coupling Efficiency这个窗口给出两组计算。能量传输计算给出系统效率 S通过对入瞳上所有光能量积分乘以光学系统振幅传输函数再除以源光纤辐射的总能量得到有多少能量真正穿过了系统渐晕和偏振传输都在这一步计入。模式匹配计算给出接收效率 T把出瞳处的复振幅波前和接收光纤的复振幅模式做相干重叠积分取模平方最大值 1.0位相和振幅任何一处失配都会让它下降。两个数要分开读。S 掉问题在口径、遮挡、镀膜和体吸收T 掉问题在波前位相也就是离焦和像差。把两者混成一个「总效率」看排查时就只能靠猜。窗口里的模场数值孔径填 0.0906不是 0.14。填完之后先跑一次记下 S 和 T再决定往哪里优化。3.4 FICL 优化0.11mm 与几行优化函数的写法把评价函数换成光纤耦合效率操作数 FICL变量还是面 1 厚度! 变量面 1 厚度目标光纤耦合效率趋近 1.0 FICL 0 1 0 1.0 1跑几个循环之后光纤到透镜的距离收敛到 0.11mm。和旁轴高斯的 0.117mm 相比差 7μm这个差值本身就是信息两种算法的建模精度不同旁轴高斯只跟踪束腰半径FICL 还要考虑模场匹配收敛点必然有偏差量级在几微米属于正常。结果页上有三个变化值得记系统效率 S 几乎没有动因为 S 主要由透镜孔径和模式尺寸决定几十微米的离焦对它影响很小接收效率 T 明显上升因为重新聚焦之后源模式经过系统传输后和接收端模式对得更齐理论上限那个数也一起给出它忽略像差但保留渐晕和振幅失配用来判断还有多少优化空间。这个例子里上限基本够到了再加非球面或者增加表面数量能提一点但提升幅度很小属于性价比不高的动作。4. 物理光学传输POP 采样、POPD 操作数与 20mm 间距下的 0.57两级光线算法都建立在「光束保持高斯形」这个假设上。只要光束在两片透镜之间传输的距离足够长、口径足够小衍射就会把这个假设打碎。物理光学传输POP就是用来处理这种情况的它把光场当成复振幅分布逐面做菲涅耳传播在像面和接收光纤模式做重叠积分允许任意复杂的模式定义。4.1 POP 窗口的采样率与起始矩阵打开 Analysis 下的 Physical Optics Propagation起始面选面 1束腰半口径 4.6μmX、Y 方向取相同值。采样率设 256×256然后点 Auto 让软件按束腰尺寸和发散角自动算起始矩阵宽度。这一步不要手填起始矩阵太小会把高斯分布的边缘截断能量凭空丢失太大则大部分采样点浪费在零场上有效分辨率下降两种情况的共同点是结果看起来很正常。显示选项卡里默认给的是辐照度分布把它改成位相显示后面读球差和离焦全靠这张图。像面那一侧的重叠积分用和源端完全相同的模式定义因为两端用的是同型号光纤这个假定在 2mm 间距的系统里是成立的。4.2 POPD 操作数把 POP 结果搬进优化函数优化函数编辑器里的 POPD 操作数能直接调用已经保存的 POP 分析设置返回其中的各项数据。使用前必须先在 POP 窗口里设好参数并保存否则操作数读到的是空设置或者上一次的残留结果莫名其妙。返回的数据按编号排列常用的几项是数据编号含义本系统数值0总光纤耦合效率0.9941系统效率0.9982接收效率0.99610导引光束束腰4.57 μm23有效光束宽度4.84 μm26M2 因子1.082! 变量面 1 厚度目标POP 总光纤耦合效率 POPD 0 0 0 0.99 1第一个参数选数据编号 0也就是总光纤耦合目标值先设 0.99权重 1。总耦合 0.994、系统效率 0.998、接收效率 0.996 这三个数一起看系统效率损失的那 0.2% 来自透镜有限口径挡掉的光接收效率损失的那 0.4% 来自位相失配。M2 只有 1.082辐照度分布几乎是理想高斯形说明这个系统在 2mm 间距下确实工作在衍射受限状态前面光线算法的假设是站得住的。4.3 20mm 间距的对照实验0.57 与 0.99 的差距从哪来这套方案最有说服力的地方是把两片透镜的间距从 2mm 拉到 20mm 再跑一遍。只改这一个参数用 FICL 算出来的耦合效率还是 0.99几乎不动因为光线追迹认为光束在两片透镜之间是准直传输的走多远都不散。换成 POP效率掉到 0.57几乎减半。原因在光束宽度上。高斯模式在 20mm 的自由空间里传播之后1/e² 宽度涨到 0.15mm超过了透镜 0.12mm 的半口径相当一部分能量在第二片透镜的物理边缘上被衍射掉。聚焦到接收光纤上的光束已经不是高斯形M2 涨到 2.45。这时候再用光线算法报 0.99就是在报一个不存在的结果。反过来做优化也有意思把面 1 厚度固定成前面优化好的值把两片透镜的间距设为变量POP 收敛到 2.072mm。实验中用的是 2mm两者差 72μm对于手工装配的耦合器来说这个差异完全可以接受也反过来验证了模型的可信度。用 Universal Plot 扫一遍间距对耦合效率和 M2 的影响能直接看到效率曲线在 2mm 附近很平过了 10mm 开始明显下滑这条曲线放到答辩 PPT 上比任何文字都有说服力。4.4 位相曲线的抛物线与四次项球差的读数位相图是这套流程里信息密度最高的一张图。把 POP 窗口的显示设置改成位相看像面处的位相分布中心区域是一条开口向下的抛物线抛物线的曲率对应离焦量抛物线往边缘走会偏离二次曲线叠加上一个四次项那就是球差的贡献再往外透镜边缘附近的位相曲线会突然断开那个位置对应的能量已经很低对总耦合的贡献可以忽略。这也解释了为什么继续优化提升有限。位相差主要出现在边缘低能量区把光纤到透镜的距离再调中心高能量区的匹配已经到底了。配套的操作是把 POP 窗口的截面辐照度图导出用窗口克隆功能复制一份把副本改成显示位相再在窗口菜单里用 overlay 把两条曲线叠在一起一张图同时看到光强和位相的对应关系。到这一步前面三级方法的差异也有了结论2mm 间距下三种算法给出的耦合效率都在 99% 以上差别只在千分位20mm 间距下光线算法 0.99、POP 0.57差了一倍。耦合器越长衍射越重要POP 的优势越明显。5. 避坑与排查五个让效率数字失真的设定这一节列的五个点都是我自己或者身边人真踩过的。共同特征是软件不报错优化能收敛结果页数字好看但换一种算法或者换一个人复算就对不上。5.1 光阑面设错透镜口径等于不存在现象POP 算出来的系统效率接近 1.000把透镜口径从 240μm 改成 120μm效率几乎不变。原因系统孔径类型用了「入瞳直径」而不是「按光阑尺寸浮动」入瞳被固定成一个用户填的值透镜的实际半口径根本没有参与运算渐晕和边缘衍射全部丢失。解决把孔径类型改回 float by stop size光阑面指定为第一片透镜的后表面然后重新确认面 3 和面 4 的口径都是 240μm。改完再跑一次系统效率应该从 1.000 掉到 0.998 这个量级掉的那点就是边缘挡光。5.2 数值孔径混用模场整体偏大现象FICL 优化后耦合效率卡在 0.85 上不去怎么调间距都没用。原因光纤耦合窗口里的模场数值孔径填了厂商手册的 0.14那是 1% 峰值强度定义的口径对应的是光束远场的外圈不是 1/e² 模场。填进去之后接收端模式被放大重叠积分天然偏低。解决按模场直径反算 1/e² 数值孔径1.31μm 波长、9.2μm 模场直径对应 0.0906。填完之后同样的优化能到 0.99 以上。这个坑的隐蔽之处在于它不会让结果变成乱码只会让结果一直差那么一点点。5.3 Pick-up solve 断链互易性丢失现象正向链路优化到 0.994把系统整体翻转过来重新算效率变成 0.97。原因面 5 的厚度用了 Pick-up 跟随面 1但优化过程中手动改过面 5 的值或者复制文件时 solve 被清除两端间距不再相等空间反演对称被破坏。解决优化前先检查面 5 的 solve 类型是不是 Pick-up、引用的是不是面 1确认之后再加变量。养成习惯每次打开文件先扫一眼所有 solve被清掉的 solve 会在那一行显示成固定数值一眼能看出来。5.4 POP 采样不足收敛曲线是噪声现象POP 优化跑十几轮总耦合效率在 0.98 到 0.99 之间来回跳看不出收敛方向。原因起始矩阵宽度或者采样率不够光场边缘被截断每次微小的参数变化都会改变截断位置效率随之抖动。优化器把这种数值噪声当成了真实的梯度信号。解决把采样率提到 256×256起始矩阵用 Auto 生成然后做一次采样收敛性检查——把采样率从 128 加到 256 再加到 512看总耦合效率的变化是否小于 0.5%。小于这个量级才说明结果与采样无关可以拿去做优化目标。5.5 忘了开偏振镀膜收益算不出来现象报告里写着「增加单层氟化镁增透膜后效率提升」但仿真前后数字一模一样。原因单模光纤耦合和 POP 两个窗口里都有「Use Polarization」选项默认不勾选介质表面反射和材料体吸收都不参与计算加不加膜自然没区别。解决在两个分析窗口里都勾上偏振再到系统设置的偏振选项卡里把入射光定义成 y 方向线偏振。这时不开膜的总效率会掉到 0.86 左右因为熔融石英表面 4% 的菲涅耳反射被计入了给所有玻璃表面加一层单层氟化镁增透膜效率回升。注意掉的是系统效率 S接收效率 T 基本不变因为偏振效应对模式形状的改变非常缓慢。6. 验收与答辩六个判据把模型钉在可信区间一套耦合仿真做完怎么证明它可信我的做法是列一张验收表每一项都写清楚判据、参考值和数据来源答辩时按表逐条过比讲一堆原理有用得多。验收项判据参考值像面束腰旁轴高斯优化后应回到源端束腰4.6 μm ± 0.2 μm光纤到透镜间距GBPS 与 FICL 两次优化结果应接近0.110.12 mm总光纤耦合效率2mm 间距下 POP 结果≥ 0.99光束质量2mm 间距下 M2 1.1透镜间隔优化值与实验值偏差2.07 mm偏差 5%偏振与镀膜开偏振后系统效率、加膜后回升约 0.86 → 回升这张表里最值得展开讲的是第二项和第五项。第二项用两种不同精度的算法互相印证差值 7μm 说明模型没有系统偏差第五项用优化值去对实验值2.072mm 对 2mm偏差 3.6%这个量级正好落在装配公差里说明模型不只是自洽还跟物理世界对得上。答辩时被问到「你怎么知道算得对」这两条就是答案。还有一个技巧把 2mm 和 20mm 两组结果并排放在一页里左边光线算法 0.99、右边 POP 0.57然后解释为什么长距离下光线算法会失效。这一页能同时证明你懂算法边界、懂衍射、也懂自己模型的适用范围。评审最怕的不是结果不好而是不知道结果什么时候不能用。从那以后我每次交仿真报告都会强制走一遍这张验收表尤其是采样收敛性检查和 Pick-up solve 复查这两项——它们不影响出图只影响数字可不可信而后者才是别人愿不愿意照着你的方案复现的关键。希望帮到你。本文还有配套的精品资源点击获取