4. 数据采集与预处理
飞控模型参数校准的质量,首先取决于原始数据是否“干净、对齐、可复现”。如果飞行试验设计不合理、传感器采样不同步、噪声未加区分地滤除,后续的最小二乘拟合或频域辨识都会把误差误当成模型特性。本节围绕一条完整的数据链展开:从试验激励设计,到多源传感器采集,再到时间同步、滤波降噪与数据质量检查,形成可追溯的预处理流程。
一、飞行试验设计:先设计激励,再谈辨识
参数校准需要飞行器在特定频段和幅度上产生足够的信息量。若全程平稳悬停或直线平飞,数据中几乎不包含气动导数、转动惯量或执行机构动态的可辨识信息。因此试验设计要围绕“激励信号”展开。
- 激励类型:常用扫频(chirp)、多正弦叠加、3-2-1-1 脉冲、双峰脉冲和阶跃。扫频适合频域辨识,脉冲适合时域响应与等效延迟估计。
- 频段选择:覆盖飞控带宽的 0.5~2 倍。例如姿态环带宽约 2 Hz,则激励频段可设为 0.2~5 Hz,避免只激励到低频漂移或高频噪声。
- 幅度与安全:幅度过小信噪比不足,过大则进入非线性区甚至触发保护。建议分级递增,每级重复 3~5 次。
- 轴向隔离:滚转、俯仰、偏航尽量分轴激励,减少耦合对参数辨识的干扰;必要时设计多轴组合机动验证耦合项。
- 环境记录:记录风速、气压、温度、电池电压和载重配置,这些量会显著影响气动参数与执行机构效率。
试验设计还应包含“验证段”:用一段未参与辨识的机动数据检验模型预测能力,避免过拟合。辨识段与验证段应在不同时间、不同电量状态下采集,以暴露模型泛化问题。
二、传感器数据采集:多源异构数据的统一管理
飞控系统通常同时采集 IMU、磁力计、气压计、GNSS、空速管、舵机反馈和电机转速等数据。不同传感器的采样率、量程、单位和坐标系各不相同,采集阶段必须统一记录元数据。
| 传感器 | 典型采样率 | 关键预处理 | 常见问题 |
|---|---|---|---|
| IMU(加速度/角速度) | 200~1000 Hz | 零偏估计、温度补偿、去趋势 | 振动耦合、量程饱和 |
| 磁力计 | 50~200 Hz | 椭球拟合校准、硬磁/软磁补偿 | 电机电流干扰、安装偏差 |
| 气压计 | 25~100 Hz | 低通滤波、温度漂移修正 | 气流扰动、延迟大 |
| GNSS | 5~20 Hz | 坐标转换、异常点剔除 | 多路径、丢星 |
| 舵机/电机反馈 | 50~400 Hz | 死区补偿、延迟对齐 | 回中误差、饱和 |
采集时建议使用统一的时间戳字段和原始单位,避免在采集端做不可逆处理。原始数据应保留为只读副本,所有滤波、重采样和截取都在副本上进行,确保处理链可回溯。
三、时间同步:把不同频率的数据对齐到同一时间轴
时间同步是预处理中最容易被低估的环节。IMU 与舵机反馈之间哪怕存在 10 ms 延迟,在 2 Hz 以上频段就会引入明显相位误差,导致阻尼导数辨识偏大或偏小。同步通常分三步:
- 硬件同步:优先使用同一时钟源触发采样,或使用 PPS、触发线将传感器采样时刻对齐。
- 时间戳对齐:将各传感器时间戳统一到同一时基,检查是否存在时钟漂移。可用线性回归估计漂移率并补偿。
- 重采样:将低频信号插值到高频时间轴,或统一降采样到辨识所需频率。插值优先使用线性或样条,避免引入额外相位滞后。
# 示例:将气压计与 GNSS 对齐到 IMU 时间轴
imu_t = imu["t"] # 1000 Hz
baro_t = baro["t"] # 50 Hz
gnss_t = gnss["t"] # 10 Hz
baro_aligned = np.interp(imu_t, baro_t, baro["alt"])
gnss_aligned = np.interp(imu_t, gnss_t, gnss["vel_ned"])
# 检查同步残差:对齐后互相关峰值应接近 0 延迟
lag = np.argmax(np.correlate(imu["az"], baro_aligned, mode="full"))
print("estimated lag samples:", lag - len(baro_aligned) + 1)
四、滤波与降噪:区分噪声、振动与真实动态
滤波不是“越干净越好”,而是要在保留机动动态的同时抑制噪声。常用方法包括低通滤波、带通滤波、滑动平均、小波降噪和卡尔曼滤波。选择依据是信号频段与噪声频段是否重叠。
- 低通滤波:适用于噪声集中在高频、动态集中在低频的场景。截止频率一般取飞控带宽的 2~5 倍,避免相位滞后影响辨识。
- 带通滤波:扫频辨识中常用,保留激励频段,抑制低频漂移和高频噪声。
- 滑动平均:实现简单,但会引入固定延迟,不适合对相位敏感的频域辨识。
- 小波降噪:适合非平稳振动信号,但参数选择不当会削掉真实脉冲响应。
- 卡尔曼滤波:适合多传感器融合,但需要合理的噪声协方差,否则会“过度平滑”真实机动。
滤波后必须做残差检查:比较滤波前后信号的功率谱,确认激励频段增益接近 1、相位滞后可接受;同时检查时域峰值是否被削平。若发现 3-2-1-1 脉冲的上升沿变圆,说明截止频率过低。
五、数据质量检查与预处理清单
在进入参数辨识前,建议按以下清单逐项确认,任何一项不通过都应回到采集或同步环节修正,而不是靠后续拟合“硬凑”。
- 时间戳单调递增,无重复、无跳变;
- 各传感器无长时间丢包,缺失段已标记而非插值掩盖;
- IMU 无饱和,舵机反馈未长期处于限幅;
- 激励段信噪比足够,功率谱在目标频段高于本底 10 dB 以上;
- 同步残差小于 1~2 个采样周期;
- 滤波参数、重采样率和截取区间已写入元数据。
完成上述预处理后,数据才真正具备“可辨识性”。下一阶段的最小二乘拟合、频域响应估计或状态空间辨识,都应基于同一份经过质量检查的数据集进行,并在报告中注明试验条件、同步方法和滤波参数。这样得到的飞控模型参数,才既有物理意义,也能在不同飞行架次之间保持稳定。