简介:面向光学设计与光纤耦合仿真学习者的一份实操范例文档,聚焦如何在 Zemax 中搭建并优化单模光纤到透镜的耦合系统。范例以康宁 SMF-28e 光纤与 SUSS MicroOptics FC-Q-250 微透镜阵列为对象,围绕旁轴高斯光束计算、GBPS 优化操作数、单模光纤耦合效率(能量传输与模式匹配)等环节展开,并附元件参数表与优化后的结果数据,讨论孔径光阑设定、高斯切趾、数值孔径多种定义对结果的影响。读者可据此复现束腰尺寸与光纤到透镜间距的调优过程,理解系统对称性与 Pick-up solve 的作用。压缩包共 1 个 doc 文档,约 504KB,篇幅紧凑,是一份可直接对照 Zemax 界面操作的完整范例说明。目前已有 3603 人学习,适合光通信器件、光纤耦合封装方向的工程师与相关专业学生作为建模练习与参数参考。
1. 一条光线都没丢,耦合效率却从 0.99 掉到 0.57:把透镜间距从 2mm 拉到 20mm 之后发生了什么
单模光纤耦合这件事,最反直觉的地方不在透镜选型,而在"你怎么算"。同一个系统,两根单模光纤对着两组相同的微透镜,透镜间距按实验取 2mm 时,基于光线的耦合计算给出 0.99,物理光学传输给出 0.994,谁看都对得上。可只要把间距改到 20mm,光线法照样报 0.99,物理光学法直接掉到 0.57——接近一半的能量凭空蒸发,而追迹图上的光线一条没少。
这就是单模光纤耦合的玄学所在:它耦合的不是"能量到没到",而是"波前和光纤模式长得像不像"。光线只带位置和方向,不带位相,所以它天然看不见衍射、看不见像差怎么把高斯波前揉歪。搞懂这个差异,才能明白为什么一套完整的光纤耦合仿真要分三层来做,也才能解释为什么软件里那个"数值孔径"参数换个定义填,结果能差 50%。下面从一个具体的光纤耦合器文件出发,把构型约束、三种算法的数学内核和容易出错的地方,一层层拆开。
2. 对称性先锁死一半自由度:Pick-up solve 与浮动光阑在约束什么
这套耦合器的物理构型很朴素:源光纤端面 → 第一片微透镜 → 2mm 空气间隔 → 第二片微透镜 → 接收光纤端面。用的光纤在 1.31μm 波长下模场直径 9.2μm、纤芯直径 8.3μm、数值孔径 0.14;微透镜是熔融石英基片上的透镜阵列,单片透镜直径 240μm、节距 250μm、曲率半径 330μm、圆锥常数 0、数值孔径 0.17、基片厚 0.9mm、内部透过率优于 0.99。
看上去参数不多,但每一个都在影响后面能优化的自由度。真正决定这套模型"能不能算出可信结果"的,不是这些数字本身,而是建模时先把哪几件事钉死了。
2.1 反演对称:为什么倒过来用必须得到同样结果
两组光纤和两组透镜在制造公差内是完全一致的,这意味着整个系统天然具备空间反演对称和轴对称性——把耦合器掉个头,耦合效率应该几乎不变。为了让这个物理事实在模型里成立,建模时用了一个细节:透镜到像面的距离不是独立变量,而是通过 Pick-up solve 跟随"物面到透镜的距离"。前者一动,后者自动同步。
这一步看着像偷懒,实际是在砍自由度。如果两端距离各自独立,优化器完全可能给出一个"左端 0.08mm、右端 0.15mm"的解,数值上效率略高一点,但物理上不成立——因为实物是对称的,你没法造出一个两端不对称的耦合器。用 Pick-up 把两个距离绑成一个,等于把优化空间从二维压到一维,同时也把"倒过来用"这个约束编码进了模型。
初始值给的是 0.1mm,这个数字不是算出来的,是"接近实际装配"的经验值。原文说得很清楚,后面优化时它会变。2mm 的透镜间距同理,来自实验数据,后续也会被优化。初始值只负责让优化器站在一个合理的起点上,不负责正确。
提示:凡是"物理上应该对称"的系统,都建议用 Pick-up 或等价约束把对称关系写死,而不是优化完再检查两端是否一致。前者是约束,后者是碰运气。
2.2 float by stop size:孔径光阑为什么交给透镜口径去定
系统孔径光阑设在第一片透镜的后表面,类型选"根据光阑尺寸浮动"(float by stop size)。这两件事必须一起理解。
普通成像系统里,光阑通常是一个明确的光圈,口径固定,入瞳位置和大小由它反推。但在这个耦合器里,没有额外的光圈——限光的物理实体就是微透镜本身的 240μm 口径。把光阑放在第一片透镜后表面、并允许光阑尺寸浮动,等于告诉软件:这个系统的入瞳由透镜实际口径决定,光阑口径不是一个待优化参数,而是几何结构的结果。
为什么放在后表面而不是前表面?因为光束在前表面时还是从光纤刚出来的发散光,口径很小;经过透镜准直后在后表面附近达到最大横向尺寸,这里限光效应最真实。数据也印证了这一点:表面 3(第一片透镜后表面)上 1/e² 光束直径约 65μm,表面 4(第二片透镜前表面)约 70μm,而这两个面的物理半口径是 120μm——光束直径大约只有口径的一半多一点。也就是说,绝大部分能量能通过,但边缘确实会被切掉一部分,这部分就是渐晕,后面算系统效率时会体现出来。
如果这里把光阑口径写死成一个不等于 120μm 的数,或者把光阑放到别的面上,渐晕量就错了,而渐晕恰恰是系统效率里唯一"与模式无关"的损失项。
2.3 数值孔径的三种定义:0.14 和 0.09 其实不矛盾
这是整个案例里最容易出错的一处,也是最值得展开的一处。
同一个"数值孔径",在光纤厂商数据表、光学软件的不同模块、不同的教科书中,至少对应三种定义:边缘光线倾角的正弦;光强降到 1/e² 处的半角正弦;光强降到峰值 1% 处的半角正弦。光纤厂商数据表给的 0.14 用的是第三种,而软件在计算高斯模式耦合时用的是第二种,算下来约 0.09。
两者不矛盾,差的是一个纯几何的比例因子。高斯光束的强度分布是 I(r) ∝ exp(-2r²/w²),令 I/I₀ = 0.01,解出 r/w = √(-ln0.01/2) ≈ 1.517。而 1/e² 对应的正是 r/w = 1。所以 1% 强度处的半角约等于 1/e² 半角的 1.517 倍。
反过来验算:模场半径 w = 4.6μm,波长 1.31μm,高斯光束远场发散半角 θ = λ/(πw) = 1.31/(π×4.6) ≈ 0.0906 rad,小角度下 NA ≈ sinθ ≈ 0.09。再乘 1.517 得 0.1375,正好落在 0.14 附近。两个数字就此闭环。
import math lam = 1.31e-6 # 波长,单位 m mfd = 9.2e-6 # 模场直径,单位 m w0 = mfd / 2 # 模场半径 4.6 μm # 高斯光束远场发散半角 theta = lam / (math.pi * w0) na_1e2 = math.sin(theta) # 1% 峰值强度处的半角:1/e^2 半径放大 sqrt(-ln(0.01)/2) 倍 k = math.sqrt(-math.log(0.01) / 2) na_1pct = math.sin(k * theta) print(f"1/e2 NA ≈ {na_1e2:.4f}") # 约 0.0906 print(f"1% NA ≈ {na_1pct:.4f}") # 约 0.1375这段代码做的是同一件事的两种表述:先用模场直径反推发散角,再用强度阈值换算两种 NA 定义。k就是那个 1.517 的换算系数,它只跟高斯分布的形状有关,跟具体光纤无关。实际建模时,如果软件要求填 1/e² 定义的 NA,而手头只有数据表的 0.14,就必须除这个系数;直接填 0.14,等于把接收光纤的模式放大了一半,重叠积分立刻掉下来。
另外,模型在孔径上加了高斯切趾来产生高斯分布。这只是一个近似——真实的单模光纤出射场是贝塞尔型而不是纯高斯,但在模场直径附近两者吻合得很好。原文也注明"后面会做进一步精确计算",这正对应后面用物理光学传输时导入真实模式场的做法。
3. 旁轴高斯与单模耦合:两个积分把"光到了"和"模式对上了"拆开
三层算法里,前两层都还在"光线"的框架内,只是对光束的描述精度不同。旁轴高斯光束只跟踪一个复参数 q,单模光纤耦合计算则开始算重叠积分。两者给出的结果差得不多(0.117mm 对 0.11mm),但它们能回答的问题完全不是一个层级。
3.1 从 9.2μm 模场直径到 4.6μm 束腰,再到 65μm 准直直径
旁轴高斯光束计算(分析菜单下的物理光学分支里那个)设置很简单:束腰位置固定在表面 1,和物面重合,束腰半径 4.6μm,也就是模场直径的一半。然后让这个高斯光束一路传过去。
中间发生了什么,可以从瑞利长度看出来。z_R = πw₀²/λ = π×(4.6μm)²/1.31μm ≈ 50.7μm。光纤到透镜的距离初始 0.1mm,约等于两个瑞利长度,此时光束半径已经涨到 w₀√(1+(z/z_R)²) ≈ 4.6×2.24 ≈ 10.3μm。也就是说,光在到达透镜时已经不是"细小平行光"了,而是明显发散的。
透镜把它准直回来。由曲率半径 330μm 和熔融石英约 1.45 的折射率估算,对称双凸结构的焦距落在 0.36mm 上下;把 0.09 的发散半角乘上去,准直后的束腰半径约 33μm,1/e² 直径 66μm——和文件里报出的表面 3 上 65μm 几乎重合。这个自洽性说明模型的光焦度设置是对的。
表面 4 的 70μm 比 65μm 大一点,这个"大一点"本身就是衍射的证据。准直后的束腰并不在透镜后表面,而是在透镜后约一个焦距处,之后光束开始重新发散;2mm 的传输距离已经超过准直光束的瑞利长度量级(约 2.6mm),所以到达第二片透镜时必然比出射时宽一些。旁轴高斯能捕捉到这个变化,因为它跟踪的就是复参数随距离的演化。
3.2 GBPS 一行优化函数凭什么够用
优化前有个明显的失配:像面(接收光纤端面)处的光斑是 5.3μm,而不是对称性要求的 4.6μm。这说明焦点没落在像面上,耦合必然打折。
优化用的操作数是"旁轴高斯光束尺寸"(GBPS),它返回指定面上的高斯光束尺寸,可以直接作为优化目标。由于系统被 Pick-up 约束成一维,变量只有表面 1 的厚度(表面 5 的厚度自动跟随),目标只有一个:让像面上光束尺寸回到 4.6μm。所以优化函数编辑器里就只有一行。
优化函数(示意,一行) GBPS Surf=6(像面) Target=4.6 Weight=1 变量: 表面1 厚度(Pick-up 联动 表面5 厚度)一行优化能收敛,靠的不是运气,是自由度已经被前一步的对称性约束砍干净了。这也是为什么建模顺序很重要:先把物理约束写进模型,再谈优化;反过来先优化再补约束,通常要推翻重来。
优化结果:光纤到透镜的距离从 0.1mm 变成 0.117mm。束腰回到了 4.6μm,焦点落回像面。
3.3 S 和 T:能量传输与相干重叠积分是两个分母不同的比值
旁轴高斯的局限在于它假设光束一路都是理想高斯,完全不管孔径截断和像差。单模光纤耦合计算往前迈了一步,它拆成两个量分别算。
系统效率 S:分子是通过入瞳、经过系统(考虑渐晕、体吸收、偏振传输)之后的能量,分母是源光纤辐射的全部能量。它衡量的是"能量留下了多少",跟模式形状无关。
接收端效率 T:这是相干重叠积分,描述汇聚波前和接收光纤模式的匹配程度。分子是接收光纤复振幅 Fr 与出瞳处波前复振幅 W 的重叠积分模平方,分母是两个模的自身内积。因为两个函数都是复数,这个积分保留了位相信息——位相差一点,实部虚部对不上,模平方就掉下来。
总耦合效率可以理解为这两个量的乘积:光得先到,还得长得像。S 掉通常是口径或吸收的问题,T 掉通常是像差或离焦的问题,分开看才知道该往哪改。
3.4 FICL 优化:为什么系统效率没变,接收效率涨了
直接用 FICL 操作数优化(它就是把这个乘积作为目标),几个循环后光纤到透镜的距离变成 0.11mm,比旁轴高斯的 0.117mm 略小。
两个数字的差异来自评价标准不同:GBPS 只要求像面光斑尺寸等于 4.6μm,而 FICL 要求波前和模式在振幅和位相上都匹配。位相匹配的最优点,未必是光斑尺寸最小的点。
优化后有几个现象值得注意。系统效率几乎没变,因为渐晕是由透镜口径和光束尺寸决定的,0.007mm 的离焦改变不了通过口径的能量比例。接收端效率提升了,因为重新聚焦让波前曲率半径和光纤端面的模式波前对齐了。这说明在这个系统里,优化的收益全部来自位相匹配,不来自能量收集。
至于最大耦合效率能不能再往上推——通过加非球面、加额外表面可以,但本例中已经接近这套光学结构的极限。透镜是球面、圆锥常数 0,球差是固有限制。
4. 物理光学传输:位相图上的抛物线和四次曲线到底在报什么错
前两层算法共用一个隐含假设:光束始终保持高斯形状。当衍射可以忽略、像差轻微时这个假设成立;一旦传输距离变长或孔径截断严重,假设就崩了。物理光学传输(POP)把复振幅场真正在面上传播,才让"衍射效应"这四个字有了具体含义。
4.1 256×256 采样与 Auto 矩阵:采样不足会让结果自己抖
POP 的设置里,表面 1 上是束腰半径 4.6μm 的高斯模式,一路传输到像面,在像面上用完全相同的模式算重叠积分。采样率填 256×256,但关键动作是点一下 Auto 去设定起始矩阵。
这个 Auto 不是可有可无的辅助按钮。物理光学传播把场离散成网格,网格范围太小时边缘能量被强行截断(等于凭空加了一个硬光阑),网格太粗时高频位相信息(球差那类四次曲线)采样不足,算出来的重叠积分会随矩阵大小漂移。Auto 的逻辑是根据系统里最小和最大的特征尺寸——光纤模场、透镜口径、传输距离引起的衍射展宽——自动选一个既能覆盖全部能量、又能分辨位相细节的窗口。手动固定一个数然后改传输距离,是翻车的常见起点。
顺带说一句,这个 256×256 的网格在透镜间距 2mm 时够用;间距拉到 20mm,光束在中间空间里展宽到 1/e² 宽 0.15mm,已经碰上了 0.12mm 的透镜半口径,此时如果矩阵范围还按 2mm 情况设置,第二个透镜上的截断和衍射都会算错。
4.2 位相才是要看的量,光强图几乎是骗人的
POP 报告里最有信息量的不是辐照度分布,而是位相分布。原因很直接:辐照度几乎是理想高斯形,M² 只有 1.082,光看光强你会以为一切正常。位相不一样,接收端模式失配的地方,光强几乎为零,位相却把误差全暴露出来。
位相图上能看到两件事。一是抛物线形状,它等价于离焦——波前曲率半径和光纤端面的模式波前不匹配,对应一个二次位相项。二是叠在抛物线上的四次曲线成分,它等价于球差——球面透镜边缘和中心的光焦度不同,波前边缘被多弯了一点。再加上透镜边缘处位相曲线的突然跳变,那是孔径截断造成的衍射。
把这三样分开看,才知道"效率还能不能提、该改哪个面"。如果位相主要是抛物线,调距离就能解决;如果四次项占主导,调距离没用,得上非球面。
4.3 POPD 操作数与 20mm 间距:0.57 是怎么算出来的
POP 分析窗口的所有数据都可以被优化函数里的 POPD 操作数取到,这比在窗口里读数有用得多,因为可以拿去优化。本例中取到的关键项:
| 数据项 | 含义 | 数值 |
|---|---|---|
| 0 | 总光纤耦合效率 | 0.994 |
| 1 | 系统效率 | 0.998 |
| 2 | 接收端效率 | 0.996 |
| 10 | 导引光束束腰 | 4.57μm |
| 23 | 有效光束宽度 | 4.84μm |
| 26 | M² | 1.082 |
系统效率 0.998 说明透镜口径切掉的能量不到 1%,和前面"光束直径只有口径一半多"的判断一致。
然后是那个关键实验:把透镜间距从 2mm 改成 20mm。光线法(FICL)算出 0.99,几乎不动——因为光束在两片透镜之间近似准直,光线追迹看不到准直光束在自由空间里的衍射。POP 算出 0.57。
原因在数据里:传输 20mm 后,高斯模式的 1/e² 宽度涨到 0.15mm,而透镜半口径只有 0.12mm。光束已经比口径宽了,第二个透镜的物理光阑结结实实地切掉了一圈能量,切掉的部分还会衍射,向中心扩散,把原本干净的高斯波前污染掉。聚焦到接收光纤上的光束 M² 涨到 2.45,形状已经不是高斯。
这里有个细节很能说明两类算法的差别:把 2D 外形图的 Y 方向放大后可以看到,由于球差,光线法给出的第二个透镜上的光束口径反而比第一个透镜上小。光线法相信这个结论,POP 不相信——因为实际发生的是衍射展宽占主导。
把光纤到透镜的距离固定、把透镜间距设为变量、用 POP 优化,得到的最优间距是 2.072mm。实验用的 2mm 和它差不到 4%,说明当初的实验设计是对的——但这个"对"是 POP 验证出来的,光线法验证不了。用通用绘图工具扫一遍间距对耦合效率的影响,还能看到效率随间距变化的曲线,以及 M² 随间距的同步变化。
4.4 偏振与镀膜:14% 的能量去哪了
前面的计算都默认没有界面反射和材料吸收。打开偏振计算(在单模耦合和 POP 的设置里勾上),并在系统设置里把入射光定义成 y 线偏振,两边的效率都掉到 86%。
值得注意的是:掉的只有系统效率(能量传输),接收端模式耦合几乎不变。原因是菲涅尔反射的大小随角度变化很缓慢,在这么小的角度范围内,它只是均匀地砍掉一部分能量,不改变波前的形状。波前形状不变,重叠积分的归一化结果就不变。
14% 这个数字可以手算验证:熔融石英折射率约 1.45,单面正入射反射率 = ((1.45-1)/(1.45+1))² ≈ 3.4%。两片透镜四个面,总透过率 ≈ (1-0.034)⁴ ≈ 0.871,也就是损失 13% 左右,再加上基片体吸收,落在 14% 完全合理。
n = 1.45 # 熔融石英折射率(1.31 μm 附近) R = ((n - 1) / (n + 1)) ** 2 # 单面菲涅尔反射率 surfaces = 4 # 两片透镜,四个空气-玻璃界面 T_total = (1 - R) ** surfaces print(f"单面反射率 {R:.4f}, 四面总透过率 {T_total:.4f}, 损失 {1-T_total:.2%}")这段的作用是给"14%"一个可复现的来源,而不是接受软件吐出来的数字。参数只有两个:折射率和界面数。如果模型里加了胶合面或保护玻璃,界面数要跟着改,损耗估算才对得上。
再给每个玻璃面加一层单层氟化镁增透膜,耦合效率回升。这里体现的是设计里的一个取舍:单层膜只能把反射率压到一个有限水平,且最佳工作波长固定;要在这个 1.31μm 单波长系统里榨出最后几个点,单层膜够用;宽谱系统就得上多层膜。
5. 排查清单:五个让耦合效率对不上的常见坑
这一节记录的是实际建模时最容易反复踩的几处。每一条都按"看到什么现象 → 底层原因 → 怎么改"来写。
5.1 现象:耦合效率比预期低一大截,怎么优化都上不去
原因几乎总是 NA 定义混用。把光纤数据表上的 0.14 直接填进要求 1/e² 定义的位置,接收光纤的模式被认为是发散的,重叠积分里两个模式的宽度差了一半,位相再怎么匹配也救不回来。旁轴高斯那边也会跟着出错——发散角被高估 1.5 倍,准直后的光束直径、透镜上的光斑尺寸全部偏移。
解决方式是先确认当前输入框要的是哪种定义,再用 1.517 这个系数换算:数据表值 ÷ 1.517 得到 1/e² 值,× 1.517 反过来。更稳妥的做法是用模场直径反算 λ/(πw),两条路算出来的数应该自洽,对不上就说明有一处填错了。
5.2 现象:POP 结果随采样矩阵变化,改个网格效率就跳几个点
原因是采样窗口没有随系统变化重新设定。窗口太小,边缘能量被强行截断,等效于多加了一个硬光阑;窗口太大,网格变粗,四次位相项和透镜边缘的陡变采样不足。两种都会让重叠积分失真,而且失真方向不一样,所以结果看起来忽高忽低。
解决方式是在每次改动传输距离或透镜口径后重新点 Auto,并且在每个面的报告里检查实际采样点数和光束宽度的比值。经验上,光束 1/e² 宽度至少要有十几个采样点,透镜口径要完整落在窗口内。传输距离拉长时需要重新评估,不能沿用短距离下的设置。
5.3 现象:光线法效率 0.99,换成物理光学变 0.57,不知道信哪个
原因不是哪个算错了,而是两者回答的问题不同。光线法在光束近似准直、衍射可忽略时是准的;传输距离一长,衍射展宽让光束碰到透镜口径,被切掉的能量和随之而来的衍射,光线法根本表示不了。
解决方式是用传输距离和口径的比值做判据:光束在中间空间的 1/e² 宽度接近或超过透镜半口径时,必须切到物理光学。本例中 2mm 间距下光束 65~70μm、口径 240μm,光线法可信;20mm 间距下光束 150μm、口径 240μm,光线法失效。做优化时更要注意,评价函数用什么算法,优化结果就带那个算法的偏差——用 FICL 优化出来的间距,拿去 POP 里验可能不是最优。
5.4 现象:系统效率怎么算都是 1.0,渐晕像是没生效
原因通常是光阑设置不对。光阑口径被写死成一个大于透镜实际口径的值,或者光阑放在了一个光束还没展开的面上,软件就认为没有任何光被挡住。这个系统里如果光阑放在第一片透镜前表面,那里光束刚从光纤出来只有二十几微米,永远碰不到口径,渐晕恒为零。
解决方式是把光阑设在光束横向尺寸最大的那个面(本例是第一片透镜后表面),类型选根据光阑尺寸浮动,让口径由几何结构决定而不是由某个输入框决定。设置完可以看系统效率和接收端效率的差值——差值为零通常就是渐晕没生效的信号。
5.5 现象:效率和文献/实测差十几个百分点,各模块内部却都自洽
原因是偏振和镀膜被关着。默认状态下软件算的是"无界面反射、无吸收"的理想传输,四个玻璃面各 3.4% 的反射被完全忽略,加起来正好十几个点。所有模块内部都一致,因为它们一致地忽略了同一件事。
解决方式是在单模耦合和 POP 两个设置里都勾上偏振计算,在系统设置里明确入射偏振态,然后跑一遍看系统效率掉多少。如果掉得和手算的菲涅尔损耗吻合,说明这部分对了;再给玻璃面加增透膜,看效率回升多少。注意勾了偏振之后,所有优化结果都要重跑一遍,最优距离会轻微移动。
6. 方法分层与代价:一个系统的三个耦合效率,该信哪一个
回到最开始那个矛盾:同一套参数,0.99 和 0.57 并存。经过上面几层拆解,现在可以给这三种方法划一条清晰的分工线。
| 方法 | 跟踪的量 | 能看见什么 | 看不见什么 | 适用判据 |
|---|---|---|---|---|
| 旁轴高斯光束 | 复参数 q | 束腰位置、光斑尺寸、准直度 | 孔径截断、像差、模式失配 | 只需要一阶参数和初始尺寸 |
| 单模光纤耦合 | 光线 + 高斯模 | 渐晕、能量传输、位相匹配 | 衍射、非高斯模式 | 光束宽度远小于口径 |
| 物理光学传输 | 复振幅场 | 衍射、任意模式、像差位相 | 计算代价高、设置敏感 | 光束宽度接近口径,或模式复杂 |
这张表背后是一个更根本的取舍:你优化用什么算法,结果就带那个算法的世界观。用 GBPS 优化得到 0.117mm,用 FICL 得到 0.11mm,用 POPD 优化透镜间距得到 2.072mm——三个数都"对",但只有最后一个考虑了衍射。如果系统的实际工作点在衍射显著的区域,前两个数就是精致的错误。
计算代价也得算进来。旁轴高斯几乎是瞬时的,FICL 一次优化几秒钟,POP 每次评价都要在多个面之间做一次完整的场传播,优化循环跑起来是前者的几十上百倍。所以合理的做法不是"一律用最准的",而是分层:先用旁轴高斯把一阶参数和束腰定下来,用 FICL 在光线框架内优化距离和口径,最后用 POP 做终验和精调。哪一层发现假设不成立(比如光束宽度逼近口径),就把那一层的结论降级,往上提一层重算。
还有一个容易被忽略的取舍:这个系统的最大耦合效率已经接近结构极限。透镜是球面、圆锥常数 0,球差是固有的,位相图上那条四次曲线就是它的签名。想再往上走,代价是加非球面或增加表面数——从两片球面透镜变成非球面,制造复杂度和成本都上一个台阶。在 1.31μm 单波长、耦合效率已经到 0.99 量级的情况下,这笔账通常不划算。真正值得投入的地方往往在装配公差和波长漂移上,而不是再挤那零点几个点。
我自己的血泪经验是:每次换算法验证之前,先把 NA 定义、光阑位置、采样矩阵这三样重新核一遍。这三处任何一处错了,换再准的算法也只是把一个错误的数算得更精确。从那以后我每次拿到一个新的光纤耦合模型,不管它看起来多简单,都强制走一遍"NA 反算 → 渐晕是否为非零 → Auto 采样点检查"这三步,再开始谈优化。希望帮到你。
本文还有配套的精品资源,点击获取