第1章 绪论
1.1 选题背景与意义
“状态估计”是通过系统外部的测量输出数据,对系统的内部状态结构进行描述的过程。在过去的几十年里,状态估计问题几乎存在于工业、军事、金融业等各个领域中,且已在自动驾驶[1, 2]、参数估计[3, 4]、系统识别[5, 6]、目标跟踪[7]、航空航天等领域得到广泛应用[8]。现有的滤波方法大多针对线性或者一般非线性系统,但是随着工业模型越来越趋向智能化发展,系统模型本身的复杂性也在逐渐增加,现有的滤波方法难以实现对状态变量的有效估计,从而导致灾难问题的发生[9-11]。
最早的状态估计可追溯至伽利略时期,他在求解最小误差函数时开创性地提出了状态估计问题[12, 13]。之后,高斯于18世纪90年代,提出了最小二乘法用于求解线性动态系统[14]。然而,最小二乘法是以最小化误差的平方和为目标函数,不需要考虑测量信息对系统模型的影响,因此该方法计算简单且易于理解,直至现在,仅仅在一般的线性系统中得到广泛应用[15]。至此,状态估计理论开始经历由简单到复杂的发展历程。1942年,Wiener基于最小方差准则,设计并提出了维纳滤波,开创了滤波器设计的先河。但是由于Wiener滤波仅适用于平稳随机过程,且缺乏实时递归性,这使其难以在广泛存在的非平稳随机系统中得到应用[16]。
1960年,Kalman等提出了卡尔曼滤波(Kalman filtering,KF)[17]。KF不仅适用于非平稳随机过程,且具有实时递归的优良特性,因此特别适合在线运行,并迅速在各领域得到广泛推广和应用,尤其是国防领域[18-20]。KF是在模型为线性、建模误差为高斯白噪声的前提下,以最小均方误差为标准,设计出的最优滤波器。此外,以卡尔曼滤波为基础,各种新的改进方法不断涌现,如自适应卡尔曼滤波、鲁棒卡尔曼滤波、等式约束下的卡尔曼滤波等[21, 22],并成功应用在机器人编队[23, 24]、人脸识别[25]、车辆定位[26, 27]、图像处理[28]等方面。然而,在面对众多实际工程中建模噪声统计特性难以获得,特别是在面对模型为非线性的实际动态系统应用时,现有的卡尔曼滤波方法难以发挥出其优良的滤波性能[29]。
对于受白噪声影响的非线性动态系统,非线性状态方程会导致估计误差的动态系统也呈现出非线性,很难根据相应的估计误差协方差设计滤波器增益并获取其解析解,从而无法像处理线性系统那样实现状态的最优估计。因此,为了得到非线性系统的状态估计值,一些研究人员退而求其次提出了一些次优估计方法,这类方法在非线性程度不强的情况下具有较高的应用价值。现有的次优估计方法主要包括:解析逼近和采样逼近等。以解析逼近为代表的估计方法是Bucy于1969年利用泰勒(Taylor)级数展开,提出的一种适用于非线性系统的滤波器:扩展卡尔曼滤波(extended Kalman filtering,EKF)[30]。EKF是在当前估计点状态下,将非线性的状态模型函数和测量模型函数进行一阶泰勒级数展开,将非线性问题近似转化为标准KF下的线性问题,并进行滤波器设计。需要指出的是,EKF采用的是高斯分布用以逼近估计值的后验分布,因此当系统噪声和测量噪声均满足高斯分布时具有较好的估计性能[31-33]。然而,EKF仅能实现一阶线性逼近,且针对系统模型非线性较强且待估计值分布不对称,其滤波性能会随着模型非线性程度的增加造成舍入误差的增大,从而引起滤波器性能的下降,甚至因滤波估计算法发散而导致跟踪目标丢失[34]。此外,EKF方法本质上是一种开环滤波方法,当系统达到平稳状态后,就会丧失对于突变状态的跟踪能力,这也是EKF滤波方法(包括卡尔曼滤波)的另一大缺陷。为了弥补EKF在应用过程中的不足,周东华等提出了强跟踪滤波(strong tracking filter,STF)的概念[9,35,36]。当模型不确定或状态发生突变造成滤波方法的状态估计值偏离系统的状态时,STF通过在线调节增益矩阵,使得测量残差符合高斯白噪声的假设,进而可充分利用测量误差中的有价值信息,迫使强跟踪滤波可对实际运行状态保持实时跟踪[37]。为了提高对非线性函数模型的逼近能力,以粒子采样为设计思想的非线性滤波器也相继被提出,其中具有代表性的滤波器是无迹卡尔曼滤波(unscented Kalman filter,UKF)[38]。UKF的主要设计思想是利用无迹变换(unscented transformation,UT),通过一组确定性采样的Sigma点集,用以逼近状态的后验分布,从而将原始的非线性函数转化在线性卡尔曼滤波框架下进行[39]。UT的优势在于,其本身并非是对原始系统的非线性函数进行逼近,而是对原始系统非线性函数的概率密度分布进行近似,因此即使系统模型复杂,也不会增加计算的复杂度[40]。除此之外,UKF不需要计算雅可比矩阵,而且同样适用于非可导的非线性函数。最重要的是,UKF本身也存在难以忽视的缺陷:其参数选择中存在的问题往往会导致算法不能有效进行,主要表现在预测误差协方差矩阵、测量误差协方差矩阵和估计误差协方差矩阵会出现负定现象;而且,无论系统本身的维度大还是小,个采样点难以有代表性地对概率密度分布进行有效描述;尤其是当时,UKF估计精度不容乐观[41,42]。在计算量相当的情况下,针对线性系统,虽然EKF和UKF二者的滤波性能相似,但对非线性系统,UKF的滤波效果会更好[43-45]。由于EKF和UKF都仅适用于高斯系统中,并且都是通过均值和方差来标识状态的分布。而随着所研究目标系统噪声复杂性的不断增加,简单地运用均值和方差不足以精确表示状态和噪声的真实分布。大量实例验证表明,UKF最多可达到对非线性系统二阶近似,仍会因高阶信息大量丢失,造成滤波效果差。值得一提的是,多项式扩展卡尔曼滤波器(polynomial extended Kalman filter,PEKF)有望在形式上和理论上解决截断误差的影响[46],但PEKF采用了多个著名的数学工具,如Kronecker-power、Taylor级数展开和高阶二项式展开,以实现强非线性状态模型和测量模型的高阶多项式表示。将多项式项定义为阶连续可导的非线性系统的增广状态变量,然后在由原始变量和增广变量组成的全空间建立高维线性化模型[47]。因此,PEKF比EKF效果更好是合乎逻辑的。然而,PEKF性能的提高高度依赖于复杂的数学运算。当时,PEKF退化为EKF[48]。值得注意的是,Wang等提出了另一种多项式扩展卡尔曼滤波用于状态估计和故障检测[49],通过利用文献[46]中丢弃的残差并用1到 阶多项式表示。但是,文献[49]引入了一些不确定项,错过了用标准KF简洁解决这个复杂问题的机会,不得不将基于最小协方差准则求解增益矩阵的问题转化为求解最小协方差矩阵的问题,而且很难保证设计的过滤器的性能是最优的,因为得到的上界是保守的,即不是最小的上界。文献[49]除了继承了文献[46]同样的高复杂度,还引入了更复杂的问题,如求解上界。
然而,在实际工业应用中,仍存在众多的动态系统噪声为非高斯白噪声的情况。在已知密度函数的情况下,由Gordon和Salmond提出的粒子滤波(partial filter,PF),被有效地应用于非线性非高斯系统中,并逐渐成为目前研究非高斯动态系统状态滤波问题的一个热点[50-52]。PF通过采集大量样本,其核心思想是使用一组具有相应权重的随机样本(粒子)来表述状态的分布特性。该方法通过选取重要性概率密度函数,然后从该函数中进行随机采样,并得到样本相应权重,然后通过观测信息进一步在线调节粒子的权重和位置,再运用这些更新后的样本逼近状态分布,最后通过样本的加权求和能够得到目标状态的最终滤波值。PF通过样本点用以逼近系统的非高斯性,并能够描述噪声的高阶矩信息[53]。基于PF在非高斯系统滤波问题处理能力的优越性,PF已在军事和工业等范围得到普遍应用[54-56],如产品运行状态预测、飞行器的动态监测、车辆定位及自主导航等[57-65]。但是PF也存在一些缺陷,在通过采样近似系统的概率密度函数时,需要运用大量的样本量,从而增加运算的复杂度[66-70]。同样,粒子退化现象是粒子滤波中的另一常见问题,若采样过少,则粒子退化现象更加严重,导致无法得到理想的估计结果[71]。为解决PF中存在的问题,对于已知状态变量概率密度函数的系统,一些学者尝试运用熵来表示包含非高斯噪声的系统信息。考虑到概率密度函数的非负性,基于熵设计滤波方法的关键,就是获取系统输入噪声的概率密度函数和输出概率密度函数之间的关系,并最小化输出概率密度函数的熵[72]。基于该思想,2005年,Guo等提出了基于概率密度函数的形状控制方法[73],并通过最小化估计误差的熵得到目标状态的最优解,基于概率密度函数不仅可以获取均值和方差的信息,而且可以得到熵和二阶及以上的高阶矩信息。然而,由于该滤波算法的递推过程中需要获得误差概率密度函数,并且性能指标的设计过程涉及对数的复杂运算,因此在实际系统中,利用概率密度函数直接设计滤波方法是难以实现的。此外,针对线性系统,Chen等基于随机变量的有限实现,在最大相关熵准则下设计出相应的卡尔曼滤波器,被称为最大相关熵卡尔曼滤波器(maximum correntropy Kalman filter,MCKF)[74]。以此为基础,先后出现了可求解非线性非高斯系统的最大相关熵扩展卡尔曼滤波(maximum correntropy extended Kalman filter,MCEKF)、最大相关熵无迹卡尔曼滤波(maximum correntropy unscented Kalman filter,MCUKF)、最大相关熵容积卡尔曼滤波(maximum correntropy cubature Kalman filter,MCCKF)[75-82]。因此相应的相关熵滤波也继承了高斯非线性滤波器中存在的不足,这里不做赘述。为了克服基于概率密度函数滤波算法计算量过大的问题,2008年,Zhou等提出了基于特征函数的滤波方法[83,84],即用特征函数代替概率密度函数来设计新的滤波方法。由于特征函数具有良好的运算性质,能够将复杂的对数运算简化为加法运算,并且误差的特征函数可以通过递推获取,从而显著降低了计算概率密度函数的复杂度。这种基于特征函数的滤波方法的主要思想是通过状态的概率密度函数获得其对应的特征函数,并通过定义Kull-leibler距离新设计了性能指标,然后通过最小化该性能指标,使得系统误差的特征函数尽可能地逼近预先给定的特征函数,该思想又被成功应用到基于观测器的反馈控制器设计领域[85]。2013年,许大星等通过利用混合特征函数,并将对称的K-L距离替换文献[86]的K-L距离的平方,能够更有效地度量两个特征函数的逼近程度,从而设计出了新的性能指标[87]。基于特征函数的滤波器设计方法为提高非线性系统的状态估计精度提供了一条新思路。但需要指出的是,文献[83]、[84]的研究对象是“伪”多维非线性系统,因为从其滤波器设计过程可以看出该方法仅适用于一维的观测系统,且要求状态方程是线性的。基于此,文成林等重新设计了矩阵形式的性能指标,给出了权重函数取值范围用以保证所设计性能指标的有界性,通过优化的方法完成了滤波器增益的设计,所提出的新的滤波方法能够具有更广泛的应用领域,并通过在工业器件消磨系统中的仿真实验验证其有效性和优越性[88,89]。但是文献[88]仅适用状态模型为线性的系统,测量模型为非新型的动态系统,为此在文献[88]的基础上,文献[90]设计了适用于非线性状态模型和非线性测量模型的新型特征函数滤波,并给出建立误差动态模型的方法。针对文献[89]仅适用于一维观测变量的情况,文献[91]利用不动点方程,给出求取多维动态系统滤波器增益矩阵解析解的方法。
1.2 研究内容及章节安排
如上所述,滤波器应用范围广泛,且在众多工业系统中扮演着重要角色,因此优良的滤波性能是整个滤波器设计的核心