卡尔曼滤波器和FIR滤波器两个选项。哪个最好?

问题:

在配置惯性测量单元(IMU)时,我看到了抽取FIR滤波器和Kalman滤波器两个选项。哪种最好?

RAQ:  Issue 127

答案:

每个滤波器选项在IMU内提供截然不同的功能。它们的运行在极大程度上是相互独立的。其使用取决于终端系统的要求。让我们更深入地了解其细节,以及它们如何应用于传感器系统。

抽取与有限脉冲响应(FIR)滤波器配合使用,是一种降低IMU全输入带宽的方法,目的是仅聚焦于一个较窄的低通活动频段。这对于有许多旋转和加速频率运动,但其中只有一部分需要在传感器内观测的系统特别有用。此外,任何不必要的或被忽略的更高频活动都有可能混叠回到目标频段中,而不会被FIR带通滤波器抑制。

当不需要传感器的全部带宽时,FIR滤波器最有价值。相反,如果目标频段是低通区域中的已知信号频率带宽,则可以滤除不需要的信号。例如,一个系统的目标旋转频率可能仅在20 Hz到50 Hz之间。虽然可能会检测到其他更高频率的噪声,但IMU中的测量不需要担心。图1所示为利用抽取和FIR滤波器选项B以16的系数对全带宽进行低通滤波的方法。

 

图1.ADIS16480的FIR滤波器响应(左)和B滤波器的使用示例(右)可滤除不需要的信号以聚焦于低通目标频率带宽。

卡尔曼滤波器以电气工程师及其共同发明人Rudolf Kálmán的名字命名,具有不同于抽取和FIR滤波器组合的优势。实际上,描述卡尔曼滤波器的"滤波器"一词可能有点用词不当。它其实更类似于"递归估计器"。在预测位置比未经滤波的高噪声解决方案(可能有位置误差)更有用的系统中,卡尔曼滤波器最有价值。卡尔曼滤波器利用IMU中的所有传感器轴贡献来估计方位角。

虽然比单个方程要复杂得多,但我们可以简化这里的使用案例,舍去状态矩阵,这样便可得到下面的数学方程:

  Xk = Kk × Zk + (1 – Kk) × Xk–1

    Xk = 当前估计值

    Kk = 卡尔曼增益

    Zk = 实测值

    Xk–1 = 前一估计值

我们可以把每个k看作各传感器轴输出的离散时间间隔或样本。新的最佳估计是从前一最佳估计得到的预测值,加上已知外部影响的增益校正权重。初始卡尔曼增益或协方差系数用在IMU寄存器设置中,以建立Isensor输出矢量之间的期望相关性。IMU中使用的最优协方差值常常依赖于特定观测。因此,它可能是一个测量、观察数据、分析、调整和重复的迭代过程。ADIS16480内置算法,使用创新残差,可以实时自适应调整协方差项。

图2.卡尔曼滤波器模型示例,两个变量——本例中为速度和位置——具有某种程度的相关性。当前位置可以根据前一位置、IMU的实测加速度值及二者相关性的协方差权重来估计。

作者

Ian-Beavers-blue

Ian Beavers

Ian Beavers是ADI公司(美国北卡罗来纳州格林斯博罗)高速模数转换器团队的应用工程师。他于1999年加入公司。他拥有超过18年的半导体行业工作经验。他于美国北卡罗来纳州立大学获得电气工程学士学位和北卡罗来纳大学格林斯博罗分校MBA学位。他是EngineerZone®高速ADC支持社区的会员。如有任何问题,请到ADI公司EngineerZone在线技术支持社区发送给IanB。