卡尔曼滤波发散原因、解决方案以及实测案例分析
一 、背景
二、关于卡尔曼滤波器发散原因?
2.1、什么是发散
定义:当滤波的实际误差远远超过滤波误差的允许范围,甚至于趋向无穷大,使得滤波器推动作用,这种现象叫做滤波的发散。
2.2、造成卡尔曼滤波发散的原因无外乎以下两点
- 系统的数学模型和噪声的统计模型不准确,这些模型不能反映真实的物理过程,使得观测值与模型不相对应。
- 计算机字长有限,因而存在着计算误差,如舍入误差,这些误差积累起来,降低了滤波精度。严重时,会使计算误差的方差阵逐渐推动正定性,甚至失去对称性,使得增益矩阵的计算值与理论之间的偏差越来越大,因而造成发散。这种发散叫做计算发散。
解决方法:
克服由于模型不准确或模型变化所引起的滤波发散问题,可用衰减记忆滤波和限定记忆滤波等方法。当滤波模型不准确时,滤波值中的旧数据比重太大,新数据的比重太小,这是引起发散的重要原因。
1. 因此逐渐减小旧数据的权,相对地增加新数据的权(观点1),或者
2. 截去旧数据,只保留在观测时刻以前的有限个较新的数据(观点2),
这是克服滤波发散的一个有效方法,根据前一观点设计的滤波器这是克服滤波发散的一个有效方法,根据前一观点设计的滤波器叫做衰减记忆滤波器,根据后一观点设计的滤波器叫做限定记忆滤波器。这两种滤波器都是次最优滤波器。
2.3、容易发散的变量
卡尔曼滤波器在工作中,会涉及到下面的序列,这些序列可能会收敛,也可能会发散;

举例:在许多实际问题中,系统噪声方差阵和测量噪声方差阵事先都是不知道的。有时,状态转移矩阵或测量矩阵也不能确切知道。在系统运行过程中,模型还可能不断变化,具体地说,Q,R,A,H不断变化。这些都会引起滤波发散。自适应滤波是在利用测量数据进行滤波的同时,不断地对未知的或不确切知道的系统模型参数和噪声统计特性进行估计或修正,以便改进滤波。因此自适应滤波也是克服滤波发散的重要方法。
由于计算机的舍入误差,使得估计误差协方差P的计算值失去非负定性,甚至失去对称性,因而导致K的计算失真,造成滤波发散现象。平方根滤波方法可用来克服由于计算机舍入误差所引起的滤波发散。
三、利用Kalman处理信号数据总结
其中可调参数有(我觉得**新息**的地方应该也可以操作,但是实际操作过程中发现影响不大,后面再认真学习一下再说吧):
P(0)协方差矩阵的初始值;
R 测量噪声
Q 过程噪声
在卡尔曼滤波器**实际实现时,测量噪声R一般可以观测得到,是滤波器的已知条件。观测测量噪声协方差R可以通过离线试验获取**。
而**过程激励噪声协方差Q值比较难以确定,因为我们无法直接观测到过程状态。有时候可以通过Q的手动选择,人为的为过程“注入”一个足够的不确定因素,来产生一个可以接受的结果**。
3.1、过程噪声Q对于滤波效果的影响:
Q为对模型(估计)的**信任度**,Q越大,滤波后的曲线跟测量曲线跟的越紧密,滤波后噪声越大;
Q>1 时,滤波效果差;值越大,效果越差;
Q值越小,滤波效果越明显,太小滤波后效果趋于一条直线;
3.2、P(0)协方差矩阵对于滤波效果的影响
P(0)决定初始增益的大小,影响初始时刻的收敛效果;在整体参数选取合适的时候,初始时刻滤波收敛效果影响不明显。
3.3、测量噪声R对滤波效果的影响
R>0:决定稳态噪声,小了初始增益大,但是稳态容易引入噪声;R越大对噪声越不敏感,即滤波后的数据跳动越小,但R越大, kalman滤波输出收敛的越慢。
随着R值越大,R=50时,滤波收敛效果越明显;R=100;收敛效果特别快;并且滤波效果也趋于一条直线;
整个滤波过程都有延迟,具体影响看不出;需要分析;
Kalman调试本质上是追求系统的收敛和卡尔曼滤波本身收敛过程的平衡点。数学上很难从理论上追求最优解;<


5582

被折叠的 条评论
为什么被折叠?



