您好, 访客   登录/注册

一种基于自适应卡尔曼的数据滤波方法

来源:用户上传      作者:

  摘 要:卡尔曼滤波因具有计算量小,编程简单易于实现的优点,被广泛的用于通信和导航领域。但卡尔曼滤波在一些特定场景下,仍然存在一定的不足;例如在数据量较大的情况下,无法很好的对数据进行处理,容易产生发散的现象。为解决这样的问题,论文提出一种新的自适应卡尔曼滤波,能够有效改善此类问题。
  关键词:卡尔曼;发散;自适应
  数据滤波是去除噪声还原真实数据的一种数据处理技术。目前,较为成熟且应用较为广泛的滤波方法有卡尔曼滤波、粒子滤波等。[1] 其中卡尔曼滤波相较于其他滤波,具有易于实现、计算量小、应用场景广泛的特点。被广泛的应用于导航、控制等领域。[2]即便如此,在一些特定的场景下,卡尔曼滤波算法仍然存在着一定的不足,在实际应用中,伴随测量数据量的增加,会导致估计误差的均值和估计误差协方差也逐渐增大,滤波估计的准确度也会随着下降。为了此类问题,论文提出了一种自适应卡尔曼滤波方法。在数据滤波中,自适应滤波不仅可以利用测量值对预测值进行修正,而且系统中模糊的系统模型参数和噪声统计参数也能得到修正。滤波过程中的发散现象可以得到进一步的改善。
  1 算法描述
  1.1 卡尔曼滤波
  卡尔曼滤波是一种最优估算算法,通过利用线性系统状态方程以及系统的输入和输出观测数据,来达到最优估算的目的。卡尔曼滤波可有效的过滤观测信号中的噪声,且应用条件宽泛,能够在平均的意义上,对真实信号进行估计,并且能够将误差降至最小。因此,在卡尔曼滤波算法问世以来,无论是在通信领域还是电路系统中都得到了广泛的应用。在图像处理的应用中,卡尔曼滤波可对受噪声影响而导致产生模糊的图像进行复原操作。在假定了噪声的某些统计性质后,卡尔曼的算法就可以以递推的方式对模糊图像进行处理,从而得到真实的图像,可以复原原本模糊的图像。
  卡尔曼滤波算法具体实现过程如下
  系统的过程模型可以被用来预测系统下一时刻的状态,假设系统在 k时刻的状态为 X(k),根据系统模型,可以由系统的上一时刻的状态预测出当前时刻的状态:
  X(k k-1)=AX(k-1 k-1)+Bu(k)(3)
  其中 X(k k-1)是利用系统的上一时刻的状态预测得到的系统当前时刻的状态,X(k-1 k-1)是系统在上一时刻的最优状态,u(k)为当前时刻状态的控制量。在对系统的状态进行更新后,下一步需要对系统的误差估计协方差矩阵进行更新,可以用 P(k k-1)来表示系统的误差估计协方差矩阵:
  P(k k-1)=AP(k-1 k-1)A’+Q(4)
  其中 p(k k-1)是在 k时刻系统上一状态对当前状态的预测,p(k-1 k-1)是 x(k-1 k-1)对应的误差估计协方差矩阵,Q表示系统过程噪声的协方差。
  X(k k)=X(k k-1)+Kg(k)(Z(k)-Hx(k k-1))(5)
  式(5)中Kg(k)是未知的,为得到Kg(k),需要(6)式:
  Kg(k)=P(k k-1)H’/(HP(k k-1)H’ + R)(6)
  这样,我们就得到了k时刻的系统状态的最优值 x(k k),为了让整个滤波过程不断地自回归的运行下去,x(k k)对应的 p(k k)需要再一次的更新。其中p(k k)的表达式如式(7)所示:
  p(k k)=(I-Kg(k)H)P(k k-1)(7)
  这样整个滤波过程就可以自回归的运行下去。
  1.2 自适应卡尔曼
  自适应的滤波方法十分多样化,其中较为常用的有贝叶斯法、极大似然法、相关法,在这之中,最为基础和重要的则是相关法,而相关法又可以根据实现过程的不同进一步分为输出相关法和新息相关法。
  論文提出的自适应卡尔曼滤波实现的前提是,系统模型参数已知,而噪声统计参数Q和R未知。由于 增益矩阵K值会影响噪声的最终统计参数Q和R,从而影响滤波值。因此在进行自适应滤波时,可以在未估计Q和R等参数的情况下,直接根据量测数据调整K的值。自适应滤波的输出相关法的基本方法是通过量测数据对输出函数序列{ CK}进行估计,然后由{ CK}再进一步推算出系统的 K值,即最佳增益矩阵,使得增益矩阵 K不断的调整,以为 K与实际量测数据{ CK}相匹配。
  Sage-Husa自适应卡尔曼滤波可以实时地估计和修正系统噪声和量测噪声的统计特性,这一过程的实现,是通过时变噪声估计估值器来实现的,同时利用了量测数据进行递推滤波。从而达到降低系统模型误差、抑制滤波发散提供滤波精度的目的。
  2 实验验证
  实验首先利用采集器采集实验所需相关实验数据,然后利用 matlab通过卡尔曼和自适应卡尔曼对实验数据进行验证,通过不同算法处理前后数据的偏差值的对比来验证和说明自适应卡尔曼的优越性。实验结果如下图所示:
  从上图中可以看出,经由自适应卡尔曼处理后的数据与原始数据的差值更小。经典卡尔曼的滤波效果相比之下,要差了很多。
  3 结论
  论文给出了一种基于自适应卡尔曼的滤波方法,实验结果表明,自适应卡尔曼滤波能够有效的对实验数据进行补偿,相较于传统的卡尔曼滤波,自适应卡尔曼的效果更好,而且速度更快。该滤波可用于解决实际工程中的一些相关问题。
  参考文献:
  [1]吴春颖,王娟.浅析卡尔曼滤波理论的发展历史过程[J].福建电脑,2017(1):22-23.
  [2]余彦霖,祖家奎,廖智麟.基于卡尔曼滤波的MUH姿态信号融合算法研究[J].电子测量技术,2015,38(5):106-110.
转载注明来源:https://www.xzbu.com/1/view-15324190.htm