2. 传感器故障模型

传感器故障,说白了就是传感器给出的信号跟真实物理量对不上了。我做了这么多年容错控制,见过最多的故障类型其实就四种:偏差、漂移、精度下降、完全失效。咱们一个一个来拆解。

2.1 传感器常见故障类型

2.1.1 偏差故障

偏差故障是最简单、也最常见的一种。传感器的输出值始终比真实值高或低一个固定量。打个比方,就像你家的体重秤,每次称出来都比实际重2公斤——这就是典型的偏差故障。

数学上可以这样描述:

y(t) = x(t) + b

其中 y(t) 是传感器输出,x(t) 是真实值,b 是偏差量。b 可以是常数,也可以是缓慢变化的。

我的一点经验: 偏差故障在工业现场特别常见。我记得有一次在化工厂调试,一个压力传感器始终比标准表高0.3MPa。排查了半天,发现是传感器安装时密封垫片压得太紧,导致膜片变形。这种机械安装引起的偏差,其实比电气故障更隐蔽。

2.1.2 漂移故障

漂移比偏差麻烦一点。它不是固定的,而是随时间慢慢变化。你想想看,一个传感器刚开机时好好的,过了半小时开始慢慢偏,再过一小时偏得更厉害——这就是漂移。

数学模型通常写成:

y(t) = x(t) + d(t)

其中 d(t) 是随时间变化的漂移量。常见的漂移模型有线性漂移:d(t) = α·t,也有指数型漂移:d(t) = a·(1 - e-t/τ)。

注意: 漂移故障最难诊断。因为它变化慢,你很难区分是真实物理量在变化,还是传感器本身在漂。我曾经遇到过一个温度传感器,漂移速率跟环境温度变化速率几乎一样,整整三天才确认是传感器坏了。

2.1.3 精度下降故障

精度下降,就是传感器的噪声变大了。正常时噪声方差是 σ²,故障后变成了 k·σ²,k > 1。传感器还能用,但数据质量明显下降。

数学表达:

y(t) = x(t) + v(t),  v(t) ~ N(0, k·σ²)

我个人的习惯是,当 k > 3 时,就认为传感器已经不可靠了。为什么是3?因为3倍方差意味着99.7%的置信区间扩大了将近两倍,这对后续的融合算法影响很大。

2.1.4 完全失效

这个最好理解——传感器彻底不工作了。输出要么卡死在某个值(卡死故障),要么输出为0(零值故障),要么输出满量程(饱和故障)。

卡死故障的模型:

y(t) = c,  ∀t ≥ t_f

其中 c 是常数,t_f 是故障发生时刻。

2.2 故障的数学建模方法

搞清楚了故障类型,接下来就是怎么用数学语言描述它们。我一般把故障模型分成两大类:加性故障和乘性故障。

2.2.1 加性故障模型

加性故障,就是故障信号直接叠加在真实信号上。偏差和漂移都属于这一类。

y(t) = x(t) + f(t)

f(t) 就是故障函数。对于偏差故障,f(t) = b;对于漂移故障,f(t) = d(t)。

2.2.2 乘性故障模型

乘性故障,是故障改变了传感器的增益。精度下降和部分失效属于这一类。

y(t) = γ·x(t) + v(t)

γ 是增益因子。正常时 γ = 1,故障时 γ ≠ 1。比如精度下降,γ 可能还在1附近,但噪声方差变大了。

2.2.3 统一故障模型

实际工程中,我更喜欢用一个统一的模型来涵盖所有情况:

y(t) = γ(t)·x(t) + f(t) + v(t)

这个模型包含了三种成分:

  • γ(t):乘性故障因子,描述增益变化
  • f(t):加性故障函数,描述偏差和漂移
  • v(t):噪声项,描述精度变化

核心要点: 这个统一模型几乎能覆盖所有传感器故障场景。我在做飞控系统容错设计时,就是用这个模型来生成故障仿真数据的。你只要调整 γ(t)、f(t)、v(t) 三个参数,就能模拟出各种故障组合。

2.3 故障模型的知识体系

下面这张图,是我自己总结的传感器故障模型知识框架。你看一眼就能明白各个故障类型之间的关系:

传感器故障模型知识体系 传感器故障 按表现形式 按数学模型 偏差故障 漂移故障 精度下降 完全失效 加性故障模型 乘性故障模型 统一故障模型:y(t) = γ(t)·x(t) + f(t) + v(t) 虚线表示对应关系:偏差、漂移 → 加性模型;精度下降 → 乘性模型

2.4 实际工程中的故障建模要点

搞理论是一回事,真正用到工程里又是另一回事。我分享几个实际建模时的注意事项:

  1. 故障参数要可调:建模时一定要留出可调参数。比如偏差量 b、漂移速率 α、噪声放大系数 k。这样在仿真时才能覆盖不同严重程度的故障。
  2. 考虑故障的时变特性:很多故障不是瞬间发生的,而是渐变过程。我建议用指数函数或斜坡函数来模拟故障的建立过程。
  3. 多故障耦合:实际系统中,一个传感器可能同时出现多种故障。比如既有偏差又有精度下降。统一模型正好能处理这种情况。
一个小技巧: 我在做故障注入测试时,习惯把故障参数做成一个向量 [γ, b, σ², t_f]。这样每次测试只需要改这个向量,就能快速切换故障场景。代码复用性很高。

嗯,传感器故障模型这部分就讲到这里。记住一句话:没有完美的传感器,只有完善的故障处理策略。下一节我们会讨论如何检测和隔离这些故障,那才是真正考验功夫的地方。


专注资料整理