将此理论推广到到非线性系统,结合扩展卡尔曼滤波算法,得到如下非线性强跟踪自适应滤波算法[3]:
(5)
该算法对滤波器估计误差验前协方差矩阵加权处理,增强量测信息的修正作用可以抑制滤波器的发散。通常的卡尔曼滤波器在初始的前几步递推计算中,由于初始条件不准确,所得的计算值非常粗略。经过几次递推计算后,由于很大,滤波器得以充分利用量测信息对估计值加以较强的修正,使得估计值比较接近被估计的状态变量。这一阶段结束后,逐渐减小,量测信息对估计值的影响逐渐减弱,因而造成滤波发散现象。如果人为的采取某些加权处理措施,使不致很快衰减或保持在某个数值水平,可使量测信息继续具有修正作用,就能起到抑制滤波发散的作用。
3.2非线性Sage-Husa自适应滤波
最优卡尔曼滤波器要求精确已知系统的模型(包括噪声统计),然而在许多实际应用问题中模型常常是近似的、带有未知误差的。这种未知的模型误差叫做未建模动态,它是相对于假设存在系统的一个精确的模型而言的。带未建模动态的系统的自适应卡尔曼滤波器称为鲁卡尔曼滤波是由卡尔曼(Rudolf E.Kalman)提出的数学估计。其原理是从包含随机噪声的陈旧量测量中提取被估计量信息和真实量测量。卡尔曼滤波理论作为一种最重要的最优估计理论被广泛应用于各种领域,组合导航系统的设计是其成功应用的一个最主要方面。
工程实践中所遇到的物理系统数学模型则往往是非线性的,即系统方程是非线性的,或系统方程和量测方程均是非线性的。例如:飞机和舰船上的惯导系统、导弹的制导系统以及其他很多工业控制系统等,都是非线性系统。而在理论上还很难找到一种严格的递推滤波方程。通常,都是用近似方法解决非线性滤波问题。近似方法很多,目前应用比较广泛的近似方法是非线性滤波的“线性化”方法。因此,对非线性系统模型的线性化,成了卡尔曼滤波理论能否应用于非线性系统的关键。
1.扩展卡尔曼滤波
扩展卡尔曼滤波的基本原理是将非线性系统线性化,然后用线性系统常规卡尔曼滤波器解决非线性系统状态估计问题。
考虑如下非线性连续系统:
(1)
求得的状态最优滤波值,将离散型非线性广义卡尔曼滤波方程归纳如下[3]:
(2)
其中:
2.非线性卡尔曼滤波发散原因分析
在应用卡尔曼滤波器有时会出现这样一种现象:当量测值数目不断增大时,按滤波方程计算的估计均方误差趋于零或趋于某一稳态值,估计值相对实际的被估计值的偏差却越来越大,使滤波器逐渐失去估计作用,这种现象称为滤波器的发散。可以证明:即使理论上证明卡尔曼是渐进稳定的,并不能保证滤波器算法在实际上具有收敛性,引起滤波器发散的主要原因有以下几点:
(1)描述系统动力学特性的数学模型不准确
为了保证卡尔曼滤波器是线性的,在系统中通常采用间接法把系统的误差作为状态。实际的误差是相当复杂的,为了简化设计,减小运算量,一般都采用次优滤波器算法,忽略一些次要的误差状态,所有这些造成滤波器的模型不能真实的反映物理过程,使模型与获得的量测值不匹配。
(2)缺乏对噪声模型的完整了解,导致噪声统计特性描述不准确
这一问题对捷联惯导系统尤为明显,因为捷联惯导系统的惯性仪表是直接与基座固联的,动态环境恶劣,导致噪声模型具有不确定性。
(3)数字计算机的计算误差
卡尔曼滤波是递推过程,随着滤波步数的增加,舍入误差逐渐积累。如果计算机字长不够长,这种积累误差有可能使估计的均方差阵失去非负定性甚至失去对成形,使增益阵的计算值逐渐失去合适的加权作用而导致发散。这种由计算的舍入误差积累引起的滤波器发散称为计算机发散。
(4) 非线性推广卡尔曼滤波原理误差
非线性推广卡尔曼滤波的效果与初始估计误差密切相关,过大的初始误差,会造成滤波的发散;推广卡尔曼滤波不是最佳滤波器,不能保证滤波的稳定,因此在运行中应当加以检验,检验新息偏离白噪声的程度,当检验量不超过某个门限时,认为滤波器工作正常;状态方程和测量方程是近似模型,不满足线性无偏最小方差条件,而是近似最优,所以推广卡尔曼滤波只是一种次优滤波器;如果实际应用中系统噪声方差阵和观测噪声方差阵事先不知道,状态转移矩阵或测量矩阵也不能确切知道,若根据不确切的模型进行滤波就可能会引起滤波发散。即使开始模型选择的比较符合实际,但在非平稳运行过程中,模型存在摄动,、或、也会发生变化。
3. 非线性卡尔曼滤波抑制发散方法
3.1非线性强跟踪自适应滤波器
当系统模型不准确时,新量测值对估计值的修正作用下降,陈旧量测值的修正作用相对上升是引发滤波发散的一个重要原因。因此逐渐减小陈旧量测值的权重,相应的增大新量测值的权重,这是扼制滤波发散的一个可行途径,强跟踪自适应滤波是通过这种途径扼制滤波发散的一种次优滤波方法[3]。
设线性系统的状态模型与量测模型方程分别为:
(3)
式中和都是零均值白噪声,方差阵分别为和,初始状态的统计特性,,其中三者互不相关。
下面建立的强跟踪自适应滤波方程组。
和是定量描述和中有用信息含量的信息质量标志,卡尔曼滤波在估计是(为当前时刻)能根据这些信息质量标志自动的确定出对和的利用程度。可见要减小及对的影响,可通过增大及值来实现。因此,为要建立系统的强跟踪滤波方程,可先修改噪声的统计模型。
量测噪声的统计特性取为:
(4)
式(4)有着明确的物理意义:为从量测值到的线性组合。因此,从到所有量测噪声的协方差矩阵都将进入状态向量的最优估计值。为了在时刻估计值中充分利用时刻的量测值,必须提高所有过去量测值中量测噪声协方差阵的加权系数。具体的讲,某一时刻离时刻越远,则在中,相应于时刻的量测噪声协方差阵的加权系数就越大()。又由于增益阵与的变化趋势相反,所以离时刻越远的量测值,在中所给予的权重就越小,这就是强跟踪滤波存在的理论基础,为衰减因子。
棒卡尔曼滤波器,具有重要的工程应用价值。未建模动态可能来源于:对系统的激励没有完全掌握,或由于简化模型带来的未知模型误差(例如线性化处理、近似解耦处理、截尾处理等),或由于系统(过程)的时变性引起模型参数和噪声统计的未知漂移。