斯特列尔比的计算方法:近似公式、精确计算、数值模拟
斯特列尔比怎么算?这个问题我当年刚入行时也头疼过。说白了,它就是实际点扩散函数峰值与理想衍射极限峰值的比值。但真正算起来,有几种不同的路子,各有各的适用场景。
近似公式:快速估算的利器
项目前期或者做系统粗估时,我们没时间跑完整仿真。这时候近似公式就派上用场了。我个人最常用的是下面这个:
马雷夏尔近似公式
SR ≈ exp[-(2πσw/λ)²]
其中 σw 是波前误差的均方根值(RMS),λ 是工作波长。
这个公式成立的前提是波前误差较小(RMS ≤ λ/14),且误差分布接近高斯型。我在设计一款可见光成像物镜时,就用它快速判断了加工公差是否合理。
经验之谈
当 SR ≥ 0.8 时,马雷夏尔公式的误差通常在 5% 以内。低于 0.5 就别用了,偏差会大到让你怀疑人生。
还有一个更简单的经验公式:
SR ≈ 1 - (2πσw/λ)²
这个是一阶展开,只适用于 SR 接近 1 的情况。我一般只在写方案论证报告时用它,因为算起来快,客户也容易理解。
精确计算:从波前到点扩散函数
近似公式毕竟有局限。真要较真,就得走精确计算的路子。核心思路其实不复杂:
- 获取波前数据——从光学设计软件导出波前相位图,或者用干涉仪实测
- 计算光瞳函数——P(ρ,θ) = A(ρ,θ) · exp[i·W(ρ,θ)]
- 做傅里叶变换——点扩散函数 PSF = |FT{P(ρ,θ)}|²
- 求峰值比——SR = PSF实际(0,0) / PSF理想(0,0)
我曾经在一个激光雷达项目中用过这个方法。当时系统对 SR 要求极高(>0.95),近似公式算出来 0.97,但精确计算发现只有 0.91。嗯,问题出在波前误差不是高斯分布,而是有特定像差成分。
注意采样
做傅里叶变换时,光瞳采样点数至少要 128×128,否则峰值会偏低。我吃过这个亏,算出来的 SR 总是偏小,折腾了两天才找到原因。
数值模拟:Zemax / Code V 实战
实际工程中,我们很少手撸代码算 SR。光学设计软件都内置了 SR 计算功能。以 Zemax OpticStudio 为例:
1. 打开 Analysis → PSF → FFT PSF
2. 设置采样:256×256 或更高
3. 勾选 "Strehl Ratio" 选项
4. 运行分析,读取结果
但这里有个坑——软件默认的 SR 计算方式可能跟你想要的不一样。我记得有一次,Zemax 算出来 SR=0.85,但我用精确公式手算却是 0.78。后来发现,软件默认用了不同的参考球面。
| 计算方法 | 精度 | 速度 | 适用场景 |
|---|---|---|---|
| 马雷夏尔近似 | 中等(SR≥0.8时较好) | 极快 | 初步评估、公差分析 |
| 精确傅里叶计算 | 高 | 较慢 | 最终验证、像差诊断 |
| 软件数值模拟 | 高(需正确设置) | 中等 | 工程设计、优化迭代 |
三种方法的对比与选择
你想想看,这三种方法其实对应了不同的工程阶段:
- 概念设计阶段——用近似公式,5 分钟出结果,判断方案是否可行
- 详细设计阶段——用软件模拟,反复优化像差,盯着 SR 变化
- 最终验证阶段——用精确计算或实测数据,确认是否达标
我曾经在一个项目中,客户要求 SR≥0.9。我用近似公式算出来 0.92,觉得稳了。结果加工出来后实测只有 0.82。为什么?因为近似公式没考虑加工误差和装调误差。从那以后,我养成了一个习惯:近似公式只用来做趋势判断,最终指标一定要用精确计算或实测来确认。
我的建议
日常工作中,先用马雷夏尔公式快速筛选方案,再用软件做精细优化。最后出图前,务必用精确傅里叶方法验证一次。三步走,基本不会翻车。
知识结构图
下面这张图梳理了斯特列尔比计算的完整脉络,从输入到输出,三种方法各自的位置一目了然:
避坑指南
最后分享几个我踩过的坑:
- 波前误差的参考球面——计算 SR 时,参考球面选错了,结果能差 0.1 以上。一定要确认是"最佳参考球面"还是"近轴参考球面"。
- 采样不足——FFT 计算时采样点太少,SR 会偏低。128×128 是底线,256×256 更稳妥。
- 忽略偏振效应——高 NA 系统或镀膜敏感的系统,偏振会影响 SR。我有个项目就是没考虑偏振,仿真和实测对不上。
- 近似公式滥用——波前误差大或者有特殊像差(如彗差、像散)时,马雷夏尔公式会严重偏离真实值。
一个小技巧
如果你用 Zemax,可以在评价函数里直接设置 SPHA、COMA、ASTI 等像差操作数,配合 STRE 操作数实时监控 SR 变化。这样优化时能直观看到每种像差对 SR 的影响。