3. 标定与漂移补偿的数学基础

标定与漂移补偿之所以需要一套统一的数学语言,是因为传感器输出的“读数”与“真值”之间往往不是简单的一一对应:它可能带有零点偏置、比例误差、交叉耦合、非线性弯曲,还会随时间、温度、磁场或器件老化缓慢漂移。若只靠查表或人工修正,很难在动态条件下保持精度。本节把后续章节反复用到的数学工具串成一条主线:用什么模型描述传感器、如何从数据中估计参数、如何在噪声与漂移中持续修正状态。

一、线性模型:标定最常用的起点

对多数磁强计、加速度计、陀螺仪和温度传感器,在小范围工作区内可先用线性模型近似。以三轴磁强计为例,理想情况下测量向量 y 与真实磁场 x 的关系可写成:

y = S · x + b + ε

其中 S 为 3×3 灵敏度与交叉耦合矩阵,b 为三轴零偏向量,ε 为随机噪声。若忽略交叉耦合,S 退化为对角矩阵,每个轴独立标定:yi = ki·xi + bi。线性模型的优点是参数少、可解析求解、外推风险可控;缺点是当输入幅度大、温度跨度宽或器件本身非线性明显时,残差会呈现系统性弯曲。

二、非线性模型:当线性假设失效

非线性来源主要有三类:一是传感器传递函数本身弯曲,例如某些磁阻传感器在强场下饱和;二是多物理量耦合,例如温度同时影响零偏和灵敏度;三是坐标与安装误差,例如非正交轴系带来的角度相关误差。常见处理方式包括多项式模型、分段线性插值、样条函数,以及把温度作为显式变量的二元模型:

y = f(x, T) = a0 + a1·x + a2·x² + a3·T + a4·x·T

非线性模型参数更多,通常需要非线性最小二乘或迭代优化求解。实际工程中应遵循“能线性则线性、必要时再升维”的原则:先用线性模型拟合,检查残差是否随输入或温度呈现规律性趋势;若残差均值明显偏离零且呈曲线,再引入二次项或温度项。

三、状态空间表示:把漂移写成可估计的状态

状态空间模型把系统分为“状态如何演化”和“状态如何被观测”两部分:

x_k = F·x_{k-1} + B·u_k + w_k      (状态方程)
z_k = H·x_k + v_k                   (观测方程)

其中 xk 是状态向量,zk 是观测向量,F 为状态转移矩阵,H 为观测矩阵,wk 与 vk 分别为过程噪声和观测噪声。对漂移补偿而言,关键技巧是把“零偏”本身当作状态:例如令状态包含真实角速度与陀螺零偏 b,零偏按随机游走建模 bk = bk-1 + wb。这样,滤波器在估计信号的同时也在估计漂移,实现“边用边补”。

标定与漂移补偿的数学工具链 原始观测数据 z_k = H·x_k + v_k 系统模型 线性:y = S·x + b 非线性:y = f(x, T) 状态空间表示 x_k = F·x_{k-1} + w_k 零偏 b 作为状态 参数估计 最小二乘 / 系统辨识 求 S、b、多项式系数 卡尔曼滤波 预测 + 更新 在线估计漂移 补偿输出:x̂ = 标定模型⁻¹(z − b̂) 残差检验 → 是否满足精度要求 模型更新

四、最小二乘:从一批数据中求参数

最小二乘解决的是“给定输入输出数据对,找一组参数使预测误差平方和最小”。对线性模型 y = Aθ,其中 θ 为待估参数向量,A 为设计矩阵,其闭式解为:

θ̂ = (AᵀA)⁻¹ Aᵀ y

以单轴加速度计标定为例,把传感器置于多个已知倾角,记录输出 yi 与理论加速度 xi,构造 A 的每一行为 [xi, 1],则 θ = [k, b]T。若数据点覆盖范围不足或存在强噪声,AᵀA 可能接近奇异,此时应增加激励幅度、扩展温度点,或改用带正则项的最小二乘(岭回归)。

五、卡尔曼滤波:在噪声中持续修正

卡尔曼滤波是最小二乘在动态系统中的递推形式。它分两步循环:

  1. 预测:用状态方程把上一时刻估计推到当前时刻,同时传播协方差 P;
  2. 更新:用当前观测 zk 与预测观测的差(新息)修正状态,增益 K 由过程噪声 Q 与观测噪声 R 的比值决定。

对漂移补偿,Q 反映零偏随时间变化的剧烈程度,R 反映单次观测的可信度。若 Q 设得过小,滤波器会“固执”地相信旧零偏,漂移跟踪变慢;若 Q 过大,输出会跟随噪声抖动。工程上常用 Allan 方差或静态零偏序列先估计 Q 与 R 的量级,再在实验中微调。

六、系统辨识与参数估计:从“已知模型”到“发现模型”

最小二乘和卡尔曼滤波都假设模型结构已知,只估参数。系统辨识则更进一步:先根据阶跃响应、频率响应或相关分析确定模型阶次与形式,再估计参数。对量子传感系统,常见做法是:

  • 给传感器施加已知阶跃输入(如磁场跳变),记录响应曲线;
  • 用一阶或二阶惯性环节拟合上升时间与超调量,确定模型阶次;
  • 再用最小二乘或极大似然估计时间常数、增益与延迟;
  • 最后用未参与辨识的数据做交叉验证,检查残差是否白噪声。
实用判断:若残差序列的均值接近零、自相关函数在非零延迟处迅速衰减,说明模型已捕捉主要动态;若残差仍呈现缓慢趋势,通常意味着还有未建模的漂移状态,应把它加入状态向量。

七、一条可复用的标定计算示例

假设某三轴磁强计在 25 ℃ 下采集 12 组已知磁场数据,用线性最小二乘拟合得到单轴参数 k = 1.023、b = −0.015 mT。将传感器放入温箱,在 −10 ℃、25 ℃、60 ℃ 三点重复标定,发现 b 随温度近似线性变化:b(T) = −0.015 + 0.0004·(T − 25)。此时可把温度作为观测变量,构造二元线性模型重新求解,或直接把 b 作为卡尔曼滤波的状态,用温度作为控制输入 uk 驱动其演化。两种做法都能把温漂从“不可控误差”转化为“可估计状态”。

注意:上述数值为教学示例,用于说明计算流程,并非某型号器件的实测指标。实际标定中应以原始数据、残差图和交叉验证结果为准,不可直接套用示例参数。