第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 知识框架,你可以把它当作本章的「地图」:
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 是镀膜设计的「基本功」,就像练武要扎马步一样。把这个搞透了,后面的膜系优化、容差分析、工艺调试,你都会觉得顺风顺水。