4. 灵敏度分析:什么是灵敏度、如何计算灵敏度、矩阵

好,咱们进入公差分析里最核心的一步——灵敏度分析。

说实话,我刚入行那会儿,觉得公差分析就是查查表格、套套公式。后来被一个项目狠狠教育了——一个变焦系统,按标准公差去分配,结果装出来 MTF 掉得一塌糊涂。查了半天才发现,有个镜片的倾斜公差特别敏感,稍微偏一点,整个像质就崩了。

从那以后,我养成了一个习惯:先做灵敏度分析,再谈公差分配。今天咱们就把这块彻底讲透。

4.1 什么是灵敏度?

灵敏度,说白了就是某个结构参数的变化,对系统性能的影响程度。

举个例子:你调相机镜头上的对焦环,转一点点,画面就清晰了——这个“一点点”就是灵敏度高。反过来,有些镜片你挪个 0.1mm,像质几乎没变化——那就是灵敏度低。

在变焦系统里,我们关心的性能指标通常是:

  • MTF(调制传递函数)——最常用
  • 波像差(RMS Wavefront Error)
  • 像面位移(Focus Shift)
  • 畸变(Distortion)

而结构参数包括:

  • 曲率半径(R)
  • 厚度/空气间隔(T)
  • 偏心(Decenter X/Y)
  • 倾斜(Tilt X/Y)
  • 折射率(Nd)
  • 阿贝数(Vd)
核心概念:灵敏度 = Δ性能 / Δ参数。它描述的是“单位变化量引起的性能变化量”。

4.2 如何计算灵敏度?

计算灵敏度,有两条路可以走。我一般根据项目阶段来选。

4.2.1 解析法(差分法)

这是最直接的方法。公式很简单:

S = [F(X₀ + ΔX) - F(X₀)] / ΔX

其中:

  • F 是性能评价函数(比如 MTF 值)
  • X₀ 是名义设计值
  • ΔX 是一个很小的扰动(比如 0.01mm 或 0.01°)

具体步骤:

  1. 在光学软件(Zemax/Code V)里打开名义系统
  2. 记录当前性能值 F₀
  3. 给某个参数加一个小扰动 ΔX
  4. 重新计算性能值 F₁
  5. 灵敏度 = (F₁ - F₀) / ΔX

嗯,这里要注意:ΔX 不能太大,否则非线性效应会污染结果;也不能太小,否则数值噪声会占主导。我个人习惯取 公差的 1/10 ~ 1/5 作为扰动步长。

4.2.2 数值微分法(软件自动计算)

现在的光学设计软件都内置了灵敏度分析功能。你只需要:

  1. 设置公差操作数(TOLR、TOLU 等)
  2. 指定评价函数(MTF、波前等)
  3. 点击“计算灵敏度”

软件会自动遍历所有公差项,逐个扰动并记录结果。最后输出一个灵敏度矩阵。

我的经验:软件自动计算很方便,但我建议你至少手动算 2-3 个关键参数,验证一下结果是否合理。我曾经遇到过软件因为采样点问题,把某个敏感参数算成了不敏感——还好手动复核发现了。

4.3 灵敏度矩阵

灵敏度矩阵,就是把所有参数对所有性能指标的灵敏度,组织成一个表格。它是公差分析的“全景地图”。

4.3.1 矩阵长什么样?

假设我们有 m 个结构参数,n 个性能评价点(比如不同视场、不同变焦位置的 MTF),那么灵敏度矩阵就是一个 m × n 的二维数组:

参数 \ 评价点 MTF@F1 MTF@F2 MTF@F3 波像差
R1 0.023 0.018 0.031 0.042
T2 0.005 0.007 0.004 0.009
Decenter X_L3 0.112 0.098 0.134 0.187
Tilt Y_L5 0.067 0.072 0.055 0.091

你看,Decenter X_L3 这一行的数值明显比其他大——说明这个镜片的偏心非常敏感。这就是我们后续要重点控制的公差项。

4.3.2 矩阵怎么用?

拿到灵敏度矩阵后,我一般做三件事:

  1. 排序:按灵敏度绝对值从大到小排序,找出 Top 10 敏感参数
  2. 分组:把参数分成“高敏感”、“中敏感”、“低敏感”三组
  3. 决策:高敏感参数给紧公差,低敏感参数给松公差
注意:灵敏度矩阵只反映“线性近似”下的影响。如果某个参数的非线性很强(比如大偏心),矩阵值可能不准确。这时候需要做蒙特卡洛模拟来验证。

4.4 知识结构图

下面这张图,把灵敏度分析的整个逻辑串起来了:

灵敏度分析知识结构 灵敏度分析 什么是灵敏度 如何计算灵敏度 灵敏度矩阵 Δ性能 / Δ参数 MTF / 波像差 / 像面位移 解析法(差分法) 数值微分法(软件自动) m × n 二维数组 排序 → 分组 → 决策 关键原则 高敏感参数 → 紧公差(严格管控) 低敏感参数 → 松公差(降低成本)

4.5 实战中的几个坑

最后,分享几个我踩过的坑:

  • 坑一:只算一个视场。变焦系统在不同焦段、不同视场的灵敏度可能完全不同。我习惯至少算 3 个变焦位置 × 3 个视场 = 9 个评价点。
  • 坑二:忽略耦合效应。灵敏度矩阵假设每个参数独立变化。但实际中,两个参数同时变化可能产生“1+1>2”的效果。这时候需要做交互作用分析。
  • 坑三:盲目相信软件。软件给出的灵敏度是“局部”的。如果设计本身就在一个很陡的谷底,灵敏度会异常高——这时候要先优化设计,而不是硬压公差。
一个小技巧:做完灵敏度分析后,把结果发给加工同事看看。他们一眼就能看出哪些公差是“加工能做到的”,哪些是“天方夜谭”。提前沟通,能省掉后面很多扯皮的时间。