【20210728】【信号处理】Alpha-Beta滤波——一种状态估计的方法

一、背景

        目前较为熟悉的状态估计方法有:卡尔曼滤波、扩展卡尔曼滤波、无迹卡尔曼滤波、粒子滤波、交互式多模型粒子滤波算法,工作中遇到一个杂波估计方法,使用了 α 滤波,一时感到陌生,所以记录了这篇学习笔记。

        卡尔曼滤波算法分为预测、更新两步,有五大公式,我常参考:卡尔曼滤波五个公式各个参数的意义

        卡尔曼滤波只适用于线性、高斯系统。扩展卡尔曼滤波、无迹卡尔曼滤波旨在解决 KF 算法不能用在非线性系统中的问题。粒子滤波算法没有系统限制,可以适用于任何系统。

        EKF 算法是对系统动态方程进行一阶泰勒展开,并保留一阶项,这样就实现了非线性到线性的转变。EKF 算法需要计算动态方程转移函数的雅可比矩阵,计算较复杂;

        UKF 算法是对一系列离散点进行无迹变换,再将样本点带入到状态方程、观测方程,以此实现非线性到线性的转换;

        PF 算法首先在检测空间中随即撒点,基于后验分布对粒子的权重进行动态调整,所有粒子的加权和是最终的状态估计结果。

        (参考:KF与无迹卡尔曼滤波详解)

        (参考:概率机器人——扩展卡尔曼滤波、无迹卡尔曼滤波)


二、α-β 滤波

        (参考:alpha-beta filter αβ滤波器)

1. α-β 滤波

        α-β 滤波也是一种用于状态估计、数据平滑的滤波器,相较于 KF 算法,α-β 滤波最突出的优势是它不依赖于系统的具体模型,因此使用起来更加简单。α-β 滤波最大的缺点是滤波性能十分依赖于α、β 参数。好在,α-β 滤波的稳定性比较好,虽然有时得不到很好的滤波效果,但是不至于导致发散。

        α、β 参数需要花一定的时间调试, α、β 参数越大,滤波会更快,但噪声也会增大; α、β 参数越小,滤波后的值更平滑,但更耗时。为了保证系统的稳定性, α、β 参数的值必须是一个正值且很小,一般情况下满足下式:

 滤波步骤:

        假设一个二阶状态模型,例如进行匀速直线运动的车辆的速度 v,位置 p,观测与一阶对应,即位置 p。那么,小车的状态方程是:

        测量值和预测值之间的残差(或新息)为:

         α-β 滤波选定 α、β 参数,使用残差 r 的 α 倍来校正位置估计,使用残差 r 的 β/T 倍来校正速度估计。其中,  β/T 是归一化后的  β,即:

         这样理解:可以将上述的校正视为沿着梯度下降方向调整的一小步,随着不断调整,误差会逐渐减小。

        滤波参数的选择:使用下式计算 α、β 参数,会使误差的方差最小化。

   2. 滤波器的其他变种 —— α 滤波

        α 滤波器只有一个状态量:

        最优参数为:

你可能感兴趣的:(信号处理,信号处理)