简介:这份资源是面向光学设计初学者与Zemax使用者的单模光纤光束耦合仿真范例,围绕SUSS MicroOptics FC-Q-250微透镜阵列耦合两根康宁SMF-28e光纤的商用耦合器展开,帮助读者理解光纤耦合系统的建模、优化与效率评估流程。压缩包内共1个doc文档,约504KB,内容涵盖设计前准备、旁轴高斯光束计算、GBPS与FICL优化操作数使用,以及单模光纤耦合计算中的能量传输与模式匹配分析,并附有相关Zemax文件说明。资源重点演示了如何通过Pick-up solve保证系统空间反演对称与轴对称、如何依据模场直径设置高斯光束束腰,以及如何用优化函数求解光纤到透镜的最佳距离,对理解数值孔径定义差异、孔径光阑设置与耦合效率计算均有参考价值。目前已有3574人学习下载,适合需要掌握Zemax光纤耦合仿真方法、提升光学系统优化能力的中级学习者。
1. 单模光纤耦合仿真:从 FC-Q-250 微透镜阵列到 Zemax 完整链路
做光纤耦合的同行大概都有过这种经历:实验台上调了大半天,功率计读数就是上不去,回头一查,问题出在模场直径和透镜孔径的匹配上。Zemax 模拟单模光纤的光束耦合这件事,核心价值就在于让你在动手拧镜架之前,先在软件里把耦合效率的账算清楚。这份资料围绕 SUSS MicroOptics FC-Q-250 微透镜阵列耦合两根康宁 SMF-28e 光纤的场景展开,从旁轴高斯光束的快速估算,到单模光纤耦合计算,再到物理光学传输的完整衍射建模,最后把表面反射和体吸收也纳入进来。适合已经会用 Zemax 基本操作、但对光纤耦合模块不熟悉的从业者,也适合想搞清楚 FICL 和 POPD 这两个操作数到底怎么用的朋友。下面按我实际复现的路径拆开讲。
2. 建模前的参数对齐:SMF-28e 与 SMO39920 的关键数据怎么填
2.1 光纤和透镜的参数表与 Zemax 对应关系
在 Zemax 里建光纤耦合模型,第一步不是急着画透镜,而是把供应商给的参数翻译成软件能识别的输入。康宁 SMF-28e 在 1.31μm 波长下的模场直径是 9.2±0.4μm,这个值直接决定高斯光束的束腰半径——4.6μm。注意,模场直径不是纤芯直径,纤芯直径 8.3μm 在这里只是参考,真正参与耦合计算的是模场直径。数值孔径 0.14 是康宁用 1% 峰值强度定义的,而 Zemax 在单模光纤耦合计算里默认用的是 1/e² 处的 NA,大约 0.09。这个差异如果不提前搞清楚,后面耦合效率算出来对不上,你会以为是模型建错了,其实是 NA 定义没统一。
SUSS MicroOptics SMO39920 微透镜阵列的参数也需要逐项录入:基片材料熔融石英,基片厚度 0.9mm,内部透过率大于 0.99,透镜直径 240μm,透镜节距 250μm,曲率半径 330μm,圆锥常数 0,数值孔径 0.17。这些数据在 Zemax 的 Lens Data Editor 里对应到每个表面的厚度、曲率半径和孔径设置。我一般会先建一个空系统,把表面数排好,再逐项填参数,避免漏掉某个面的孔径定义。
| 参数项 | SMF-28e 光纤 | SMO39920 透镜阵列 |
|---|---|---|
| 工作波长 | 1.31μm | 1.31μm |
| 模场直径 / 透镜直径 | 9.2±0.4μm | 240μm |
| 数值孔径定义 | 1% 峰值强度处 NA=0.14 | 边缘光线 NA=0.17 |
| 曲率半径 | 不适用 | 330μm |
| 圆锥常数 | 不适用 | 0 |
2.2 系统孔径光阑与 Pick-up solve 的设置逻辑
系统孔径光阑设定为“根据光阑尺寸浮动”(float by stop size),光阑放在第一个透镜的后表面。这意味着系统的孔径光阑由透镜的实际孔径决定,而不是你手动指定的某个固定值。光纤模式在传输过程中,如果光束尺寸接近透镜孔径,就会被截断。本例中光纤模式比透镜孔径小很多,所以这个设置不会立刻带来问题,但如果你把透镜间距拉大,衍射效应会让光束在第二个透镜上扩展,这时候孔径光阑的设置就直接影响耦合效率的计算结果。
透镜到像面的距离用了 Pick-up solve,确保和物面到透镜的距离相等。这个操作的目的是维持系统的空间反演对称性——两组透镜和光纤在制造公差内完全一致,所以系统倒过来用也应该得到同样的耦合效果。在 Lens Data Editor 里,表面 5 的厚度栏右键选择 Pick-up solve,拾取表面 1 的厚度值。这样你在优化表面 1 厚度时,表面 5 会自动跟随变化,不需要手动同步。
提示:Pick-up solve 的拾取关系是单向的,表面 5 拾取表面 1。如果你反过来设置,优化时会出现循环依赖,Zemax 会报错。
物面到透镜的距离和透镜到像面的距离初始都设为 0.1mm,透镜间距设为 2mm,这些是实验中的实际数据。后面优化时,光纤到透镜的距离会从 0.1mm 变到 0.117mm 甚至 0.11mm,透镜间距会从 2mm 优化到 2.072mm。初始值不用太纠结,但一定要设,否则优化算法没有起点。
2.3 高斯切趾与数值孔径定义的坑
孔径上定义了高斯切趾(Gaussian apodization),用来产生光束的高斯分布。这个设置在 System Explorer 的 Aperture 选项卡里,选择 Apodization Type 为 Gaussian,并指定切趾因子。当前这只是一种近似,后面用物理光学传输计算时会做更精确的处理。但如果你跳过这一步,直接用均匀光照射,旁轴高斯光束计算的结果会偏乐观。
数值孔径的多种定义是这份资料里反复强调的坑。边缘光束倾角的正弦值、光强降到 1/e² 时的光束倾角正弦值、光强降到 1% 峰值强度时的光束倾角正弦值,这三个定义在不同场合下混用,Zemax 会在不同的分析窗口里使用不同的定义。康宁的产品参数表用的是 1% 峰值强度定义,NA=0.14。而 Zemax 的单模光纤耦合计算里,源光纤模式和接收光纤模式的 NA 是通过高斯光束计算得来的发散角,用模场直径定义光束束腰直径,得到的 NA 大约是 0.09。如果你在设置窗口里填了 0.14,算出来的耦合效率会偏低,因为模式尺寸对不上。
我一般会在设置单模光纤耦合计算之前,先手动算一遍:模场直径 9.2μm,束腰半径 4.6μm,波长 1.31μm,高斯光束的发散角 θ = λ/(π·w₀) = 1.31/(π×4.6) ≈ 0.0907 rad,对应的 NA 就是 sin(θ) ≈ 0.0906。这个值和 Zemax 内部用 1/e² 定义算出来的 NA 一致。填参数时用这个值,不要用康宁的 0.14。
3. 旁轴高斯光束计算:用 GBPS 操作数把光纤到透镜距离优化到 0.117mm
3.1 旁轴高斯光束分析的设置与初步结果
旁轴高斯光束计算是最简单的方法,用来获得系统性能的初步了解。打开 Analysis > Physical Optics > Paraxial Gaussian Beam,设置束腰直径 Waist 为 4.6μm,束腰位置相对于表面 1 计算。在本例中,表面 1 和物面重合,所以高斯光束的束腰就在源光纤的位置。光束然后传输经过光学系统。
从分析窗口里可以看到,表面 3 上的 1/e² 光束直径是 65μm,表面 4 是 70μm。这些表面的实际物理半口径是 120μm,也就是说大约两个光束直径以外的光会被阻隔掉。这个截断比例不算大,但如果你把透镜间距拉大,光束扩展后截断比例会急剧上升。另外需要注意的是,像面并非位于光束最佳聚焦点处:像面处光斑大小为 5.3μm,而根据系统对称性,高斯束腰直径应该是 4.6μm。这说明初始的 0.1mm 光纤到透镜距离不是最优的,需要优化。
3.2 GBPS 优化操作数的用法与单行优化函数
Zemax 中有一项优化操作数 GBPS,指的是旁轴高斯光束尺寸,可以用来优化光纤和耦合镜头之间的距离。根据系统的对称性,高斯光束束腰的最佳尺寸是 4.6μm,因此优化函数只有简单的一行:
GBPS 表面 1 目标值 4.6 权重 1在 Merit Function Editor 里,操作数类型选 GBPS,Surface 填 1,Target 填 4.6,Weight 填 1。然后打开 Optimize 窗口,选择阻尼最小二乘法(Damped Least Squares),点击 Optimize。经过几个循环,光纤到透镜的距离从 0.1mm 变为 0.117mm。
优化后的旁轴高斯光束数据:表面 3 上的 1/e² 光束直径变为约 62μm,表面 4 约 66μm,像面处光斑大小接近 4.6μm。这个结果说明系统已经接近对称状态,输入输出互易性得到改善。
注意:GBPS 操作数只适用于旁轴高斯光束计算,它不考虑衍射效应和像差。如果你的系统透镜间距较大,GBPS 优化出来的结果和实际耦合效率会有偏差,这时候需要用 FICL 或 POPD。
3.3 优化后的文件保存与参数记录
优化完成后,把文件保存为 optimization.zmx。我习惯在保存前把 Merit Function Editor 里的操作数列表截图或导出,方便后面和 FICL 优化结果对比。优化后的关键参数:光纤到透镜距离 0.117mm,透镜到像面距离通过 Pick-up solve 自动跟随为 0.117mm,透镜间距仍为 2mm。这些值在后续的单模光纤耦合计算里会作为初始值使用。
如果你在优化过程中发现 GBPS 值不收敛,检查两点:一是束腰位置是否确实在表面 1 上,二是系统孔径光阑设置是否正确。如果光阑设置成了固定值而不是 float by stop size,GBPS 计算的光束尺寸会受限于你手动指定的孔径,优化结果会偏小。
4. 单模光纤耦合计算:FICL 操作数把耦合效率推到极限
4.1 能量传输计算与模式耦合计算的数学含义
单模光纤耦合计算位于 Analysis > Calculations > Fiber Coupling Efficiency,它执行两种计算:能量传输计算和模式耦合计算。系统效率 S 是用通过入瞳的所有光能量,考虑了渐晕和偏振光传输情况下,经过系统之后的能量总和除以从光纤辐射的所有能量。数学上,S 的分子是仅在光学系统入瞳处的积分,被积函数是源光纤振幅函数 Fs(x,y) 和光学系统振幅传输函数 t(x,y) 的乘积。传输过程受到体吸收和光学镀膜的影响。
模式耦合计算 T 是通过光纤和波前振幅之间的重叠积分来定义的。当向接收光纤传输的汇聚波前的各个点上的模式完全和光纤的模式(包括振幅和位相)匹配时,耦合效率达到最大。T 的最大值为 1.0,随着光纤振幅和位相与波前振幅位相之间的失配增加而降低。Zemax 会计算 S 和 T 的值,总的功率耦合效率也是从这些数据得来的。
4.2 FICL 操作数的设置与优化结果
在 Merit Function Editor 里添加 FICL 操作数,设置如下:
FICL 表面 1 表面 5 目标值 1.0 权重 1Surface 1 是源光纤所在表面,Surface 5 是接收光纤所在表面。目标值设为 1.0,表示希望耦合效率达到 100%。权重设为 1,表示这个操作数在优化函数中的相对重要性。然后打开 Optimize 窗口,选择阻尼最小二乘法,点击 Optimize。
经过几个优化循环,光纤到透镜的距离从 0.117mm 变为 0.11mm。详细结果:系统耦合效率并未显著改变,因为这主要由表面的孔径和模式尺寸决定,轻微的离焦对其影响不大。接收端耦合效率得到了提升,因为重新聚焦使得源光纤模式在经过系统传输之后更好地和接收光纤的模式匹配。最大耦合效率可以通过增加非球面、增加额外的表面等方法来提升,但本例中这个耦合效率基本达到了极限。
优化后的文件保存为 after FICL optimization.zmx。我一般会在优化前后各跑一次 Fiber Coupling Efficiency 分析,把两次的 S 和 T 值记录在表格里,方便对比。
| 优化阶段 | 光纤到透镜距离 | 系统效率 S | 接收端效率 T |
|---|---|---|---|
| 初始 | 0.1mm | 约 0.99 | 约 0.95 |
| GBPS 优化后 | 0.117mm | 约 0.99 | 约 0.97 |
| FICL 优化后 | 0.11mm | 约 0.99 | 约 0.99 |
4.3 单模光纤耦合计算的适用边界
单模光纤耦合计算基于光线光学,它假设光束在两组透镜之间是近似准直传输的。当透镜间距为 2mm 时,这个假设成立,FICL 计算出来的耦合效率为 0.99。但如果你把透镜间距拉到 20mm,FICL 计算出来的耦合效率几乎不变,仍然是 0.99,而 POP 算法得到的结果是 0.57,几乎减半。这是因为光束在两组透镜之间传输了 20mm 之后,高斯模式的 1/e² 宽度增加到了 0.15mm,已经达到透镜的 0.12mm 尺度,衍射效应变得不可忽略。
所以,单模光纤耦合计算的适用边界是:透镜间距较小、光束在透镜之间近似准直传输、衍射效应可以忽略。超出这个边界,必须用物理光学传输计算。我一般会在 FICL 优化完成后,再用 POP 跑一遍,如果两者差异超过 5%,就说明衍射效应已经显著,需要以 POP 的结果为准。
5. 物理光学传输计算:POPD 操作数与 20mm 透镜间距下的衍射翻车
5.1 POP 计算的设置与重叠积分
物理光学传输计算(POP)在单模光纤耦合计算的基础上,运用物理光学传输算法,可以极大地扩展应用范围。打开 Analysis > Physical Optics > Physical Optics Propagation,设置表面 1 上的束腰半口径为 4.6μm 的高斯模式,经过系统传输至像面,在像面上使用完全相同的模式来计算重叠积分。在光束参数设置表中,采样率设为 256×256,然后点击 Auto 按钮来设定合适的起始矩阵。
POP 计算的好处:可以定义任何复杂模式,而不仅限于高斯模式;光纤耦合重叠积分可以在任何一个表面上计算,包括但不限于代表光纤的表面;外部程序可以使用 .zbf 文件格式或生成 DLL 接口,用来计算光纤的模式结构;由于传输受光阑限制或者远距离传输产生的衍射效应也可以得到准确的模拟。
5.2 POPD 操作数的数据解读
优化函数编辑器中的 POPD 操作数可以给出所有的物理光学数据。POPD 操作数直接调用先前保存的 POP Analysis 窗口中的设置,因此在优化之前需要先设置好这些参数。POPD 数据如下:
| 数据编号 | 描述 | 数值 |
|---|---|---|
| 0 | Total Fiber Coupling | 0.994 |
| 1 | System Efficiency | 0.998 |
| 2 | Receiver Efficiency | 0.996 |
| 10 | Pilot Beam Waist | 4.57μm |
| 23 | Effective Beam Width | 4.84μm |
| 26 | M2 | 1.082 |
位相是需要关注的最有用的信息,因为 Irradiance Profile 几乎是理想的高斯形(M2 为 1.082)。接收端的模式实际上在每个地方都几乎为零,因此位相直接告诉我们模式失配的程度。要显示位相信息,打开 POP 设置窗口的 Display 那一栏,选择 Phase。注意位相图的抛物线和四次曲线的形状,这等价于聚焦和球差。另外也要注意透镜边缘对位相曲线产生的影响。
5.3 20mm 透镜间距下的衍射效应与 POP 优化
将透镜到透镜的距离设置为 20mm,基于光线的单模光纤耦合算法得到的结果几乎不会发生变化:FICL 计算出来的耦合效率为 0.99。这是因为光束在两组透镜之间是近似准直传输的。然而,POP 算法得到了 0.57 的耦合效率,几乎减半。这是由高斯模式在两个透镜之间的空间中的衍射和尺寸的变化引起的。传输了 20mm 之后,高斯模式的 1/e² 宽度增加到了 0.15mm,这已经达到了透镜的 0.12mm 的尺度。结果,位数不少的一部分光能量便在第二个透镜的物理光阑处产生衍射。
明显聚焦到接收光纤上的光束已经明显不是高斯形式,这时它的 M2 为 2.45。这和用光线计算出来的结果是不一样的。将 2D 外形图的 Y 方向放大,便可以得到光线分布。实际上,由于球差的存在,光线计算的结果是在第二个透镜上的光束口径要小于在第一个透镜上的光束口径。对于这种近似准直光束远距离传输的问题,POP 的算法要比光线光学的方法准确。
将已经优化过的光纤到透镜的距离设置为固定,然后将 20mm 的透镜间隔设置为变量,经过几个优化循环之后,便会得到 2.072mm 的最优化透镜间隔。在实验中采用的 2mm 数值,其结果和它之间的差别是微乎其微的。使用 Universal Plot,可以看到透镜间隔对光纤耦合效率的影响。类似地,当光束在两个光纤之间传输的过程中,改变透镜的间隔也会改变光束的 M2 因子。
提示:POP 优化时,采样率不要设得太低。256×256 是底线,如果透镜间距更大,建议用 512×512,否则衍射计算会失真。
5.4 表面反射与体吸收的考虑
前面的计算都忽略了介质表面的反射和光学材料的体吸收,这两种效应 Zemax 都可以很好地模拟。在 POP 和单模光纤耦合计算两种模式中,都可以通过在设置窗口中打开偏振计算选项,来让 Zemax 将介质表面传输效应和体吸收考虑进去。再次打开 after POP.zmx 文件,在单模光纤耦合计算和 POP 计算的设置窗口中勾选上 Use Polarization。然后打开 General > Polarization 选项卡,定义入射光束为 y 线偏振态。
结果 POP 中的光纤耦合计算和 FICL 的计算结果降低到了 86%。要注意的是,降低仅发生在 System efficiency(能量传输),而不是模式耦合。偏振效应作为角度的函数,对模式形式的改变显得非常缓慢,尽管在一些更严格的系统中,我们会发现它引起的模式变化。打开 Tools > Coatings > Add Coatings to All Surfaces,给每个玻璃表面增加一层单层 MgF2 增透膜。有了这层薄膜,耦合效率增加。
| 条件 | 系统效率 | 接收端效率 |
|---|---|---|
| 无偏振、无镀膜 | 0.998 | 0.996 |
| 加偏振、无镀膜 | 0.86 | 0.996 |
| 加偏振、加 MgF2 镀膜 | 约 0.95 | 约 0.996 |
6. 避坑与排查:光纤耦合仿真里最容易翻车的五个地方
6.1 数值孔径定义混用导致耦合效率对不上
现象:按照康宁参数表填了 NA=0.14,单模光纤耦合计算出来的效率只有 0.7 左右,和预期差很远。
原因:康宁用的是 1% 峰值强度定义,Zemax 单模光纤耦合计算默认用 1/e² 定义。两者对应的模式尺寸不同,填错 NA 相当于把接收光纤的模式尺寸设大了,重叠积分自然偏低。
解决:手动计算 1/e² 处的 NA。模场直径 9.2μm,束腰半径 4.6μm,波长 1.31μm,发散角 θ = λ/(π·w₀) ≈ 0.0907 rad,NA = sin(θ) ≈ 0.09。在设置窗口里填 0.09,不要填 0.14。
6.2 Pick-up solve 方向设反导致优化不收敛
现象:优化时 Zemax 报错,提示循环依赖,或者优化结果明显不合理。
原因:Pick-up solve 的拾取关系是单向的。如果表面 1 拾取表面 5,而表面 5 又拾取表面 1,就形成了循环依赖。
解决:确保表面 5 拾取表面 1,而不是反过来。在 Lens Data Editor 里检查每个 Pick-up solve 的拾取源,确保没有闭环。
6.3 透镜间距拉大后 FICL 和 POP 结果差异巨大
现象:透镜间距从 2mm 改为 20mm,FICL 算出来还是 0.99,POP 算出来只有 0.57。
原因:FICL 基于光线光学,假设光束在透镜之间准直传输,不考虑衍射。透镜间距 20mm 时,高斯光束扩展后达到透镜孔径尺度,衍射效应显著,FICL 的假设不成立。
解决:透镜间距超过 5mm 时,以 POP 结果为准。用 POPD 操作数优化,不要用 FICL。如果必须用 FICL,先把透镜间距优化到合理范围,再用 POP 验证。
6.4 采样率设置过低导致 POP 计算失真
现象:POP 计算出来的耦合效率和 FICL 差异很大,但检查模型没发现明显问题。
原因:POP 计算的采样率设得太低,比如 64×64,导致光束在传输过程中的衍射图样采样不足,重叠积分计算失真。
解决:采样率至少 256×256,透镜间距大或光束扩展明显时用 512×512。点击 Auto 按钮让 Zemax 自动推荐起始矩阵,然后手动检查光束在关键表面上的采样是否足够。
6.5 忽略偏振和镀膜导致系统效率虚高
现象:POP 计算出来的系统效率是 0.998,但实际实验测出来只有 0.86 左右。
原因:仿真时没有打开偏振计算,也没有考虑表面反射和体吸收。熔融石英和光纤端面的菲涅尔反射大约 4%,两个端面加起来就是 8% 左右的损耗。
解决:在 POP 和单模光纤耦合计算的设置窗口中勾选 Use Polarization,在 General > Polarization 里定义入射光束的偏振态。然后用 Tools > Coatings > Add Coatings to All Surfaces 给每个玻璃表面加增透膜。加膜后系统效率会回升到 0.95 左右,和实验值更接近。
7. 进阶技巧:用 POPD 操作数做公差分析并验证 M2 因子
7.1 POPD 操作数的完整数据列表与公差分析设置
POPD 操作数不仅能给出光纤耦合效率,还能给出 M2 因子、有效光束宽度、位相信息等。在 Merit Function Editor 里,POPD 操作数的 Data 编号对应不同的物理量:0 是 Total Fiber Coupling,1 是 System Efficiency,2 是 Receiver Efficiency,10 是 Pilot Beam Waist,23 是 Effective Beam Width,26 是 M2。做公差分析时,我一般会同时监控 Data 0 和 Data 26,前者反映耦合效率,后者反映光束质量退化。
公差分析设置:打开 Tools > Tolerancing > Tolerancing Wizard,选择 Sensitivity 模式,设置透镜厚度、曲率半径、表面偏心、元件倾斜等公差项。评价函数选 RMS Wavefront 或 Fiber Coupling Efficiency,后者需要先在 Merit Function Editor 里定义好 POPD 操作数。运行后,Zemax 会给出每个公差项对耦合效率的影响量,以及最坏情况下的耦合效率下降幅度。
7.2 用 Universal Plot 看透镜间隔对 M2 的影响
Universal Plot 是验证系统鲁棒性的好工具。打开 Analysis > Universal Plot,选择透镜间隔作为变量,范围从 1.5mm 到 3mm,步长 0.1mm。Y 轴选 POPD Data 0(Total Fiber Coupling)和 Data 26(M2)。运行后可以看到,透镜间隔在 2.072mm 附近时耦合效率最高,M2 最接近 1。偏离这个值后,耦合效率下降,M2 上升。这个曲线告诉你,透镜间隔的公差应该控制在 ±0.05mm 以内,否则耦合效率会下降超过 1%。
7.3 从 POP 窗口导出位相图并叠加光强曲线
位相信息是判断模式失配的关键。在 POP 窗口中,从 Display 栏选择 Phase,然后从 Cross-section 形式输出位相图。克隆这个窗口(Windows > Clone),将克隆后的窗口设置成显示 Irradiance,而非 Phase。然后在 Windows 菜单中选择 Overlay,将这两个曲线重叠。你会看到位相曲线的抛物线和四次曲线形状,这等价于聚焦和球差。透镜边缘对位相曲线的影响也会显示出来。如果位相曲线在光束边缘出现剧烈变化,说明透镜孔径截断已经开始影响模式匹配,需要考虑增大透镜孔径或减小光束尺寸。
7.4 我踩过的坑和现在的习惯
有一次我做完 FICL 优化,耦合效率显示 0.99,直接拿去汇报,结果实验做出来只有 0.85。回头查了半天,发现是偏振和镀膜没开。从那以后,我每次跑完 FICL 或 POPD 优化,都强制走一遍偏振计算和镀膜设置,然后再看系统效率。另一个习惯是,透镜间距超过 5mm 时,FICL 的结果只作为参考,最终以 POP 为准。POP 的采样率我从不低于 256×256,透镜间距大时直接上 512×512。这些习惯帮我省了不少返工的时间。
希望帮到你。
本文还有配套的精品资源,点击获取