4. 系统建模与测量方程

在激光精密测量中,不确定度评定之所以困难,往往不是因为公式复杂,而是因为“变量太多、关系太乱”。如果直接对最终读数做重复性统计,只能得到 A 类分量,而环境、材料、运动、探测、算法等 B 类影响会被掩盖。系统建模的任务,就是把整个测量链写成一个明确的输入-输出模型,让每一个影响量都有位置、有符号、有单位、有传递路径,为后续的不确定度传播提供可计算的骨架。

一、测量方程的基本形式

任何激光测量系统都可以抽象为:

L_meas = f( L_true, δ_env, δ_mat, δ_motion, δ_det, δ_alg, δ_cal )

其中 L_meas 是仪器示值,L_true 是被测长度真值,其余各项分别代表环境、材料、运动、探测、算法和校准引入的偏差或修正量。更实用的写法是“修正模型”:

L_corr = L_meas + C_env + C_mat + C_motion + C_det + C_alg + C_cal

这里每个 C 都是带符号的修正量,单位统一为长度单位(如 μm 或 nm)。建模时先确定“哪些量是输入、哪些量是输出、哪些量是中间变量”,再确定每个变量的参考条件和灵敏度系数。参考条件通常取 20 ℃、101.325 kPa、相对湿度 50%、被测件温度等于环境温度、运动速度为零或匀速、探测信号处于线性区。

二、变量分类与物理含义

把变量按来源分类,是避免遗漏和重复的关键。下表给出一套可直接用于激光干涉测长系统的变量清单,示例参数为合理假设,用于说明建模方法。

类别变量符号典型量级(示例)单位
环境空气温度t20 ± 0.5℃
环境大气压力p101.325 ± 0.05kPa
环境相对湿度h50 ± 5%RH
环境CO₂ 体积分数x0.040 ± 0.005%
材料被测件温度t_m20 ± 0.3℃
材料线膨胀系数α10.5 ± 0.510⁻⁶/℃
运动运动速度v0~200mm/s
运动导轨直线度e_str≤ 2μm
探测干涉信号相位φ0~2πrad
探测信号信噪比SNR≥ 30dB
算法细分倍数N1024—
算法死区补偿d_dead0~5nm
校准激光波长λ632.990nm

这些变量并非独立。例如空气温度同时影响折射率修正和被测件热膨胀;运动速度通过多普勒频移影响相位解调;算法细分倍数决定相位到长度的转换系数。建模时必须显式写出这些耦合关系,而不是把它们塞进一个“综合误差”里。

三、从物理链到测量方程

以迈克尔逊干涉测长为例,探测到的相位变化与光程差关系为:

Δφ = (4π n / λ) · ΔL

其中 n 是空气折射率,λ 是真空波长,ΔL 是目标位移。反解得到:

ΔL = (λ / 4π n) · Δφ

再把折射率写成环境变量的函数 n = n(t, p, h, x),把相位写成探测与算法变量的函数 Δφ = Δφ(φ, N, d_dead, SNR),就得到完整的测量方程。此时每个输入量的不确定度都可以通过灵敏度系数传播到 ΔL。例如折射率对温度的灵敏度约为 −0.93×10⁻⁶/℃,对气压约为 +0.27×10⁻⁶/kPa,这些系数直接决定环境控制指标是否合理。

建模时建议先画“变量-路径图”,再写方程。路径图能暴露耦合和遗漏,方程则保证量纲和符号一致。两者缺一不可。

四、输入-输出模型的结构化表达

下图把激光测长系统表示为一条从“被测对象”到“示值输出”的信号链,同时标出环境、材料、运动、探测、算法、校准六类变量的注入位置。图中箭头方向表示影响传递方向,虚线框表示修正量汇入点。

激光测长系统输入-输出模型与变量注入路径 被测对象 L_true, t_m, α 光学干涉链 λ, n, Δφ 光电探测 SNR, 相位噪声 相位解调与算法 N, d_dead 示值输出 L_meas → L_corr 环境变量 t, p, h, x → n 折射率修正 C_env 材料变量 t_m, α → 热膨胀 材料修正 C_mat 运动变量 v, e_str → 多普勒/余弦 运动修正 C_motion 探测变量 SNR, 相位噪声 探测修正 C_det 算法变量 N, d_dead, 滤波延迟 算法修正 C_alg 校准变量 λ, 参考镜, 死程 校准修正 C_cal 修正后输出 L_corr = L_meas + ΣC_i 进入不确定度传播 主信号链 变量注入 偏差传递 修正汇入

五、建模时的常见陷阱

第一,变量重复计入。例如把空气温度同时放进“环境修正”和“材料修正”,会导致不确定度被高估。正确做法是:温度对折射率的影响归入 C_env,温度对被测件长度的影响归入 C_mat,两者通过同一个温度输入但传递路径不同,在灵敏度系数中分别体现。

第二,忽略符号和参考方向。修正量必须带符号,且全文统一“以增加被测长度为正”或“以仪器示值偏大为正”。如果中途切换约定,传播结果会出错。建议在模型文档开头固定一句话:“本文所有修正量定义为:L_corr = L_meas + C,C 为正表示示值偏小。”

第三,把非线性关系强行线性化。例如折射率对温度在 20 ℃ 附近近似线性,但在大温差下需要保留二次项;相位解调在接近 2π 跳变处存在非线性。建模时应注明线性化区间,超出区间则改用分段模型或数值传播。

不要把“算法修正”当成黑箱。细分倍数 N、死区补偿 d_dead、滤波延迟都会改变相位到长度的转换系数,必须作为显式变量写入测量方程,否则后续蒙特卡洛传播无法复现。

六、可直接使用的建模检查表

完成一次系统建模后,用下表逐项核对,确保测量方程可计算、可追溯、可传播。

检查项合格判据示例
输出量定义唯一、带单位、有参考条件L_corr,μm,20 ℃/101.325 kPa
输入量完备环境/材料/运动/探测/算法/校准六类齐全t, p, h, x, t_m, α, v, e_str, φ, SNR, N, d_dead, λ
量纲一致所有修正量统一为长度单位C_env 由 n 偏差 × L 得到,单位 μm
符号约定全文唯一,图示一致正号表示示值偏小
灵敏度系数每个输入量有 ∂L/∂x_i 或数值差分∂L/∂t ≈ −0.93×10⁻⁶·L /℃
线性化区间注明适用范围18~22 ℃,90~105 kPa
耦合关系共享变量显式标注t 同时进入 C_env 和 C_mat
可传播性能直接用于 GUM 或蒙特卡洛输出 y 与输入 x_i 的方程完整

把这张检查表与前面的输入-输出模型配合使用,就能在进入不确定度传播之前,先把“测什么、受什么影响、影响多大、往哪个方向传”这四个问题回答清楚。后续的 A 类/B 类评定、合成标准不确定度和扩展不确定度,都建立在这一步的完整性之上。