卡尔曼滤波研究综述
E[W(k)] =0,E[V(k)] =02-2-3
E[W(i)W(j)] =Rδij,
E[V(i)V(j)] =Qδij,
E[W(i)V(j)T] =0
初始状态为
a(0|0) = [ (0|0)T0 0]T2-2-4
状态变量为 a(k |k) = [ (k |k)TV(k |k)TW(k |k)T]T2-2-5
D(k/k) = (E-JkBk)Dx(k/k-1),
Jk= Dx(k/k-1)BTk[BkDx(k/k-1)]BTk+DΔ(k)]-1,
(k/k-1) =Φk,k-1 (k-1/k-1),
Dx(k/k-1) =Φk,k-1Dx(k-1/k-1)ΦTk,k-1+Γk,k-1DΔ(k-1)ΓTk,k-1.1-3
E(Ωk) =0;E(Δk) =0;cov(Ωk,Ωj) = DΩ(k)δkj,
cov(Δk,Δj) = Dk(k)δkj;cov(Ωk,Δj) =0;E(X0) =μx(0)
var(X0) = D(X0);cov(X0,Ωk) =0;cov(X0,Δk) =0.1-2
卡尔曼滤波递推公式为
(k/k) = (k/k-1)+Jk(Lk-Bk (k/k-1)),
更新阶段:
K(k+1) =P(k+1|k)HTk+1(Hk+1P(k+1|k)HTk+1+R(k+1))-12-1-8
(k+1) = (k+1|k)+K(k+1)[L(k+1)- (k+1k)]
P(k+1) = (I-K(k+1)Hk+1)P(k+1|k)(I-K(k+1)Hk+1)T+K(k+1)R(k+1)KT(k+1)
2.3.1多模型AKF
多模型AKF (Multiple Model AKF)最早由Magill在1965年提出的.它由一组卡尔曼滤波器组成,每一个卡尔曼滤波器使用不同的系统模型,各个卡尔曼滤波器并行运行,根据观测向量估计各自的状态 k(αi).其中p(αi|Lk)表示在测量值为Zk的情况下,第i个滤波器的权值.αi表示未知随机变量.多模型估计为 k= k(αi)p(αi|Lk).2-3-1
其中, .这种估计采用了最大似然准则(maximum likelihood),是一种最优无偏估计.有学者不仅估计了Q(k)和R(k),还估计了噪声均值 和 ,对增益矩阵K(k)进行估计,结果如下
2-3-4
第一种方法的适用围更加广泛.因为它不仅估计了噪声的方差阵,而且可以估计噪声的均值.这种情况不仅满足了白噪声序列,而且还能满足有色噪声序列,尤其是在观测噪声是有色噪声的高动态系统中.但是这种估计方法的计算量很大,难以满足系统的实时性要求.第二种方法利用信息直接估计增益矩阵K(k),计算量相对较小.由于这种方法多处出现矩阵求逆计算,实时性和稳定性难以满足要求.另外,这种方法要求系统可观测,而且它仅仅适合白噪声.目前,基于信息的AKF主要是通过调整噪声统计特性达到自适应的目的,解决了因为噪声统计特性不明确或噪声发生变化的情况.但是对于系统其它模型发生变化不能达到自适应的目的,如系统矩阵Φ(k+1, k),Γ(k+1, k), C(k)发生变化。
状态方差为 2-2-6
此时的采样点集变为{χai(k |k), i =0,1,…,2N,N = (n +q+m)},q为Q的维数,m为R的维数,采样点的状态维数变为n+q+m,χxi为χai的前n维组成的列向量,χvi为χai的n+1维到n+q维组成的列向量,χwi为χai的n+q+1维到n+q+m维组成的列向量。
时间更新过程变为
2-2-7
测量更新过程变为:
K(k) =PXL(k |k-1)P-1LL(k |k-1)
(k |k) = (k |k-1) +K(k)(L(k) - (k |k-1))2-2-8
PXX(k |k) =PXX(k |k-1) -K(k)PLL(k |k-1)KT(k)
由于状态是按扩维处理的,Sigma采样点的个数为2(n+q+m) +1,维数为N×(2N+1),而不扩维时,Sigma采样点的个数为2n+1,维数为n×(2n+1),所以,使用扩维计算量上升得比较快,当数据量过大时,耗费的计算时间长。改进的UKF算法就是将过程噪声和测量噪声也包含在采样点集中,二是在时间更新过程中,状态值考虑过程噪声的影响,测量值考虑测量噪声的影响,因此当测量噪声和过程噪声对系统影响较大时,利用UKF算法所得到的X^与真实值之间有较大的误差,而此时改进UKF算法就却能得到更好的滤波结果。
其中 |X(k)= ,
|X(k+1)= (k+1|k)
Q(k)为系统噪声序列V(k)的方差阵,R(k)为测量噪声序列W(k)的方差阵。
2.2扩维无迹卡尔曼滤波
无迹卡尔曼滤波(Unscented Kalman Filter,UKF),它是在以无迹变换(Unscented Transformation,UT)为基础,借用卡尔曼线性滤波框架而建立起来的。它直接利用非线性状态方程来估算状态向量的概率密度函数。但是,简单的UKF在面对系统中的噪声影响较大时不能得到精确的滤波结果,改进的无迹卡尔曼滤波算法则是在初始状态中引入过程噪声和测量噪声,使得采样点也包括了这些噪声,这样在状态预测和更新过程中,噪声的影响就能够在非线性系统中进行传输和估计,使得滤波信号更好地接近真实值,尤其是当信号的系统噪声和观测噪声影响较大时。其算法如下:
AS-EKF也有自己的不足,由于需要对系统进行线性化处理,因此需要计算系统的雅克比矩阵,可是在许多实际情况中,很难得到非线性函数的雅克比矩阵,同时,在面对一个复杂的非线型系统时,EKF实现起来非常困难,尤其是非线性函数Taylor展开式的高阶项无法忽略时,线性化会使系统产生较大的误差,并且易导致滤波器的不稳定。
预测阶段:
(k+1|k)=f( (k),k)+1/2[(▽TP(k) )f(X,k)]|(X= (k))2-1-7
P(k+1|k)=Φk/k-1P(k)ΦTk/k-1+Γ(X(k),k)Q(k)ΓT(X(k),k)
(k+1|k)=h( (k+1|k),k+1)+1/2(▽TP(k+1|k)▽)h(X,k+1)|X= (k+1|k)
3.2扩维无迹卡尔曼滤波
无迹卡尔曼滤波是在以无迹变换(Unscented Transformation,UT)为基础,借用卡尔曼线性滤波框架而建立起来的。它直接利用非线性状态方程来估算状态向量的概率密度函数,相对于EKF的一阶精确,UKF的估计精确度提高到了对高斯பைடு நூலகம்据的三阶精确和对任何非线性的非高斯数据的二阶精确,可处理非加性噪声情况以及离散系统。而且UKF对滤波参数不敏感,鲁棒性强,尤其对复杂的非线性系统,UKF比EKF具有更大的优越性。但是,简单的UKF在面对系统中的噪声影响较大时不能得到精确的滤波结果, 扩维无迹卡尔曼滤波是一种提高精确度的无迹卡尔曼滤波算法,和常规的UKF相比,它有效的降低了噪声的影响
卡尔曼滤波研究综述
1 卡尔曼滤波简介
1.1卡尔曼滤波的由来
1960年卡尔曼发表了用递归方法解决离散数据线性滤波问题的论文-《A New Approach to Linear Filtering and Prediction Problems》(线性滤波与预测问题的新方法),在这篇文章里一种克服了维纳滤波缺点的新方法被提出来,这就是我们今天称之为卡尔曼滤波的方法。卡尔曼滤波应用广泛且功能强大,它可以估计信号的过去和当前状态甚至能估计将来的状态即使并不知道模型的确切性质。
1.2标准卡尔曼滤波-离散线性卡尔曼滤波
为了描述方便我们作以下假设:物理系统的状态转换过程可以描述为一个离散时间的随机过程;系统状态受控制输入的影响;系统状态及观测过程都不可避免受噪声影响;对系统状态是非直接可观测的。在以上假设前提下,得到系统的状体方程和观测方程。
1-1
式中:Xk为状态向量,Lk为观测向量,Φk,k-1为状态转移矩阵,Uk-1为控制向量,一般不考虑,Γk,k-1,Bk为系数矩阵,Ωk-1为系统动态噪声向量,Δk为观测噪声向量,其随机模型为
该滤波基于线性最小方差递推框架,状态X的最小方差估计为
2-1-1
L是观测矩阵,假定状态X的估计值 是观测矩阵L的线性函数,即
2-1-2
得到最优估计和估计误差方差阵的递推方程分别为:
2-1-2 2-1-3
2.1.2近似二阶扩展卡尔曼滤波器的设计
在EKF中,假设非线性函数y=f(X)在状态X的最优估计(预测)值处线性化,即
2.3自适应卡尔曼滤波
传统的滤波限制条件比较苛刻.它要求系统模型精确以及系统误差模型和观测误差模型已知.这在实际应用中是很难满足的,或者在系统工作过程中,模型发生变化,这些都导致传统KF的滤波发散或精度下降。针对此不足,很多学者提出了不同的方法加以克服,其中自适应卡尔曼滤波(以下简称AKF)因为具有自适应特性非常适合动态系统滤波而受到广泛重视,因此在采用卡尔曼滤波处理动态测量数据时,一般都要考虑采取适当的自适应滤波方法来解决这一问题。在此主要介绍AKF的两个最主要的研究方向。
设非线性系统模型为:
X(k) =f(X(k-1)) +V(k-1)2-2-1
L(k) =h(X(k)) +W(k)
其中,X(k)是系统k时刻的n维状态向量,L(k)是系统k时刻的测量向量,f(·),h(·)为非线性变换,过程噪声V(k)和测量噪声W(k)是零均值。方差阵各为Q和R的不相关的高斯白噪声,其统计特性满足:
随着时间的不断增加,系统会选出最优的一个滤波器并将其权值p(αi|Lk)增大,而其它权值相应减小.多模型AKF性能最优的前提条件是所用的模型集包含了系统所有可能的模式,但是这个前提条件往往是很难满足的.模型集的设计是多模型估计中最重要和最困难的事情.在动态系统中,系统模型的不确定性导致模型集的设计更加困难.而且由于p(αi|Lk)难以确定,所以多模型AKF一直处于理论研究阶段.区间分析是一种研究有界区间变化模型的方法,如果将区间分析与多模型结合,那么模型集可以覆盖整个模型变化区间,以利于模型集的设计.这是一个值得期待的研究方向.