2.2 无迹Kalman滤波算法
Julier等人提出的针对非线性系统的无迹Kalman滤波算法(Unscented Kalman Filter,UKF)[104],是以UT变换为基础,在LMS估计准则下的Kalman线性滤波结构的非线性滤波器。相对于EKF和PF,UKF算法优点如下:
(1)UKF算法不必计算Jacobian矩阵,也不用对非线性系统状态函数f(x(k),k)逼近,所以可以处理不可导的非线性函数;
(2)预测阶段只是线性代数运算;
(3)UKF估计的均值和方差可达到Taylor级数的4阶精度,故滤波精度高于EKF,对于n维系统,计算量为O(n3);
(4)系统函数f(x(k),k)可以不连续。
系统模型的非线性越复杂,UKF比EKF就越具有优越性。UKF算法基于上述优点,在许多领域得到了广泛应用[113-114]。
2.2.1 UKF滤波算法原理
因为考虑的是非线性系统的滤波问题,状态预报和观测预报不容易获得,但是这两项对非线性滤波系统的性能起着至关重要的作用。UKF算法的核心和基础是UT变换,UT变换是用固定数量的参数值近似一个Gauss分布,其实现原理为:在原先分布中按某一规则取一些点,使这些点的均值和协方差分布与原状态分布的均值和协方差相等;将这些点代入非线性函数中,相应得到非线性函数值点集,通过这些点集可求取变换的均值和协方差。UT变换示意图如图2-2所示。
图2-2 UT变换示意图
因此可以选择一组Sigma点集{χi},该点集满足均值为,方差为Pxx。将上述Sigma的点集进行UT变换,得到变换后的点集{zi},其统计信息为:均值为,方差为Pzz。选取变换z=f(x),由统计量和Pzz,得到P(k+1|k)、Pzz(k+1|k)、Pxz(k+1|k)等信息。具体步骤如下:
(1)根据系统状态x的统计量和Pxx选取一组Sigma点集{χi},i=1,2,…,点集内每个Sigma点的权值为和,其中用来计算变换均值,用来计算变换协方差。
(2)对选取的Sigma点集{χi},i=1,2,…,进行非线性UT变换得到zi=f(χi),则点集{zi}的统计量和Pzz可由下式计算
文献[11]和文献[145]等证明了当噪声为Gauss分布时,利用UT变换方法得到的非线性函数的统计量精度达到Taylor级数展开式的4阶。
UT变换的特点如下:
(1)UT变换是对非线性函数的概率密度分布进行近似,而不是对非线性函数进行近似,所以如果系统的模型复杂,算法实现的难度不会增加。
(2)非线性函数统计量的精度至少达到2阶,如果采用Taylor展开,精度可以达到3阶,如果采用特殊的采样策略,例如Gauss分布4阶采样和偏度采样等可达到更高阶精度。
(3)计算量与EKF同阶。对于n维系统,计算量为O(n3)。
(4)UT变换不需要计算Jacobian矩阵,所以可以处理不可导的非线性函数。
2.2.2 Sigma点采样策略
经过以上叙述,实现UKF滤波器最重要的就是确定Sigma点采样策略。目前已有的Sigma点采样策略有对称采样[94]、单形采样[108]等基本采样策略。为了保证输出变量y的协方差矩阵的半正定性,提出了对上述两种基本采样策略进行比例修正[146]。
1.对称采样
在状态x的均值和方差Pxx一致的情况下,由2n+1个对称Sigma采样点近似和Pxx,得到条件函数g[{χi},px(x)],其中px(x)为x的密度函数,令其等于零,得到
可得Sigma点为
对应权值计算为
式中,为(n+κ)Pxx的平方根矩阵的第i行或列,可使用Cholesky分解进行计算。在对称采样中,从Sigma点的分布可以看到,Sigma点是空间中心对称和轴对称的,而且除中心点外,其他Sigma点的权值相同。对称采样确保任意分布的统计量近似精度达到Taylor展开式2阶截断。对于Gauss分布,可达到Taylor展开式3阶截断。κ为比例参数,可用于调节Sigma点和的距离,一般来说,当服从Gauss分布时,一般选取n+κ=3 [11],[145]。
2.单形采样
在对称采样中,Sigma点的个数为2n+1,如果系统的维数较高,对称采样会带来巨大的计算负担,所以应进一步减少Sigma点的数量。根据文献[107]的分析,对于一个n维分布的状态空间,最少需要n+1个点才能确定。为了减轻计算负担,在单形采样策略中,选取Sigma点的个数为n+2。在单形采样策略中,Sigma点的分布不是中心对称的。单形采样策略分为两种:最小偏度单形采样[107]和超球体单形采样[147]。
最小偏度单形采样是在保证匹配前两阶矩的前提下,3阶矩最小。根据这一要求,代入前面所给出的Sigma点,采样策略依据式(2-114),求得Sigma点集和权值如下所示。
(1)选择0≤W0 <1。
(2)Sigma点权值
(3)当系统状态维数为1时,初始向量由下式迭代
(4)当系统状态维数为j=2,…,n时,迭代式为
(5)在Sigma点中加入状态x的统计信息均值和协方差,得到
在最小偏度单形采样策略中,所选择的Sigma点的权值和到中心点的距离都是不同的,即每个Sigma点的重要性是不同的,第n维是第n-1维的倍。高维直接形成的Sigma点的权值比低维扩维形成的Sigma点的权值小,而距离中心点更远。当系统维数较大时,有些Sigma点的权值会变得很小,到中心点的距离很远,因而会造成部分信息丢失,降低粒子拟合精度。为使单形采样适应高维系统的要求,提出超球体单形采样[147]。
超球体单形采样策略要求与系统Taylor级数展开式前2阶矩匹配,但要求Sigma点权值相同(中心点除外),并且到中心点距离都相同。将该条件代入Sigma点采样策略依据式(2-114),可确定Sigma点集和权值如下所示。
(1)选择0≤W0 <1。
(2)Sigma点权值
(3)当系统状态维数为1时,初始向量由下式迭代
(4)当系统状态维数为j=2,…,n时,迭代式为
(5)在Sigma点中加入状态x的统计信息均值和协方差,得到
在超球体单形采样中,除中心点之外的所有Sigma点的权值都是相同的,并且这些Sigma点到中心点的距离是相同的,说明这些Sigma点的重要性是相同的。采用超球体单形采样,由于Sigma点集和权值在推导过程中是以系统Taylor级数展开前两阶进行的,因此所得到的Sigma点的均值和方差都可以达到Taylor级数展开式的两阶精度,而且它的计算量要比所有其他的采样方式要小。
由式(2-118)和式(2-122)可以看出,当系统状态维数为1时,最小偏度采样和超球体采样的Sigma点分布是相同的。
3.比例修正
上面各类采样中,当系统维数增加时,除中心点外的各个Sigma点到中心点的距离会越来越远,产生采样的非局部效应。虽然可以通过式(2-116)中的κ进行调解,但是在约束条件n+κ=3下,当系统维数n>3时,有κ<0,从而引起W0 <0和用其计算出的修正方差产生半正定的情形。为了解决此类问题,Julier等人在文献[146]中提出了比例修正方案。该方案可与各类基本采样策略(对称采样、单形采样)相结合,可有效地解决采样非局部效应问题。比例采样修正算法如下:
式中,α为比例缩放因子,要求α>0,可用于调整每个Sigma点(中心点除外)到中心点的距离。β≥0为非线性函数f(·)的先验分布信息参数,当f(·)中随机项为Gauss分布时,一般取β=2 [148]。
将比例修正算法和对称采样相结合,得到比例对称采样,即计算Sigma点为
式中,λ=α2(n+κ)-n,κ是比例参数,一般取值为0或3-n,β=2。
对式(2-1)和式(2-2)所确定的系统,由于系统噪声和观测噪声为加性噪声,故采用简化的UKF算法[94]。基于传感器观测z(0)~z(k)的Sigma采样点计算为
其中,初值条件为
2.2.3 UKF滤波算法
对式(2-1)和式(2-2)所确定的系统,在选择采样策略之后,UKF滤波器可分为两部分完成。
1.预测方程
2.更新方程