UKF算法与SVDKF算法性能的比较
2013-05-08董乃铭洪振杰
周 磊,董乃铭,洪振杰
(温州大学 数学与信息科学学院,浙江 温州 325035)
0 引 言
卡尔曼滤波技术是信号处理的理论基础之一,目前,广泛应用的扩展卡尔曼滤波算法(Extended Kalman Filtering,EKF)和基于Unscented的卡尔曼滤波算法(Unscented Kalman Filtering,UKF)都是在经典卡尔曼滤波(Kalman Filtering,KF)的基础上改进而来的。EKF算法是将非线性系统模型在当前的估计值处采用Taylor级数展开近似线性化处理,是一种很好的弱非线性滤波技术,但由于忽略Taylor级数展开式的高阶项,所以系统模型非线性程度较高时,会带来较大误差,造成滤波精度严重降低[1-3];此外,EKF算法在线性化处理时必须采用雅克比(Jacobian)矩阵,这对于一些系统并不适用,如阶跃线性系统和非奇异系统等,而且Jacobian矩阵的计算复杂,会引入人为误差,不利于系统状态的误差估计。Julier提出的UKF算法是根据Unscented变换(UT)和经典卡尔曼滤波相结合得到的一种滤波算法[4]。UKF算法采用确定性采样近似系统状态后验概率密度(PDF),可以避免线性化处理所带来的误差,对于任何非线性系统其估计精度可达到Taylor级数展开的三阶项,而EKF算法最多只能达到二阶项,且不需要计算非线性方程的Jacobian矩阵,比EKF算法具有更好的稳定性;但UKF算法计算sigma样本点需要对样本协方差矩阵进行Cholesky分解,由于协方差矩阵的随机性,在计算过程中会经常遇到病态问题[5-7],从而影响了滤波的性能,甚至导致滤波发散。基于奇异值分解(SVD)的卡尔曼滤波算法(SVDKF)[8-9]在充分吸收UKF算法优点的基础上,利用SVD代替Cholesky分解协方差矩阵产生sigma样本点,能有效抑制状态协方差矩阵的负定性,提高滤波数值的稳定性。
1 UKF算法
1.1 问题描述
UKF算法是在经典卡尔曼滤波算法的基础上改进得到的一种贝叶斯滤波算法。UKF算法以Unscented变换(一种非线性变换)为基础,选择一组sigma样本点集,利用每个sigma样本点,通过Unscented变换后得到样本点的统计量,估计系统状态向量在非线性变换后的均值和协方差,然后再在经典卡尔曼滤波算法的框架下进行递推循环。
UKF算法考虑如下动态系统模型:
其中,xt为系统在t时刻的状态,yt为系统状态的观测;vt-1,wt分别为系统噪声和观测噪声;f(…)为有界的非线性状态转移函数,h(…)为有界观测函数。
贝叶斯估计是在给定观测数据y1:t的基础上递推估计系统的状态向量x1:t,即系统模型后验概率分布p(x1:t|y1:t),尤其是滤波概率分布p(xt|y1:t)。其中,x1:t={x1,x2,…,xt},y1:t={y1,y2,…,yt}。基于滤波概率分布,就可以对系统状态进行优化估计得到系统的各个状态参量,如均值、最大后验概率、置信度区间等。
1.2 UKF算法过程
(1)Cholesky分解。在UKF算法中产生sigma样本点需要运用矩阵Cholesky分解,定义如下:设A∈[aij]∈Rn×n为对称正定矩阵,A=GGT为矩阵A的Cholesky分解。其中G=Rn×n是一个具有正的对角线元素的下三角矩阵,是A的Cholesky分解因子,即A的平方根,记为G=chol(A)。
其中,j=1,2,…,2Na;为方根矩阵的第j列,λ是调整尺度参数,na是状态的维数;α是一个标量,用于控制每个点到均值的距离(尺度,Scaling);β是关于系统先验信息的参数,对于高斯分布β=2最佳;ωi为对应的权值,并且满足。
(3)时间更新。
(4)观测更新。
依此步骤依次递推循环。由此可见,UKF算法的递推过程便于应用,相较于EKF算法无需对非线性的滤波方程进行Jacobian变换,可以有效解决由系统非线性的加剧而引起的滤波发散问题,具有良好的鲁棒性。但在产生sigma样本点过程中需要对样本协方差矩阵进行Cholesky分解求矩阵平方根,如果矩阵P奇异,则不能进行Cholesky分解,迭代计算无法继续进行;此外,Cholesky分解对计算误差很敏感,运算过程中的有限字长或舍入误差会经常使协方差矩阵P失去对称性或正定性,从而产生滤波数值不稳定问题,降低滤波算法的精度。
2 SVDKF算法
为提高计算效率,增强状态协方差矩阵迭代更新等计算过程中的数值稳定性,利用矩阵奇异值分解对扰动不敏感,具有稳定性,sigma样本点协方差矩阵所包含的信息可以被其特征值和特征向量充分描述,从而提出SVDKF算法。
2.1 矩阵奇异值分解
对于一个m×n阶矩阵A,其秩为r,则存在一个m×m阶正交矩阵U和一个n×n阶正交矩阵V,使得
如果ATA正定,则(17)式可简化为:
若A对称正定,则A=USUT,此时左奇异向量与右奇异向量相等,从而可以减少计算量。矩阵奇异值分解是非常稳定的。不管矩阵A是否奇异,奇异值分解都可以进行,并且分解是惟一的,即对于一个给定的矩阵A,只要对角阵∑形式固定,那么正交矩阵U和V就是惟一值。
2.2 SVDKF算法过程
SVDKF算法与UKF算法相似,只是在sigma样本点采样过程中有区别。利用SVD产生sigma样本点的具体过程如下:
(2)产生新的sigma样本点。
其中,sj和Uj分别为第j个特征值和相对应的特征向量;ρ为尺度系数,较为恰当的取值范围是。
3 仿真实验
将SVDKF算法与EKF算法、UKF算法进行比较,采用以下系统模型对SVDKF算法进行仿真实验:
其中,过程噪声服从Gamma分布,vt~Gamma(3,2);观测噪声服从正态分布,nt~N(0,0.00001);(24)式是采用线性和非线性两种不同模型观测系统状态,观测总时间T=60,动态系统模型的状态采用均值估计,即,滤波算法的均方根误差定义为:
对EKF算法、UKF算法和SVDKF算法进行100次独立实验,3种算法均方误差的均值和方差见表1;在一次独立实验中,3种算法的状态估计如图1所示。
表1 EKF算法、UKF算法和SVDKF算法均方误差的均值和方差
图1 EKF算法、UKF算法和SVDKF算法的状态估计
由仿真实验结果可知,在非线性、非高斯场合,SVDKF算法的估计精度高于EKF算法和UKF算法。当0<T<30时,UKF算法和SVDKF算法相较于EKF算法可以获得更好的估计结果;当T≥30时,SVDKF算法和EKF算法都能较好地吻合真实状态,而UKF算法的状态估计结果存在着明显的误差。因此,SVDKF算法的估计效果最为理想。
4 结束语
SVDKF算法结合了矩阵奇异值分解和UKF算法的优点。该算法以SVD代替Cholesky分解协方差矩阵产生sigma样本点,具有良好的数值稳定性和鲁棒性。与UKF算法相比,可以有效避免协方差矩阵求解平方根出现的病态问题,计算相对简单,适用于线性和非线性动态系统的滤波计算,具有更好的滤波性能。
[1]Uhlmann J K.Algorithm for multiple target tracking[J].American Science,1992,80(2):128-141.
[2]Chen Z,Haykin S.Bayesian filtering:From Kalman filters to particle filters,and beyond[R].Adaptive Systems Lab:McMaster University,2003.
[3]Youmin Zhang,Guanzhong Dai,Hongcai Zhang.A SVD-based extended Kalman filter and applications to aircraft flight state and parameter estimation[C]//Proceeding of the American Control Conference.Piscataway:IEEE Press,1994:1809-1813.
[4]Julier S J,Uhlmann J K,Durrant-Whyte H F.A new method for the nonlinear transformation of means and covariances[J].IEEE Transactions on Automatic Control,2000,45(3):477-482.
[5]Liu Bin,Ma Xiao-chuan,Hou Chao-huan.A particle filter using SVD based sampling Kalman filter to obtain the proposal distribution[C]//International Conference on Cybernetics and Intelligent Systems,2008:581-584.
[6]John L Crassidis,F Landis Markley.Unscented Filtering for Spacecraft Attitude Estimation[J].Journal of Gu ldance and Dynamics,2003,26(4):536-542.
[7]Van der Merwe R,Wan E A.The square-root unscented Kalman filter for state and parameter estimation[C]//Proceedings of the International Conference on Acoustics,Speech,and Signal Processing(ICASSP),2001:3461-3464.
[8]Xiaoqin Zhang,Weiming Hu.SVD based Kalman particle filter for robust visual tracking[C]//19th International Conference on Pattern Recognition(ICPR),2008:1-4.
[9]XIE Qiang,TANG He-sheng,DI Yuan.SVD-unscented kalman filter for nonlinear structural system identification[J].Chinese Journal of Applied Mechanics,2008,25(1):57-61.