波像差理论入门:从波前到斯特列尔比

各位工程师朋友,欢迎来到第二章。上一章我们聊了斯特列尔比是什么——说白了就是实际光斑和理想光斑的峰值强度比。但光靠这个比值,你没法知道为什么光学系统出了问题。要找到根因,就得钻进波像差的世界里。

我个人习惯,做光学设计时先看波前图。就像医生看心电图一样,波前图能告诉你系统的“健康状态”。这一章,我们就从波前和波像差的基本概念讲起,一路走到斯特列尔比的计算公式。

波前与波像差的定义

先想一个问题:光是什么?在几何光学里,我们把它当光线。但在物理光学里,光其实是电磁波。波前,就是同一时刻振动相位相同的点连成的面。

理想情况下,从一个点光源发出的光,波前是个球面。经过完美透镜后,它应该变成另一个球面(或者平面)。但现实中没有完美透镜。实际波前和理想波前之间,就有了偏差——这个偏差就是波像差。

核心定义:

  • 波前:等相位面。光传播过程中,相位相同的点构成的面。
  • 理想波前:参考球面。以像点为中心,半径为像距的球面。
  • 波像差:实际波前与理想波前之间的光程差(OPD),单位通常是波长(λ)。

我在项目中遇到过不少新手,上来就盯着点列图看。点列图当然重要,但它只反映了光线追迹的结果。波前图能告诉你更多——比如系统有没有对称性误差,是不是有加工装调引入的像散。嗯,这里要注意:波像差是标量场,它在出瞳面上每个点都有一个值。

Zernike多项式简介

波像差是个连续曲面,怎么描述它?最常用的工具就是Zernike多项式。

为什么选Zernike?三个原因:

  1. 正交性:在单位圆内,各项之间相互独立。你调整一项,不影响其他项。
  2. 与像差对应:每一项都对应一个经典的Seidel像差或更高级的像差。
  3. 旋转对称:Zernike多项式在圆域内是完备的,非常适合圆形光瞳。

Zernike多项式通常用Fringe序号或OSA标准序号。我个人习惯用Fringe序号,因为Zemax和Code V都默认这个标准。下面这张表列出了前几项对应的像差:

Fringe序号 Zernike多项式(归一化) 对应像差名称
Z1 1 平移(Piston)
Z2 ρ·cosθ X轴倾斜(Tilt X)
Z3 ρ·sinθ Y轴倾斜(Tilt Y)
Z4 2ρ²−1 离焦(Defocus)
Z5 ρ²·cos2θ 像散0°(Astigmatism 0°)
Z6 ρ²·sin2θ 像散45°(Astigmatism 45°)
Z7 (3ρ³−2ρ)·cosθ X轴彗差(Coma X)
Z8 (3ρ³−2ρ)·sinθ Y轴彗差(Coma Y)
Z9 6ρ⁴−6ρ²+1 球差(Spherical)

实战小技巧:做公差分析时,我通常把Z2-Z9作为主要变量。Z1(Piston)不影响像质,可以忽略。Z2、Z3(倾斜)在装调时可以通过调整镜片补偿。真正影响斯特列尔比的,是Z4以后的项。

初级像差与斯特列尔比的关系

好了,现在我们知道波像差可以用Zernike多项式展开。但每种像差对斯特列尔比的影响有多大?

先看一个简单情况:只有离焦(Z4)。离焦的波像差是二次曲面。当离焦量达到0.25λ时,斯特列尔比会降到0.8左右。这就是著名的瑞利判据——波像差RMS小于λ/14时,系统接近衍射极限。

但注意,瑞利判据说的是RMS,不是PV值。我见过不少工程师只看PV值,结果PV做到λ/4了,RMS还很大,斯特列尔比照样低。为什么?因为PV只反映最大值和最小值的差,RMS反映的是整个波前的均方根。两个系统PV相同,RMS可能差好几倍。

不同像差对斯特列尔比的影响也不一样:

  • 球差:中心对称,影响低频细节。小量球差时,斯特列尔比下降较慢。
  • 彗差:非对称,导致光斑拖尾。对斯特列尔比的影响比球差更敏感。
  • 像散:两个方向聚焦不同。在最佳焦面处,像散对斯特列尔比的影响介于球差和彗差之间。

避坑指南:我曾经优化一个投影物镜,球差和彗差都压得很低,但斯特列尔比就是上不去。查了半天,发现是像散没控好。像散在Zernike多项式里是Z5和Z6,它们对波前RMS的贡献和球差一样,但对斯特列尔比的衰减方式不同。后来我改用斯特列尔比直接做评价函数,问题就解决了。

波像差RMS与斯特列尔比的换算

这是本章的核心公式。在波像差RMS较小(通常小于0.1λ)时,斯特列尔比可以用一个近似公式计算:

SR ≈ exp[-(2π·RMS/λ)²]

或者更精确一点:

SR = 1 - (2π·RMS/λ)² + (2π·RMS/λ)⁴/2 - ...

这个公式是怎么来的?它来自Maréchal近似。说白了,就是把波前相位误差看作随机变量,假设它服从正态分布,然后计算中心点强度的期望值。

实际工程中,我常用下面这个对照表:

波像差RMS(λ) 斯特列尔比(近似值) 系统状态
0.00 1.000 理想系统
0.01 0.996 极好
0.02 0.984 优秀
0.05 0.905 良好
0.07 0.820 衍射极限(瑞利判据)
0.10 0.675 可用但需优化
0.15 0.412 较差
0.20 0.207 不可接受

重要提醒:这个公式只适用于小像差情况(RMS < 0.1λ)。当RMS大于0.1λ时,近似误差会迅速增大。我建议RMS超过0.15λ时,直接用衍射积分计算斯特列尔比,别偷懒用公式。

另外,这个公式假设波像差是随机且均匀分布的。如果系统有中心遮挡(比如卡塞格林望远镜),或者波前有高频抖动,公式需要修正。中心遮挡会降低斯特列尔比的理论上限,高频抖动则相当于给波前加了额外的噪声项。

下面这张图展示了波像差RMS与斯特列尔比的对应关系,以及不同像差类型的影响差异:

波像差RMS与斯特列尔比关系图 Maréchal近似:SR = exp[-(2π·RMS/λ)²] 波像差RMS(λ) 0.00 0.05 0.10 0.15 0.20 0.25 斯特列尔比 SR 0.0 0.2 0.4 0.6 1.0 衍射极限 RMS=0.07λ, SR≈0.82 优化目标 RMS<0.05λ, SR>0.9 优秀 可接受 需优化 注:曲线基于Maréchal近似,适用于小像差(RMS<0.1λ)且无中心遮挡的系统

从图中可以清楚看到:当RMS从0.05λ增加到0.10λ时,斯特列尔比从0.905骤降到0.675。这就是为什么我总说,优化时要把RMS压到0.05λ以下。0.05λ到0.07λ之间是灰色地带——系统可能合格,也可能不合格,取决于具体应用。

最后,给各位一个实战建议:在Zemax或Code V里,不要只看默认的RMS评价函数。我习惯把斯特列尔比直接作为优化目标,或者至少作为辅助约束。因为RMS优化到0.05λ时,斯特列尔比可能只有0.88,离0.9还差一点。这时候微调一下权重,往往就能突破。