误差传播理论:从源头算清你的不确定度

说实话,做传感器标定这么多年,我见过太多人卡在最后一步——明明每个传感器都标好了,组合起来一测,结果却对不上。问题出在哪?

说白了,就是没搞懂误差是怎么在传感器链里“滚雪球”的。今天咱们就聊聊误差传播定律,看看怎么从源头一步步算出最终输出的不确定度。

误差传播定律的本质

误差传播定律,核心就一句话:输入端的微小误差,经过函数关系传递后,会在输出端被放大或缩小。

我习惯用一个简单例子来理解:假设你有一个压力传感器,输出是电压U,关系是U = k·P + b。如果k有1%的误差,P有0.5%的误差,那最终U的误差是多少?

嗯,这里要注意,不是简单相加。误差传播定律告诉我们,要用方差合成的方式。

核心公式(一阶泰勒展开):

σ_y² = Σ (∂f/∂x_i)² · σ_xi² + 2Σ Σ (∂f/∂x_i)(∂f/∂x_j) · cov(x_i, x_j)

其中σ_y是输出不确定度,σ_xi是各输入不确定度,cov是协方差项。

我在项目中遇到过,很多人只取第一项,忽略了协方差。结果算出来的不确定度偏小,实际测试时发现误差比预期大了一倍。所以,千万别偷懒。

传感器链中的误差传播模型

一个典型的传感器链,通常包含:敏感元件 → 信号调理 → ADC → 数字滤波 → 校准算法。每个环节都会引入误差。

我画了一张图,帮你理清这个传播路径:

传感器链误差传播路径 敏感元件 σ₁ = 0.2% 信号调理 σ₂ = 0.15% ADC σ₃ = 0.1% 数字滤波 σ₄ = 0.05% 误差合成:σ_total = √(σ₁² + σ₂² + σ₃² + σ₄²) 假设各环节独立,忽略协方差项 最终输出不确定度

你看,每个环节的误差都在累积。但好消息是,误差传播定律给了我们一套数学工具,可以精确计算最终的不确定度。

如何从源头计算?—— 三步法

我个人习惯用三步法,简单粗暴,但很有效:

  1. 建立传递函数:写出输出Y与各输入X_i之间的数学关系
  2. 求偏导数:计算每个输入对输出的敏感度系数
  3. 方差合成:按公式合成,别忘了协方差项

实战技巧:

我曾经处理过一个温度传感器链,包含热电偶、冷端补偿、放大器和ADC。一开始我按独立误差算,结果总是不对。后来发现,冷端补偿和热电偶的误差是相关的——因为冷端补偿本身也依赖热电偶的测量值。加上协方差项后,计算结果和实测值就吻合了。

一个完整的计算示例

咱们来算一个实际的。假设一个压力测量链:

环节 传递函数 不确定度(1σ) 敏感度系数
压力传感器 U₁ = 0.1·P + 0.02 0.5% FS ∂U₁/∂P = 0.1
放大器 U₂ = 100·U₁ 0.2% ∂U₂/∂U₁ = 100
ADC D = U₂ / 0.001 0.1% ∂D/∂U₂ = 1000

计算过程:

σ_D² = (∂D/∂P)² · σ_P² + (∂D/∂U₁)² · σ_U₁² + (∂D/∂U₂)² · σ_U₂²

∂D/∂P = (∂D/∂U₂)·(∂U₂/∂U₁)·(∂U₁/∂P) = 1000 × 100 × 0.1 = 10000

σ_D² = (10000)² × (0.005)² + (1000)² × (0.002)² + (1)² × (0.001)²
     = 2500 + 4 + 0.000001
     ≈ 2504

σ_D ≈ 50.04 个码值

你看,压力传感器的误差被放大了10000倍,成为主导因素。这就是为什么我常说,标定时要优先控制源头误差。

注意:

如果各环节之间存在相关性,比如放大器的增益误差和ADC的参考电压误差都受温度影响,那就必须考虑协方差项。忽略它,你的不确定度计算可能偏小30%~50%。

避坑指南

  • 不要盲目平方和:只有独立误差才能直接平方和。相关误差必须用协方差。
  • 敏感度系数别算错:我见过有人直接把各环节的不确定度加起来,结果算出来大得离谱。记住,要乘以敏感度系数。
  • 单位要统一:所有不确定度要换算到同一个物理量纲下再合成。
  • 高阶项别忽略:如果传递函数非线性强,一阶近似可能不够,要用蒙特卡洛法验证。

我曾经在一个项目中,就因为忽略了ADC的非线性项,导致计算的不确定度比实际小了一半。后来用蒙特卡洛模拟跑了10000次,才发现问题出在哪。

小结

误差传播理论,说白了就是帮你回答一个问题:“我的测量结果到底有多可信?”

从源头开始,一步步算清楚每个环节的贡献,你就能知道该把精力花在哪个环节上。是换一个更精密的传感器?还是优化放大器的温漂?还是提高ADC的分辨率?

嗯,有了误差传播定律,这些决策就不再是拍脑袋了。

核心要点回顾:

  • 误差传播定律 = 偏导数 × 方差 + 协方差
  • 传感器链中,每个环节的误差都会被传递和放大
  • 敏感度系数决定了哪个环节是“瓶颈”
  • 相关性不可忽略,否则计算结果会偏小
可可精品资料库