4. 斯特列尔比计算公式:马雷夏尔近似公式,精确积分公式,适用范围与误差分析

斯特列尔比(Strehl Ratio, SR)怎么算?这个问题,我当年刚入行时也纠结过。直接拿定义去积分,算到天荒地老。后来老工程师甩给我一句话:「小像差用马雷夏尔,大像差老老实实积分。」嗯,这句话我记到现在。

这一章,咱们就把两个核心公式掰开揉碎。一个是工程上人见人爱的马雷夏尔近似,一个是理论上无懈可击的精确积分。我会告诉你它们各自能干什么、不能干什么,以及——什么时候千万别用错。

4.1 马雷夏尔近似公式(Marechal Approximation)

马雷夏尔近似,说白了就是一个简单到令人怀疑的公式:

SR ≈ exp(-(2π·σ_w)²)

其中 σ_w 是波像差的均方根值(RMS),单位是波长。更常见的形式是:

SR ≈ 1 - (2π·σ_w)²

这两个式子在小像差时等价。我个人习惯用指数形式,因为不会算出负值。

核心要点:马雷夏尔近似成立的前提是——波像差 RMS ≤ λ/14。换算成 SR,大约在 0.8 以上。

为什么是 λ/14?我记得当年推导过一遍,本质上是把相位误差的泰勒展开截断到二阶项。高阶项被扔掉了,所以像差一大,误差就爆炸。

4.1.1 适用范围

  • 小像差系统:衍射极限附近的光学系统,比如高质量镜头、望远镜。
  • 像差类型不敏感:无论球差、彗差、像散,只要 RMS 够小,公式都适用。
  • 快速评估:设计初期,用 ZEMAX 或 Code V 算出 RMS,直接套公式,几秒钟就知道 SR 大概多少。

我的经验:做镜头设计时,我习惯把 RMS 控制在 λ/20 以内,这时候马雷夏尔近似的误差小于 1%。完全够用。

4.1.2 误差分析

马雷夏尔近似的主要误差来源有两个:

  1. 截断误差:展开式中忽略了 (2πσ_w)⁴ 及更高阶项。当 σ_w 增大时,误差呈四次方增长。
  2. 像差类型依赖:对于同样的 RMS 值,不同像差类型的高阶项贡献不同。比如,纯球差的近似误差就比纯离焦大。
RMS (λ) 马雷夏尔 SR 精确 SR (球差) 精确 SR (彗差) 误差说明
0.05 0.906 0.908 0.907 误差 < 0.2%,可忽略
0.07 0.826 0.832 0.830 误差 ~0.5%,仍可接受
0.10 0.675 0.698 0.690 误差 ~3%,开始明显
0.15 0.456 0.512 0.498 误差 > 10%,不可用

避坑指南:我曾经在一个投影物镜项目中,直接用马雷夏尔近似算 SR,得到 0.85,觉得稳了。结果实测只有 0.72。后来一查,RMS 虽然只有 0.08λ,但主要是三级球差,高阶项贡献被近似公式吃掉了。从那以后,RMS 超过 0.07λ 我坚决不用近似公式。

4.2 精确积分公式

精确积分公式,就是斯特列尔比的定义本身:

SR = |∫∫ P(x,y) · exp(i·2π·W(x,y)/λ) dx dy|² / |∫∫ P(x,y) dx dy|²

其中:

  • P(x,y) 是光瞳函数(通常为 1 或 0)
  • W(x,y) 是波像差分布
  • 积分区域为整个出瞳

这个公式没有任何近似。你想想看,它直接计算了有像差时的点扩散函数峰值与理想峰值之比。理论上,只要波像差 W(x,y) 是准确的,结果就是精确的。

4.2.1 数值计算方法

实际工程中,我们不可能手算这个积分。通常的做法是:

  1. 离散化光瞳:把圆形或环形光瞳划分成 N×N 网格。
  2. 计算每个网格点的复振幅:A(x,y) = P(x,y) · exp(i·2π·W(x,y)/λ)
  3. 求和:对所有网格点的复振幅求和,取模的平方。
  4. 归一化:除以无像差时的峰值强度。
% 伪代码示例:精确 SR 计算
N = 256;  % 网格数
[x, y] = meshgrid(linspace(-1,1,N));
r = sqrt(x.^2 + y.^2);
pupil = r <= 1;  % 圆形光瞳

% 波像差(例如:离焦 + 球差)
W = A20 * (r.^2) + A40 * (r.^4);
W(~pupil) = 0;

% 复振幅
amplitude = pupil .* exp(1i * 2*pi * W);

% 积分(求和)
numerator = abs(sum(amplitude(:)))^2;
denominator = (sum(pupil(:)))^2;
SR = numerator / denominator;

网格数怎么选?我一般用 256×256 起步。如果像差变化剧烈(比如高次非球面),会加到 512×512。网格太少,积分误差会吃掉你的精度。

4.2.2 适用范围

  • 任意像差大小:SR 从 0 到 1,精确积分都能算。
  • 任意像差类型:旋转对称、非对称、甚至随机波前,通吃。
  • 复杂光瞳:环形、遮挡、变迹,只要光瞳函数能描述,就能积分。
  • 验证工具:我经常用它来验证马雷夏尔近似的误差,或者校准干涉仪测量结果。

4.3 两种方法的对比与选择

对比项 马雷夏尔近似 精确积分
计算速度 秒级(一个公式) 分钟级(需数值积分)
精度 仅小像差时准确 理论上精确
输入需求 仅需 RMS 值 需完整波像差分布
像差类型敏感 不敏感(但误差不同) 完全考虑
适用场景 设计初期快速评估 最终验证、高精度分析

我个人习惯是:设计迭代时用马雷夏尔,出图前用精确积分过一遍。两条腿走路,既快又稳。

4.4 知识体系结构图

下面这张图,把斯特列尔比计算的两种路径、适用条件和误差边界串起来了。你可以把它当作本章的「导航地图」。

斯特列尔比计算:两种路径与选择策略 波像差 W(x,y) 马雷夏尔近似 SR ≈ exp(-(2π·σ_w)²) 仅需 RMS 值,秒级计算 条件:RMS ≤ λ/14 SR ≥ 0.8 精确积分公式 SR = |∫P·exp(i·2πW/λ)|² / |∫P|² 需完整波面,分钟级计算 任意像差大小/类型 复杂光瞳也适用 设计迭代 → 马雷夏尔 最终验证 → 精确积分

4.5 工程实践建议

最后,给你几条我踩过坑之后总结的建议:

  • RMS 小于 0.07λ:放心用马雷夏尔,误差在 1% 以内。
  • RMS 在 0.07λ ~ 0.10λ:可以用马雷夏尔做趋势判断,但最终值一定要用精确积分确认。
  • RMS 大于 0.10λ:别偷懒,直接上精确积分。马雷夏尔会给你虚假的乐观。
  • 遇到环形光瞳或遮挡:精确积分是唯一选择。马雷夏尔公式里没有光瞳形状参数,算出来就是错的。
  • 验证干涉仪数据:我习惯把干涉仪测得的波面直接代入精确积分,算出来的 SR 和实测点扩散函数对比,吻合度通常在 0.02 以内。

再强调一次:马雷夏尔近似不是「近似等于精确」,它是有严格适用条件的。我曾经见过有人把 RMS 0.15λ 的系统用近似公式算出 SR 0.45,然后宣称设计达标——嗯,那套系统后来返工了两次。