4. 测试数据预处理实战
GNC测试数据在进入分析之前,几乎不可能直接使用。遥测下传的原始数据往往夹杂野值、丢帧、时间戳漂移、采样率不一致、量纲混杂等问题。如果跳过预处理直接做频谱分析或参数辨识,得到的结论可能完全错误。本节以某型航天器GNC分系统地面测试数据为例,完整走一遍预处理链路,重点讲清楚每一步"怎么做"以及"怎么判断做对了"。
一、异常值识别:先看物理边界,再看统计特征
异常值识别不能一上来就用3σ准则。GNC数据中很多"异常"其实是真实物理过程,比如姿控发动机点火瞬间的角加速度尖峰、太阳翼驱动机构的换向冲击。因此第一步是物理边界检查:根据传感器量程和物理约束设定硬阈值。例如某陀螺量程为±5°/s,输出超过5.2°/s即可判定为野值;某温度传感器量程-40~+85℃,超出范围直接标记。
第二步才是统计方法。对缓变参数(如母线电压、舱内温度),采用滑动窗口中位数绝对偏差(MAD)更稳健:
MAD = median(|x_i - median(x)|)
判定阈值:|x_i - median(x)| > k × 1.4826 × MAD
k 取 3~5,对GNC数据建议取4,避免误杀真实机动
对快变参数(如角速度、加速度),MAD容易把真实机动尖峰误判为异常。此时改用差分+物理一致性:先计算一阶差分,若相邻两点跳变超过物理最大角加速度×采样周期,再结合该时刻是否有喷气指令标志,有指令则保留,无指令则标记为野值。识别出的野值不要直接删除,先置为NaN,留给缺失值处理环节统一决策。
二、缺失值处理:区分丢帧与野值剔除
缺失值来源有两类:遥测丢帧(整段连续缺失)和野值剔除(单点或短段缺失)。处理策略完全不同。
- 单点缺失:优先线性插值。对姿态角、角速度等缓变信号,线性插值误差可接受;对振动加速度等高频信号,线性插值会引入虚假低频,应改用三次样条或直接标记不参与频谱计算。
- 连续缺失(>3个采样周期):禁止插值。GNC数据连续丢帧往往意味着遥测链路中断或模式切换,插值会伪造不存在的动态过程。正确做法是分段处理,在缺失段两端加窗,频谱分析时跳过该段。
- 野值剔除后的短段:若连续剔除点数≤2,可用相邻有效值线性插值;若>2,按连续缺失处理。
三、时间对齐与重采样:统一到同一时间轴
GNC测试中,陀螺、星敏、加速度计、执行机构指令往往来自不同下传包,采样率和时间戳基准不同。时间对齐的目标是:把所有信号统一到同一时间轴,且不引入额外相位误差。
实际操作分三步:
- 时间戳归一化:将各数据源的绝对时间(如星上时间、地面接收时间)统一转换为相对起飞时刻的秒数。若存在固定传输延迟,用已知的指令-响应时间差做补偿。
- 选择基准时间轴:以最高采样率信号的时间戳为基准,或按分析需求设定固定步长。例如陀螺采样率100Hz,星敏10Hz,统一到100Hz时间轴。
- 重采样:低频信号升采样用零阶保持或线性插值;高频信号降采样必须先抗混叠滤波,再抽取。降采样比例如100Hz→10Hz,先做截止频率4Hz的低通滤波,再每10点取1点。
判断对齐是否正确的实用方法:检查同一物理事件(如喷气指令上升沿)在不同信号中的时间戳是否对齐到同一采样点,偏差应小于一个基准采样周期。
四、滤波:按信号用途选滤波器
滤波不是越平滑越好。GNC数据分析中,滤波目的通常有三种:去高频噪声、提取趋势、抗混叠。对应选择不同滤波器:
| 用途 | 推荐滤波器 | 典型参数(示例) | 注意 |
|---|---|---|---|
| 去高频噪声 | 巴特沃斯低通 | 截止频率5Hz,4阶 | 相位滞后需补偿 |
| 提取趋势 | 滑动平均/低通 | 窗口0.5s | 窗口不宜超过动态过程时长 |
| 抗混叠 | 切比雪夫/巴特沃斯 | 截止频率<0.4×目标采样率 | 降采样前必须做 |
| 去除工频干扰 | 陷波器 | 50Hz,Q=30 | 仅当确认存在工频干扰 |
滤波后必须检查:通带内信号幅值衰减是否可接受,相位滞后是否影响时序判断。对姿控回路分析,相位滞后超过5°就可能影响稳定裕度评估,此时应改用零相位滤波(如filtfilt)或前向-反向滤波。
五、单位统一:建立量纲映射表
GNC数据中常见的单位混乱包括:角度用度还是弧度、角速度用°/s还是rad/s、加速度用g还是m/s²、电压用V还是mV。必须在预处理阶段统一,且全文保持一致。
建议建立一张量纲映射表,明确每个信号的原始单位、目标单位和转换系数。例如:
陀螺输出:原始单位 °/s,目标单位 rad/s,系数 π/180
加速度计:原始单位 g,目标单位 m/s²,系数 9.80665
星敏四元数:原始单位 无量纲,目标单位 无量纲,需归一化
温度:原始单位 0.1℃,目标单位 ℃,系数 0.1
单位转换后要做量级检查:例如某姿态角速度在机动段应为0.1~1°/s量级,若转换后变成0.001或100,说明系数用错。
六、完整预处理链路与结果判读
把上述步骤串起来,形成一条可复用的预处理链路。下图展示了从原始遥测到可用分析数据的完整数据流,以及每一步的关键判断点。
完成上述链路后,建议做一次闭环验证:取一段已知的标定数据或仿真数据,人为注入野值、缺失段、时间偏移和单位错误,跑一遍预处理,检查是否能正确恢复。若恢复后的信号与原始真值在通带内幅值误差小于5%、时间偏差小于一个采样周期,则认为预处理链路可用。
最后强调一个容易被忽视的点:所有预处理操作都必须可追溯。建议在数据文件中保留原始数据副本,并记录每一步的操作类型、参数和影响的数据段。这样当分析结果出现疑问时,可以快速定位是原始数据问题还是预处理引入的偏差。