互补滤波是什么,怎么使用?

📅 2026/7/5 13:54:59
互补滤波是什么,怎么使用?
一.互补滤波是什么如果让你用一个传感器测出当前板子倾斜了多少度你会选哪个1.选陀螺仪它测的是角速度变化快慢。要得角度必须积分累加。问题来了只要测量有微小误差零偏积分几秒后角度就飞了——短期准长期漂。2.选加速度计它测的是重力分量可直接算出绝对角度。但只要板子一运动震动、加速测量值就被干扰得面目全非——长期稳短期噪。二.互补滤波该怎么用这俩传感器就像“记忆力差但反应快的人”和“反应慢但记性好的人”。互补滤波就是让这俩人合伙干活——平时听反应快的但时不时让记性好的纠偏。三.如何实现互补滤波第一性原理拆解我们要的是一个“干净”的角度估计值 θ^。它必须满足两个基本事实短时间间隔内Δt很小陀螺仪的积分可信度极高。长时间来看角度必须收敛到加速度计计算出的值。推导出“投票机制”设上一次融合出的可靠角度为 θ^t−1θ^t−1​。陀螺仪的建议θgyroθ^t−1ω⋅Δtθgyro​θ^t−1​ω⋅Δt当前建议加速度计的建议θacc当前建议现在我们要给两个建议分配信任权重。设陀螺仪权重为 α加速度计权重为 1−α权重之和必须等于1这是第一性原理。最终公式θ^tα⋅θgyro(1−α)⋅θaccθ^t​α⋅θgyro​(1−α)⋅θacc​极简理解α 就是“偏心程度”。α0.98 表示我98%相信陀螺仪只用2%的力气把结果往加速度计那边拽一拽。把公式转化为“时间常数”工程师才能调参职业进阶给学生讲千万别死记硬背 α。工作中换个 Δt采样周期α 就得重调。要用第一性原理引入物理时间单位——时间常数 TT。核心关系αTTΔtαTΔtT​代入上面的公式θ^t(TTΔt)⋅(θ^t−1ωΔt)(ΔtTΔt)⋅θaccθ^t​(TΔtT​)⋅(θ^t−1​ωΔt)(TΔtΔt​)⋅θacc​可以这样解释TT 就是你设定的“纠错速度”。如果 T1T1 秒意味着如果加速度计告诉我一个新角度我需要花费大约1秒钟的时间让融合结果慢慢“信服”并靠过去。工作场景如果电机震动大把 TT 调大到 1.5~2.0秒过滤噪声如果响应要快把 TT 调到 0.5秒以下。“工作的硬规矩”避免小白踩坑理论知识就上面三行公式但要运用到工作中必须遵守这4条铁律铁律一必须用硬件定时器绝对禁止用delay上面的 Δt 必须极其稳定。必须在固定频率的中断如 10ms 定时器里读取传感器和执行这行公式否则 αα 换算会乱掉。铁律二陀螺仪上电必须“静置校准”第一性原理静止时角速度应为0。上电读取100次求平均把这平均值当成零偏。后续每次读到的角速度都要减去这个零偏再去积分否则神仙也救不了漂移。铁律三加速度计只取“俯仰”和“横滚”加速度计算角度公式是atan2(y,z)。但要告诉学生不要用它算偏航角Yaw因为重力在水平面没有分量水平旋转时加速度计完全无感。偏航必须靠磁力计或GPS。铁律四上机必须“可视化”教学生用串口把融合角度和原始角度都打印到上位机如Serial Plotter。眼睛盯着曲线动态时看跟随性静态时看平稳性调 TT 要看着曲线调不要瞎猜数值。拓展认知别觉得互补滤波Low。第一性原理告诉我们所有高端滤波如卡尔曼的底层逻辑都是“加权融合”。互补滤波是把“噪声方差”固定死了的卡尔曼特例。你做的小车、无人机、平衡台用这个完全够用。如果以后老板让你上卡尔曼你把互补滤波调参的经验迁移过去三天就能搞定。最后一句忘掉那些复杂的推导今天你只要记住动态听陀螺的静态听加速度的TT 控制听谁的“时长”。工作中遇到震动加大 TT遇到滞后减小 TT。久在樊笼里复得返自然。——陶渊明《归园田居·其一》