APP下载

H∞模糊自适应容积卡尔曼滤波

2020-07-28刘胜牛鸿敏张兰勇郭晓杰

哈尔滨工程大学学报 2020年3期
关键词:协方差卡尔曼滤波容积

刘胜,牛鸿敏,张兰勇,郭晓杰

(哈尔滨工程大学 自动化学院,黑龙江 哈尔滨 150001)

在工程设计中,非线性滤波问题普遍存在于信号处理、目标跟踪等领域,对于非线性系统而言,要得到精确的最优解较为困难,需要精确已知系统状态的后验状态分布。传统的线性滤波方法[1]不能满足非线性系统的滤波要求,因此需要对滤波方法进行改进以满足非线性系统滤波要求,提高滤波精度。一般常用的非线性滤波方法包括扩展卡尔曼滤波,无迹卡尔曼滤波和粒子滤波等。

扩展卡尔曼滤波结构简单,易于执行,但是该算法采用一阶泰勒级数对非线性方程进行线性局部近似,因此对于阶段误差较为敏感,对于高阶系统进行线性近似会带来较大的误差[2-4]。无迹卡尔曼滤波采用UT变换,以确定性采样策略逼近非线性系统的状态后验分布,虽然能够减少非线性产生的误差影响[5-6],但其容易受到初始观测误差和参数变化的影响,当系统维数较高时,可能导致滤波发散等现象。粒子滤波以不确定采样方法逼近状态的条件概率密度函数,能够处理任意非线性和非高斯的估计问题,但粒子滤波实现过程中计算量大,不适用于反应速度快的反馈控制系统;并且随着迭代次数的增加,容易产生粒子退化和局部最优的问题。近年来,容积非线性卡尔曼滤波的发展受到广泛的关注[7],为非线性系统的状态估计提供新的实现方式。容积卡尔曼滤波使用容积数值积分原则计算非线性变换后的随机变量的均值和协方差,采用一组等权值的容积点对最优状态的后验分布进行逼近,相比于其他非线性卡尔曼滤波具有更高的非线性逼近性能和估计精度,并且其运行速度快。

标准容积卡尔曼滤波 (cubature Kalman filter, CKF)算法设计需要已知精确的系统模型,然而实际情况下,噪声为非零均值、非高斯噪声,系统往往受到外界环境干扰以及计算机计算字长限制等,不可避免地存在非高斯非零均值的噪声以及系统参数摄动的情况,影响滤波的稳定性和精度。因此,近年来一些学者提出了平方根容积卡尔曼滤波方法[8-9]来避免系统发散,然而其计算复杂,滤波速度受到限制。进而,为了提高滤波系统的鲁棒性,H∞滤波方法被提出[10],H∞滤波基于鲁棒理论设计,对于系统的摄动和未知特性具有一定的鲁棒性,近年来一些学者结合扩展卡尔滤波、无迹卡尔曼滤波应用到电机以及电力系统状态估计等,取得了较好的效果[11-15]。

此外,在实际工程问题中系统的先验噪声统计特性往往不能准确获得,如果直接应用到CKF算法中,将引起较大的误差。为了对未知噪声特性进行估计,噪声统计估值器和基于极大后验估计的方法得到应用[16-18],然而其递推迭代过程计算量大,并且估值器对噪声方差的初始值敏感。模糊自适应通过设计模糊规则,根据估计误差自适应噪声统计特性,其对噪声方差的初值不敏感,并且在存在较大估计误差的情况下,也能实现较好的估计效果[19-20]。

因此,本文提出一种模糊自适应H∞容积卡尔曼滤波方法(H∞Kalman filtering, HCKF),对系统噪声和观测噪声进行实时估计,使得滤波算法对噪声特性具有一定的自适应能力,并且对于系统的模型摄动和不确定噪声具有鲁棒性,提高滤波的收敛速度和稳定性。

1 问题描述

考虑如下非线性动态系统状态方程:

(1)

式中:xk∈Rn为系统的状态估计向量;zk∈Rl为系统的观测输出向量;uk∈Rp为控制输入向量,假设过程噪声wk-1和量测噪声vk相互独立,且均值和方差满足:

(2)

容积卡尔曼滤波算法将非线性滤波归结为求解非线性函数与高斯概率密度乘积的积分问题,并采用一组等权值的2n个容积点对状态后验概率密度进行逼近。使用三阶容积原则获得的基本容积点和所对应的权值:

(3)

(4)

2 H∞的容积卡尔曼滤波

