UKF无迹卡尔曼滤波

UKF无迹卡尔曼滤波是在卡尔曼滤波和变换的基础上发展而来的,它是利用无损变换使线性假设下的卡尔曼滤波应用于非线性系统。

之前提到的EKF算法简单易操作,在工业中有广泛的应用。但是它也存在很多缺点:需要计算非线性模型的雅克比矩阵,计算大,易出错,难得到;忽略高阶项,估计精度大受影响;模型不确定性的鲁棒性很差;在系统达到平稳状态时,将丧失对突变状态的跟踪能力;如果系统的误差传播函数不能很好的用线性函数来逼近,可能会导致滤波器发散。

UT就是针对EKF算法的缺点提出的,UT的主要思想是“近似概率分布要比近似非线性函数更容易”。UT变换计算均值和协方差,通过含有均值和协方差的确定的点集(称作sigma points)来近似概率分布,通过系统的非线性模型,产生繁衍的sigma point,经过选择合适的权值估计均值和协方差。避免了求解雅克比矩阵。这种方法把系统当作“黑盒”来处理,因而不依赖于非线性的具体形式。UKF和EKF计算复杂度相当,但是UKF具有更高的估计精度,满足了具有各种特殊要求的非线性滤波和控制方面的应用,在实现上也比EKF更为简单。

UT变换是用固定数量的参数去近似一个高斯分布,其实现原理为:在原先分布中按某一规则取一些点,使这些点的均值和协方差与原状态分布的均值和协方差相等;将这些点代入非线性函数中,相应得到非线性函数值点集,通过这些点集可求取变换的均值和协方差。对任何一种非线性系统,当高斯型状态微量经由非线性系统进行传递,进而利用这组采样点能获取精确到三阶矩的后验均值和协方差。

UT变换的特点是对非线性函数的概率密度分布进行近似,而不是对非线性函数进行近似,即使系统模型复杂,也不增加算法实现的难度;而且所得到的非线性函数的统计量的准确性可以达到三阶;除此之外,它不需要计算雅可比矩阵,可以处理不可导非线性函数。

UT变换基本原理如下:假设一个非线性系统y=f(x),其中x为n维状态向量,并已知其平均值为,方差为,则可以经过UT变换构造2n+1个Sigma点,同时构造相应的权值,进而得到y的统计特性。

 

UKF无迹卡尔曼滤波_第1张图片

其中是比例因子。 表示矩阵方根的第i列。

周围Sigma点的分布状态由决定,调节可以降低高阶项的影响,通常设为一个较小的正数,这里选取的取值没有具体设定限制,但至少应当保证矩阵为半正定矩阵,通常设置,另外应为非负数。状态分布参数,通过设置,可以提高方差的精度。对于高斯分布,是最优的。是矩阵的第i列(当时,取A的第i行;当时,取A的第i列。)

则通过以下公式可得到y的均值和方差:

UKF无迹卡尔曼滤波_第2张图片

UKF可以看作是基于UT技术的卡尔曼滤波器,在卡尔曼滤波算法中,对于一步预测方程,使用UT变换来处理均值和协方差的非线性传递。UKF是对非线性函数的概率密度分布进行近似,用一系列确定样本来逼近状态的后验概率密度,而不是对非线性函数进行近似,不需要求导计算雅可比矩阵。对非线性系统,UKF具有更高的精度和稳定性。但是其参数选择问题没有得到完全解决,而且滤波效果与EKF算法一样也受到滤波初值的影响。

 

代码实现(MATLAB):

基于距离的目标跟踪算法

 

EKF扩展卡尔曼滤波器介绍:

扩展卡尔曼滤波器(EKF)

卡尔曼滤波器介绍:

卡尔曼滤波器知识整理

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