真实世界里的信号从来不干净。它带着电源纹波、机械振动、温漂,以及一些在实验桌上很难被提前想象的偶然误差。课堂上的波形是一条明确的线,传感器给出的却更像一段需要被理解的叙述。

从观察开始

第一次调试时,我习惯立刻寻找合适的滤波器。后来才发现,比选择算法更重要的是先回答三个问题:噪声从哪里来、它出现在哪个时间尺度、系统真正关心的变化是什么。

滤波不是让曲线变得好看,而是保留对任务有意义的信息。

我会先保存未经处理的原始数据,再分别观察时域波形和频率分布。这样做虽然慢,却能避免把真实事件误判成异常值。

一条简单但可靠的处理链

目前使用的处理流程保持得很克制:

  1. 检查采样时间戳,排除通信造成的跳点;
  2. 用滑动中位数处理孤立脉冲;
  3. 根据系统带宽设计低通滤波;
  4. 将滤波前后的信号同时保存,方便复盘。
raw sample → timestamp check → median filter → low-pass → fused state

当数据需要进入融合模块时,我更关注延迟是否稳定,而不是单独追求曲线平滑。一个看起来漂亮、却落后真实运动几十毫秒的信号,可能比带有轻微噪声的实时信号更危险。

记录仍在继续

这套方法并不复杂,但它让我逐渐把“调参数”转变为“建立证据”。下一步会把不同运动状态下的误差分开统计,并记录每次参数修改的理由。