实际生产应用中,非线性系统存在参数摄动、未知输入、观测噪声和系统噪声为非零均值非高斯等情况,从而影响容积卡尔曼滤波性能和稳定性。与传统的卡尔曼滤波最小化误差均方差不同,H∞卡尔曼滤波是基于最小化最大估计误差协方差进行设计的。因此,采用H∞卡尔曼滤波与容积卡尔曼滤波相结合,提高系统对不确定扰动、噪声的鲁棒性和估计精度。H∞容积卡尔曼滤波设计分为以下4个步骤。

1)时间更新。

进行容积点的计算,通过非线性函数进行容积点传播,以及计算预测状态向量和系统协方差矩阵。

初始化系统状态及误差协方差,系统噪声均值和方差,测量噪声均值和方差:

(5)

(6)

设期望获取的观测信息为:

yk=Ckxk

(7)

若Ck=I,则实际获取的观测量为全部状态输出量。根据式(4)产生基本容积点,采用Cholesky方法对协方差进行分解:

Sk-1|k-1=Chol(Pk-1|k-1)

(8)

计算容积点:

(9)

计算通过状态函数传播的容积点:

(10)

计算状态估计值:

(11)

计算估计误差协方差矩阵:

(12)

2)测量更新。

对容积点进行更新,通过量测方程传播容积点,预测观测向量及协方差。

首先对误差协方差进行分解:

(13)

计算更新容积点:

(14)

计算通过量测方程传播的容积点:

(15)

进行量测预测:

i=1,2,…,L

(16)

计算新息的方差矩阵:

(17)

计算估计协方差矩阵:

(18)

3)为了便于进行H∞滤波器设计,将容积卡尔曼滤波通过统计线性化等效为线性回归形式。通过将统计线性化应用于状态方程和测量方程,得到线性化近似形式。

证明:将非线性函数g=σ(y)在L个容积点(χi,ζi)处传递:

ζi=σ(χi),i=1,2,…,L

(19)

设非线性函数通过统计线性化近似为:

g=Ay+B+μ

(20)

(21)

μi=ζi-(Ayi+B)

(22)

对目标函数分别对A、B求导,得:

(23)

得到:

(24)

(25)

从而计算得到估计误差方差阵为:

(26)

(27)

现通过求取期望值以及统计线性模型近似方法求得模型的后验统计规律,即:

(28)

(29)

因此可以得出通过统计线性化推导出的形式与通过容积点传播得到的均值和误差方差相同。

(30)

Fk=(PxX′,k|k-1)T(Pxx,k-1|k-1)-1

(31)

(32)

式中δk-1为统计线性近似误差。

同理对观测方程进行统计等效线性化得到统计回归矩阵:

(33)

(34)

式中εk为统计线性近似误差,用于补偿系统的非线性项:

(35)

4)H∞容积卡尔曼滤波设计。

设计一个滤波器对滤波器估计误差进行限制,保证估计误差有界,在任意wk、vk、x0的情况下,使得观测信息误差最小化,尽量减少估计误差上界。设计滤波器满足:

(36)

(37)

则:

(38)

将式(36)转化为不定式形式:

(39)

进行状态更新:

(40)

(41)

Pxx,k|k-1

(42)

(43)

为了表示误差协方差和调整参数之间的关系,应用矩阵求逆定理将式(42)求逆得到:

(44)

β为调节因子,权衡H∞滤波和最小均方根性能。

为了保证误差方差的正定性,满足:

(45)

(46)

式中eig(·)代表均值的特征值。

噪声协方差矩阵对算法的稳定性有着重要影响。为了保证滤波算法的稳定性,许多学者通过在误差方差和新息方差矩阵中引入附加的正定矩阵[16]:

Qk-1+ΔQk-1

(47)

通过增大Qk来增强稳定性。然而其会增大误差方差阵Pxx,k|k-1,同时增大增益矩阵Kk,影响估计精度。

3 模糊自适应H∞容积卡尔曼滤波

标准的容积卡尔曼滤波需要假设噪声的均值为零,且精确已知噪声统计特性。一般情况下过程噪声和观测噪声的统计特性不易准确获得。较大的Qk-1,可以保证系统的稳定性,但估计精度下降;而Qk-1较小,则会是滤波器不稳定,从而降低滤波性能。因此采用模糊规则对过程噪声和观测噪声进行估计,通过增强对噪声的自适应力来提高滤波精度和收敛速度。

设过程噪声方差和测量噪声方差的模糊自适应律为:

(48)

(49)

(50)

(51)

则自适应H∞容积卡尔曼滤波系统结构图1。

图1 模糊自适应HCKF系统结构Fig.1 The structure of the fuzzy adaptive HCKF system

4 仿真分析

为了验证模糊自适应HCKF算法的有效性,选用以下一般非线性系统进行仿真验证,假设系统的过程噪声和观测噪声不准确,采用标准的CKF和模糊自适应HCKF的算法对系统状态进行估计比较,并验证统计线性化的有效性,从而具有一定的普遍性和适用性。

