UKF备忘录

来源:互联网 发布:黑界扣字滚刀软件 编辑:程序博客网 时间:2024/04/30 03:58

      可能是由于复杂一些了吧,好像使用UKF的人不是很多。

      EKF虽然应用于非线性状态估计系统中已经得到了学术界认可并为人广泛使用,然而该种方法也带来了两个缺点:(1)当强非线性时EKF违背局部线性假设,Taylor展开式中被忽略的高阶项带来大的误差时,EKF算法可能会使滤波发散;(2)由于EKF在线性化处理时需要用雅克比(Jacobian)矩阵,其繁琐的计算过程导致该方法实现相对困难。所以,在满足线性系统、高斯白噪声、所有随机变量服从高斯(Gaussian)分布这3个假设条件时,EKF是最小方差准则下的次优滤波器,其性能依赖于局部非线性度。

      针对以上EKF的缺点,UKF(Unscented Kalman Filter)诞生了。与EKF 一样,UKF 是一种回归最小均方误差估计器。与EKF 不同的是,UKF 不对非线性状态和测量方程进行线性化,而是对状态向量的概率密度函数进行近似。

      UKF 是在UT变换(Unscented Transform)(翻译过来有的叫“不敏”,有的叫“无迹”,有的叫“无味”,有的叫“无芳香”,我干脆就“无翻译”了)的基础上建立的。UT是基于这样的思想,即用固定数量的参数去近似一个高斯分布比近似任意的非线性函数或变换更容易。其实现原理为:在原先状态分布中按某一规则取一些点,使这些点的均值和协方差等于原状态分布的均值和协方差;将这些点代入非线性函数中,相应得到非线性函数值点集,通过这些点集求取变换后的均值和协方差。由于这样得到的函数值没有经过线性化、没有忽略其高阶项,因而由此得到的均值和协方差的估计比EKF 方法的要精确。

      状态滤波的实质就是找到后验概率密度函数的均值和协方差。假设状态服从高斯分布,用UKF求解非线性滤波问题的本质就是在假设先验分布为Gaussian分布,且已知其均值和协方差的情况下,求经历了一次非线性变换后的后验概率密度的均值和协方差。UKF 与EKF 一样,使用的是标准Kalman 滤波器的框架,但是实现原理不同。EKF 是通过线性化非线性函数实现递推滤波,而UKF 是通过上述的UT算法使非线性系统方程适用于线性假设下的标准Kalman 滤波体系。

      (这里省略UKF的实现过程,主要是利用KF的框架,只是在估计其后验概率时利用对样本点的均值和协方差矩阵进行不断地更新的方法。由于我自己也没有用过,弄得不是太懂,也不想太关注,再加上这段时间有点小忙,再加上我自己也懒得去理解[貌似这个是最主要的原因],就不详写了,如果以后需要的时候再回头过来看吧)

      采用UKF的计算量要比采用EKF大。所以,在系统线性误差不大,且系统的线性化模型比较容易获得的情况下,比较适合采取EKF 算法;而在系统线性误差比较大的情况下,EKF 已无法保证良好的估计性能,并且不易得到线性化模型时,此时宜采取UKF 算法。

原创粉丝点击