第1章 膜系设计数学工具:传输矩阵法(TMM)

做光学镀膜这行,说白了就是跟光波打交道。光在多层薄膜里怎么走、怎么反射、怎么透射,这些都得有个数学工具来算。我入行那会儿,师傅扔给我一本矩阵手册,说「把这个啃透了,镀膜设计你就入门了」。嗯,这个工具就是传输矩阵法,英文叫 Transfer Matrix Method,简称 TMM。

你可能要问:为什么非得用矩阵?直接套公式不行吗?我告诉你,单层膜还好说,一旦层数多了,比如十几层甚至上百层,手算能算到怀疑人生。矩阵的好处就是能把多层膜的问题,变成一串矩阵相乘,干净利落。

核心思想:每一层薄膜都可以用一个 2×2 的特征矩阵来描述。多层膜就是这些矩阵的乘积。最终从乘积矩阵里,直接读出反射率和透射率。

1.1 单层膜的特征矩阵推导

我们先从最简单的单层膜说起。假设有一层薄膜,折射率是 n₁,厚度是 d,光从折射率 n₀ 的介质入射,基底折射率是 n₂。

光在薄膜里传播,会发生两件事:

  • 相位变化——光走了一段路,相位会滞后
  • 边界反射——在上下两个界面,光会被部分反射

把这两件事合在一起,就得到了单层膜的特征矩阵:

M = [  cosδ        i·sinδ/η  ]
    [  i·η·sinδ      cosδ    ]

其中:

  • δ = 2π·n·d / λ —— 这是相位厚度,说白了就是光在膜层里走了多少「角度」
  • η 是导纳,对于正入射,η = n;对于斜入射,要分 s 偏振和 p 偏振

我记得刚学的时候,总搞不清 δ 里的 2π 是怎么来的。后来想通了:光走一个波长,相位变化 2π,那走 d 这么厚,相位变化就是 2π·n·d / λ。就这么简单。

小技巧:实际计算时,δ 的单位是弧度。很多新手把角度和弧度搞混,结果算出来的反射率曲线完全不对。我建议你写代码时统一用弧度,省得来回换算出错。

1.2 多层膜的传输矩阵

单层膜搞定了,多层膜就是「叠积木」。假设有 m 层膜,每层都有自己的特征矩阵 M₁, M₂, ..., Mₘ。那么整个膜系的特征矩阵就是:

M_total = M₁ × M₂ × ... × Mₘ

注意顺序!光先经过的层,矩阵写在左边。我见过有人把顺序搞反了,算出来的反射率曲线跟实测完全对不上,查了半天才发现是矩阵乘反了。

最终的总矩阵长这样:

M_total = [ m₁₁  m₁₂ ]
          [ m₂₁  m₂₂ ]

有了这个总矩阵,我们就可以计算反射率和透射率了。

1.3 反射率与透射率计算

反射系数 r 和透射系数 t 的公式如下:

r = (η₀·m₁₁ + η₀·ηₛ·m₁₂ - m₂₁ - ηₛ·m₂₂) / (η₀·m₁₁ + η₀·ηₛ·m₁₂ + m₂₁ + ηₛ·m₂₂)

t = (2·η₀) / (η₀·m₁₁ + η₀·ηₛ·m₁₂ + m₂₁ + ηₛ·m₂₂)

其中:

  • η₀ 是入射介质的导纳(通常是空气,η₀ = 1)
  • ηₛ 是基底的导纳

然后反射率 R 和透射率 T 就是:

R = |r|²
T = (ηₛ / η₀) · |t|²

你可能会问:为什么透射率要乘个 ηₛ/η₀?这是因为光在不同介质里传播,能量流密度不一样。这个系数就是用来修正的。嗯,这里要注意,如果不乘这个系数,算出来的 T 可能大于 1,那就闹笑话了。

避坑指南:我曾经在计算斜入射时,忘了区分 s 偏振和 p 偏振的导纳公式,结果算出来的增透膜曲线完全不对。s 偏振的导纳是 η = n·cosθ,p 偏振是 η = n/cosθ。千万别搞混!