系统的状态方程为:

x(k)=0.5x(k-1)+8cos(1.2(k-1))+

w(k)+2.5x(k-1)/(1+x2(k-1))

(52)

观测方程为:

z(k)=x2(k)/20+v(k)

(53)

首先对统计线性化算法(30)~(35)的有效性进行验证,系统的噪声统计特性为q=0,r=0,Q=0.06,R=0.01,P0=10。仿真结果如图2、图3所示。

从图2和图3的仿真结果可以得出,通过统计线性化方法对非线性系统的近似可以达到较好的效果,近似值与真实值基本相符,误差较小,因此可以通过统计线性化方法来近似非线性系统,从而进一步进行滤波器的设计研究和分析。

图3 统计线性化近似误差Fig.3 Error of approximation

图2 统计线性化近似Fig.2 Statistical linearization approximation

为了验证模糊自适应HCKF算法的有效性和鲁棒性,分别采用标准的容积卡尔曼滤波及模糊自适应HCKF滤波方法在以下2种情况下进行仿真实验。

Case1:q=0,r=0,Q=0.06,R=0.01。

Case2:q=0.4,r=0.2,Q=0.06,R=0.01。

Case3:q=0.4,r=0,Q=0.06,R=0.01。

Case4:q=0,r=0.2,Q=0.06,R=0.01。

实际的噪声协方差为Qe=0.05,Ra=0.01,采用模糊自适应算法对噪声协方差进行估计。由于篇幅限制,本文仅给出Case1和Case2的结果仿真图。Case1,Case2,Case3和Case4的仿真误差统计结果在表中给出,以进行结果对比,得出相关结论。

在Case 1 情况下对系统的状态进行估计比较,在CKF和模糊自适应HCKF 2种算法下的估计结果和估计误差如图4、图5所示。

图4 Case 1情况下不同滤波方法估计Fig.4 Estimation of different filtering method of Case 1

图5 Case 1情况下不同滤波方法的估计误差Fig.5 The estimation error of different filtering method of Case 1

在Case 2 情况下对系统的状态进行估计,在CKF和模糊自适应HCKF这2种算法下的估计结果和估计误差如图6及图7所示。

图6 Case 2情况下不同滤波方法估计Fig.6 Estimation of different filtering method of Case 2

图7 Case 2情况下不同滤波方法的估计误差Fig.7 The estimation error of different filtering method of Case 2

从仿真结果图3~图6研究中可以发现当系统噪声和观测噪声均值为零时,模糊自适应HCKF和CKF 算法的估计效果相当,估计误差均值和均方差相差较少,都能较好的估计系统的状态值;当系统噪声和观测噪声均值不为零时,模糊自适应HCKF 的估计效果优于CKF。

为了便于更精确的比较2种算法的估计结果,本文分别对2种算法的误差均值和误差均方差值进行计算和比较,统计结果如表1所示。

(54)

(55)

由表1和表2可知,在分别存在系统噪声、观测噪声以及同时存在系统噪声和观测噪声的情况下,HCKF误差均值和均方根值小于标准容积卡尔曼,因而提出的HCKF滤波方法能够有效的减少噪声产生的影响,在存在非零均值噪声情况下具有一定的鲁棒性和较高的估计精度,并且在噪声统计特性不准确的情况下,模糊自适应可以有效的估计不准确的噪声协方差,提高估计效率和收敛速度,防止滤波发散。

表1 Case 1和Case 2的估计误差及均方差Table 1 The AVE and RMSE of Case 1and Case 2

表2 Case 3和Case 4的估计误差及均方差Table 2 The AVE and RMSE of Case 3 and Case 4

5 结论

1)在滤波过程中,在存在噪声统计特性不准确及非零均值噪声协方差的情况下,与标准的容积卡尔曼滤波相比,本文提出模糊自适应HCKF能够更好的估计非线性系统的状态值,具有较高的估计精度和鲁棒性。

2)提出的模糊自适应规则能够较好的估计不准确的噪声协方差,从而避免滤波发散,提高收敛速度。

3)本文提出的滤波方法可以较好地推广到任意非线性系统,应用广泛,具有一定的工程应用价值。

猜你喜欢

协方差卡尔曼滤波容积
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
怎样求酱油瓶的容积
脉冲星方位误差估计的两步卡尔曼滤波算法
高效秩-μ更新自动协方差矩阵自适应演化策略
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
基于子集重采样的高维资产组合的构建
用于检验散斑协方差矩阵估计性能的白化度评价方法
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
巧求容积
二维随机变量边缘分布函数的教学探索