4. 传感器信号特征分析:正常与堵塞状态下,压力传感器输出的时域/频域特征差异
好,咱们进入正题。这一节我打算聊聊传感器信号本身。说白了,就是当空速管正常工作时,压力传感器输出的是什么样?堵了之后,又变成了什么样?
我个人习惯,拿到一个故障数据,第一件事不是建模,而是先看波形。你想想看,信号里藏着很多信息,光靠眼睛就能看出不少门道。
4.1 正常状态下的时域特征
正常飞行时,空速管感受到的是真实的总压和静压。压力传感器输出的电压信号,会随着飞行速度、高度、气流扰动而变化。
我总结几个典型特征:
- 动态范围大:从地面滑跑的几米/秒,到巡航的几百米/秒,信号幅度变化范围很宽。
- 变化有规律:加速时信号平滑上升,减速时平滑下降。不会出现突兀的跳变。
- 叠加小幅度噪声:气流本身有湍流,传感器也有电子噪声。这些噪声幅度小,频率高,看起来像毛刺。
正常信号的关键指标
我一般关注三个参数:均值、方差、变化率。正常状态下,方差稳定,变化率不超过物理极限。
举个例子,某型飞机平飞时,空速管输出的电压大约是 2.5V ± 0.1V。这个波动,就是气流噪声和传感器噪声叠加的结果。
4.2 堵塞状态下的时域特征
空速管堵了,情况就完全不一样了。我遇到过好几次,最典型的就是信号「僵死」了。
堵塞后的特征:
- 信号几乎不变:压力被锁在空速管内,传感器感受不到外界变化。输出是一条近乎水平的直线。
- 噪声消失:正常时的毛刺没了,信号变得异常「干净」。这其实是个危险信号。
- 突变或缓变:如果是瞬间堵塞(比如被冰晶堵住),信号会突然卡住。如果是缓慢堵塞(比如灰尘积累),信号会慢慢漂移到一个固定值。
注意! 我曾经遇到过一个案例,空速管部分堵塞,信号没有完全僵死,而是响应变慢。这种最难判断,需要结合频域分析才能揪出来。
为什么会这样?因为堵塞后,空速管内部形成了一个封闭腔体。压力变化无法传递,传感器自然就「躺平」了。
4.3 正常与堵塞的频域特征对比
时域看波形,频域看能量分布。我个人觉得,频域分析在检测堵塞时特别有用。
正常信号的频谱:
- 低频段(0-1 Hz):包含飞行速度变化的主能量。
- 中频段(1-10 Hz):包含气流湍流、机动动作引起的波动。
- 高频段(>10 Hz):主要是传感器电子噪声,能量很低。
堵塞信号的频谱:
- 低频段:能量集中在直流分量(0 Hz)附近,因为信号几乎不变。
- 中高频段:能量几乎为零。噪声消失了,频谱变得「光秃秃」的。
我的经验:计算信号的功率谱密度(PSD),如果发现中高频能量突然下降超过 90%,十有八九是堵了。
你想想看,正常信号像一首有旋律的歌,有高有低有节奏。堵塞信号就像卡碟了,只有一个音调在响。
4.4 核心差异总结
我把这些差异整理成了一张表,方便你对照:
| 特征维度 | 正常状态 | 堵塞状态 |
|---|---|---|
| 时域波形 | 动态变化,有波动 | 近乎直线,或缓慢漂移 |
| 信号方差 | 较大且稳定 | 趋近于零 |
| 噪声水平 | 存在高频毛刺 | 异常干净 |
| 频谱分布 | 能量分散在多个频段 | 能量集中在直流附近 |
| 变化率 | 符合物理规律 | 极低或为零 |
4.5 知识体系图
下面这张图,把正常与堵塞的时频域特征差异梳理清楚了。你可以把它当作一个快速诊断指南。
4.6 一个简单的检测思路
嗯,这里要注意。光看特征还不够,得有个检测方法。我分享一个我常用的思路:
# 伪代码:基于方差的堵塞检测
def detect_blockage(signal, threshold=0.01):
variance = np.var(signal[-100:]) # 取最近100个点
if variance < threshold:
return "堵塞警告!信号方差过低"
else:
return "信号正常"
这个代码很简单,但很实用。我在项目里就用它做过快速筛查。当然,实际部署时阈值要调,不同飞机、不同工况下阈值不一样。
避坑指南:我曾经把阈值设得太低,结果飞机在地面静止时频繁报警。后来加了「飞行状态判断」条件,只有空中才启用检测,问题就解决了。
好了,这一节的核心就是:正常信号有「活力」,堵塞信号「死气沉沉」。时域看方差,频域看能量分布,两者结合,基本不会漏判。