1.4 导纳轨迹图

导纳轨迹图是我个人非常喜欢的一个工具。它把膜系设计的「物理过程」变成了「几何图形」,直观得不得了。

什么是导纳?说白了,就是介质对光波的「阻抗」。在传输矩阵法里,导纳 Y 定义为:

Y = H / E

其中 H 是磁场强度,E 是电场强度。对于正入射,Y = n。

导纳轨迹图的做法是:从基底开始,逐层往上叠加膜层,每加一层,导纳就在复平面上走一段弧线。最终到达入射介质时,导纳的位置就决定了反射率。

我举个例子:设计一个 λ/4 的增透膜。基底折射率 1.52,膜层折射率 1.38(MgF₂),入射介质是空气。

导纳轨迹是这样的:

  • 起点:基底的导纳 Yₛ = 1.52
  • 加一层 λ/4 膜:导纳从 1.52 沿着圆弧走到 1.38²/1.52 ≈ 1.25
  • 终点:Y = 1.25,离空气导纳 1.0 还有距离,所以反射率不是零

你看,通过导纳轨迹,一眼就能看出膜系匹配得好不好。终点离入射介质的导纳越近,反射率就越低。

实用技巧:我在做宽带增透膜时,经常用导纳轨迹图来调试。如果轨迹终点偏离目标太远,我就调整某层的厚度或折射率,直到轨迹「画」到目标点为止。这比直接调反射率曲线要直观得多。

1.5 知识体系总览

下面这张图是我自己整理的 TMM 知识框架,你可以把它当作本章的「地图」:

传输矩阵法(TMM)知识体系 单层膜特征矩阵 多层膜传输矩阵 导纳轨迹图 相位厚度 δ = 2π·n·d/λ 导纳 η(s/p 偏振) 矩阵元素:cosδ, i·sinδ/η 矩阵乘法:M₁ × M₂ × ... × Mₘ 总矩阵 M_total 反射/透射系数公式 从基底开始逐层叠加 复平面上的圆弧轨迹 终点匹配入射介质 输出:反射率 R、透射率 T、导纳 Y 应用:增透膜、高反膜、滤光片设计

1.6 一个完整的计算示例

光说不练假把式。我们来算一个实际的例子:设计一个在 550nm 处反射率为零的单层增透膜。

已知条件:

  • 入射介质:空气,n₀ = 1.0
  • 基底:玻璃,n₂ = 1.52
  • 目标波长:λ₀ = 550nm
  • 膜层折射率:n₁ = √(n₀·n₂) = √(1.0 × 1.52) ≈ 1.233

实际镀膜材料里,折射率 1.233 的材料不好找。最接近的是 MgF₂,折射率 1.38。那我们就用 MgF₂ 来算,看看反射率是多少。

膜层厚度取 λ/4:d = λ₀ / (4·n₁) = 550 / (4 × 1.38) ≈ 99.6nm

在 λ₀ 处,相位厚度 δ = π/2,cosδ = 0,sinδ = 1。

特征矩阵:

M = [ 0        i/1.38  ]
    [ i·1.38    0      ]

代入反射系数公式,算得 r ≈ -0.048,R = |r|² ≈ 0.0023,也就是 0.23%。

你看,虽然不是完美的零反射,但 0.23% 已经非常低了。这就是为什么 MgF₂ 单层增透膜在可见光区这么好用的原因。

关键结论:单层 λ/4 增透膜,当膜层折射率等于入射介质和基底折射率的几何平均值时,反射率为零。实际材料很难完全匹配,但能做到 0.5% 以下就算合格了。

好了,传输矩阵法的核心内容就这些。你可能会觉得公式有点多,但用熟了之后,你会发现它其实就是一套「套路」——每层一个矩阵,乘起来,读出结果。我在实际项目中,用这套方法设计了上百种膜系,从简单的增透膜到复杂的带通滤光片,从来没出过问题。

记住:TMM 是镀膜设计的「基本功」,就像练武要扎马步一样。把这个搞透了,后面的膜系优化、容差分析、工艺调试,你都会觉得顺风顺水。