先放代码
几种滤波算法相比,卡尔曼滤波明显复杂的多,计算量增大不少,现在的程序运算+取样部分已经达到30ms左右,不知道会不会受到限制,这个先不讨论了。
从曲线上看,平滑效果最好的是二阶互补滤波,但是由于K取值较小,收敛速度比较差;
卡尔曼滤波不负众望,收敛速度和滤波效果平衡得很好,或许Q_omega还可以尝试更小的值;
一阶互补滤波效果最差,但是响应还是很灵敏,K值应该还有减小的空间,而且它的运算非常简单,对采样时间几乎不构成什么影响。
三种滤波算法都可以通过调整参数得到更均衡的滤波效果,我想请教的是在这样一个没有理想曲线的情况下,有没有一个定量的方法来判定滤波特性的好坏?还是只能根据实际要求来尝试得到一个平衡值?又或对于自平衡小车和四轴飞行器,有各自的经验曲线?
|