当前位置:首页 >> 能源/化工 >>

基于矩阵分解的卡尔曼滤波技术分析及应用


基于矩阵分解的卡尔曼滤波技术分析及应用
【摘要】本文简要介绍了卡尔曼滤波研究的发展历程,重点对卡尔曼滤波及其在改善数值稳定性,提
高计算效率等数值方面的研究与发展进行了综述,对 Q-R 分解,U-D 分解,奇异值分解(SVD)等在卡尔 曼滤波的应用进行了介绍。最后给出了一种基于 Q-R 矩阵分解的自适应滤波方法,仿真验证了其有效性。

1

引言
1960 年,美籍科学家卡尔曼(R. E. Kalman)在系统状态空间模型的基础上提出了著名 的线性卡尔曼滤波器,它在线性的前提假设下是一个线性无偏、最小方差估计器,从而可以 为线性滤波问题提供精确解析解。自该技术被提出以来,它已成为控制、信号处理与通信等 领域最基本最重要的计算方法和工具之一,并已成功地应用到航空、航天、电力系统及社会 经济等不同领域。随着微型计算机的普及应用,对卡尔曼滤波的数值稳定性、计算效率、实 用性和有效性的要求越来越高.为此,人们在如何改善卡尔曼滤波的计算复杂性和数值稳定 性方面作了大量的探索工作,各种基于平方根滤波与平滑,U-D 分解滤波与平滑,奇异值分解 滤波与平滑,状态与偏差分离滤波以及并行与分散滤波等方法得到不断发展.本文给出了矩 阵分解的一些基础知识, 并着重从卡尔曼滤波数值计算方法入手,对现有的常规卡尔曼滤波、 基于矩阵的因式分解滤波的数值计算方法进行了较系统的介绍和分析,并在第四章给出了一 种基于 Q-R 矩阵分解的自适应滤波算法。

2 常规卡尔曼滤波
2.1 协方差卡尔曼滤波 考虑如下线性离散系统

xk ?1 ? Ak xk ? ?k wk zk ? Ck xk ? vk
n m p

(2.1.1) (2.1.2)
m

式中 xk ? R 是状态向量 , zk ? R 是量测向量 , wk ? R 是系统噪声向量 , vk ? R 是 量测噪声向量.假设系统噪声和量测噪声是互不相关的零均值高斯白噪声,方差阵分别为 Qk ,

Rk ,则协方差卡尔曼滤波方程为:

?k|k ?1 ? Ak ?1x ?k ?1 x

(2.1.3) (2.1.4)

Pk|k ?1 ? Ak ?1Pk ?1 AT k ?1 ? ?k ?1Qk ?1?kT?1

?k ? x ?k|k ?1 ? Kk [ zk ? Ck x ?k|k ?1 ] x
Pk ? [ I ? Kk Ck ]Pk|k ?1
T T Kk| ? Pk|k ?1Ck [Ck Pk|k ?1Ck ? Rk ]?1

(2.1.5) (2.1.6) (2.1.7)

理论分析和实际应用均证明上述滤波公式是数值不稳定的,其原因是由于计算机有限字长的 限制,计算中舍入误差和截断误差的累积、 传递会使协方差阵 Pk 失去对称正定性,因此,Joseph提出 一种所谓“稳定化”卡尔曼滤波,其目的是减小滤波算法对计算舍入误差的灵敏性,保证 Pk 的对称 正定性,以提高滤波的数值稳定性,防止发散.其滤波阵公式,只是将(2.1.6)式改写为如下形式即可:
T Pk ? [I ? Kk Ck ]Pk|k ?1[I ? Kk Ck ]T ? Kk Rk Kk

(2.1.8)

但该算法由于所需计算量和存储量较大,而且并不一定很奏效,因而应用并不广泛.

2.2 信息滤波
为了解决在某些没有有关初始状态信息和先验知识可供采用情况下的滤波,Fraser提 出了信息滤波,即用协方差阵 Pk 的逆 Pk 来代替 Pk 的递推计算,这种算法对测量更新比 较有效,但时间更新所需计算量较大.
?1

2.3 推广卡尔曼滤波器
推广卡尔曼滤波(EKF)是一种应用最广泛的非线性系统滤波方法。EKF与线性卡 尔曼滤波公式完全类似,只是上述滤波公式中 Ak , ?k ,和 Ck 要在由非线性函数的偏导计算 得到,不能象线性滤波那样可事先离线计算增益和协方差阵,但EKF与常规卡尔曼滤波一 样,数值稳定性差,初值不易确定.为了改善上述常规滤波算法的数值稳定性,并提高计算效 率,自七十年代以来,人们提出了平方根滤波、U一D分解滤波、奇异值分解滤波等一系列数 值鲁棒的滤波算法.

3 基于矩阵因式分解的滤波方法
3.1 预备知识 定理 3.1.1 设 A 是实正定对称矩阵,则存在唯一正线下三角矩阵 S,使得

A ? SST
定理 3.1.2 Householder 变换 设 u ? C ,且 u u ? 1 ,则
n H

(3.1.1)

H (u) ? E(u, u;2) ? En ? 2uuH
称为初等酉阵,或 Householder 变换。 定理 3.1.3 Cholesky 分解 阵,D 是对角矩阵,则有 设 A ? Cn
n?n

(3.1.2)

是正定 Hermite 矩阵, 用 L 表示单位下三角矩

A ? ( LD1/ 2 )(LD1/ 2 ) H
定理 3.1.4 QR 分解 设 A ? Rn
n?n

(3.1.3)

,则 A 可唯一地分解为

A ? QR
定理 3.1.5 奇异值分解 设 A ? Cr 酉矩阵和 n 阶酉矩阵 V,使得
m?n

(3.1.4)

, ? 1 , ? 2 ,? ? ?, ? r 是 A 的 r 个奇异值,则存在 m 阶

A ?U(

D O O O

)V

(3.1.5)

其中 D ? diag(?1 , ? 2 ,? ? ?, ? r ) ,且 | ? i |? ? i (i ? 1,2,? ? ?, r ) 。 3.2 平方根协方差滤波(SRCF) 首先提出平方根滤波思想的是 Potter,他把 Pk 按 Cholesky方法分解为下三角阵 Sk , 即
T 令P k 的计算,由公式(3.1.1)可知,从 k ? Sk Sk ,在滤波递推计算中用 S k 的传递计算代替 P

而保证了 Pk 的对称正定性.Potter的算法经美国阿波罗登月舱的实际应用,证明是很成功的. 随后,Potter的算法被推广来解决存在着系统噪声和量测量为向量的情形。 Schmidt给出了向 量量测既可以同时处理,也可以序列处理的一种处理过程噪声的方法 .为了提高平方根滤波 的计算效率,Carlson注意到传递阵通常是块上三角阵的特点,给出了一种量测更新和时间更 新均为上三角阵形式的快速平方根滤波 ,减少了计算量.上述平方根滤波均把时间更新和量 测更新按常规分成两个分离的过程,其算法的关键是通过利用正交变换获得上三角阵的平方 根矩阵.为了减小计算量,人们对如何构造正交变换的问题给予了很大的注意,常用的正交变 换方法是Householder变换,即公式(3.1.2)、修正的Gram-Sehmidt正交化法及Givens变换 等。

1975年,Morf一Kailath在总结上述平方根滤波基础上,把时间更新和量测更新两个过程 结合起来,给出了一种量测和时间更新的联合更新方程,从而仅需一个正交变换,即完成滤波 计算,且无需计算滤波增益阵.

3.2 平方根信息滤波 与平方根协方差滤波相对应,信息滤波的平方根滤波方法也得到人们的极大重视和研究。 Dyer 一 MeReynolds 基于 Householder 变换利用动态规划理论研究出一种平方根信息滤波
?1 ?1 ( ?1)T (SRIF), 与 SRCF 类似 ,SRIF 把信息矩阵 Pk 定义为平方根阵形式 , 即定义 P 由 k ? Sk Sk

?1

“数据方程” 法给出一种结构较简单的SRIF, S k?1 的递推计算来代替 Pk 的计算.Bierman利用 并给出有色噪声情况的滤波公式,该算法需要计算状态转移矩阵的逆,即要求状态转移矩阵 是非奇异的,针对这一问题,给出一种对状态转移阵奇异仍适用的SRIF,Bierma在此基础上, 把SRIF应用于具有时间延迟系统的滤波 ,并把SRIF推广到大规模互联系统的情形,大大减少 了计算量和存储量.正如SRCF那样,将量测更新和时间更新结合起来 ,可以容易的求得联合 SRIF更新方程,Paige-Saunders基于把卡尔曼滤波转换为最小二乘估计的思想,提出一种联 合量测更新和时间更新的SRIF方案。 由于SRIF在某些情况下,如对于多量测量系统,比常规卡 尔曼滤波有更高的计算效率、 更好的数值稳定性和精度,因此,在轨道确定、 飞行状态估计和 多传感器跟踪与辨识等方面得到应用。 3.3 U-D分解滤波 上述 SRCF 和 SRIF,一般来讲由于存在矩阵的求逆运算和平方根计算,所需计算量较常规卡 尔曼滤波要大,因而限制了在工程中的应用。Bierman 在研究和应用 SRIF 及 Carlson 序列滤波 的基础上,于 1975~1977 年间,提出了一套计算效率高、数值稳定的称之为“U-D 分解”滤波
T UD 的算法。 该算法把协方差阵分解为单位上三角阵 U 和对角阵 D,即有 P k ? U k DkU k ,
1/ 2

?1



当于协方差平方根阵 S,即公式(3.1.3) 。U-D 分解滤波既具有平方根滤波的优点,即始终能 保证协方差阵的正定性,同时避免了 Carlson 等平方根滤波算法中平方根的计算,因而具有与 常规卡尔曼滤波相当的计算量,是上述滤波算法中效率最高的一种算法,并且在实际应用问题 中,结合实际问题的特点,U-D 分解算法计算效率还更高,因而,近年来在轨道确定、 目标跟踪和 飞行状态估计及神经网络学习算法等方面得到广泛应用和发展,但该算法由于量测更新采用 序列处理,对于量测量较多的系统,计算效率受到一定影响,对有色噪声的处理不如 SRIF,SRCF 方便。 3.4 基于奇异值分解(SVD)的滤波方法 奇异值分解由于具有很强的数值鲁棒性和可靠性,广泛应用于最小二乘问题、病态方程 组求解及广义逆计算等场合,并在控制、 通讯与信号处理等领域越来越受到人们的极大重视。 在滤波问题中,也已得到应用。 Oshman 基于协方差阵的频谱分解,以 SVD 为计算工具,提出称之为 v-Lambda 滤波的方法,

他把协方差阵分解成 P ? V?V 形式,其中 V 是矩阵 P 的特征向量矩阵, ? 为对角元是 P 阵奇
T

异值的对角矩阵。首先给出量测更新为信息滤波模式 ,时间更新为协方差滤波模式的 v 一 Lambda 滤波方法。随后,Oshman 又给出量测更新和时间更新方程均为信息滤波模式的滤波 公式,该算法不需计算滤波增益,由于利用 SVD,使得状态估计算法鲁棒性较之平方根滤波、 U-D 分解滤波更好,但该算法由于进行一步滤波迭代计算,需一次正交变换,两次奇异值分解,所以, 其缺点是计算量较大,但其优异的数值鲁棒性以及随着奇异值分解并行处理的实现而随之带 来计算时间的减少,使得此算法将成为一种极富吸引力的滤波方法.另外利用协方差阵的对称 正定性,给出一种类似 U-D 分解形式、计算量较小的基于 SVD 的滤波算法,本文又给出一种基 于 SVD 的推广卡尔曼滤波算法,并应用于飞行状态估计问题,随后又提出一种基于 SVD 的递推 最小二乘辨识新方法,与递推最小二乘、基于 U-D 分解的递推最小二乘法相比,不仅收敛速度 快、数值稳定性和辨识精度高,而且能得到系统参数的无偏估计。

4 一种基于 Q-R 矩阵分解的自适应滤波算法
4.1 机动目标加速度模型及自适应卡尔曼算法 令状态向量X为: X ? [ x1, x2, x3] ,x1, x1, x 2, x3 分别表示目标的位置、速度和加速度。
T

假设目标当前加速度服从非零均值 ? 的一阶马尔可夫过程,即:

x3 ? ? ? ? (t )

(4.1.1) (4.1.2)

? (t ) ? ??? (t ) ? w(t )
目标的时域状态方程为:

? ? AX ? B? ? Lw(t ) X
式中:

(4.1.3)

?0 1 0 ? ?0? ?0 ? ? ? ? ? ? A ? ?0 0 1 ? 、 B ? ? 0 ? 、 L ? ? ?0? 、 w(t ) 为白噪声序列。 ? ? ? ?0 0 ? ? ? ? ?? ? ? ?1? ?
根据上述时域方程,经过离散化处理后,得到系统的离散状态方程和观测方程为:

X (k ? 1) ? ?(k ? 1, k ) X (k ) ? B(k )? ? W (k )
Y (k ) ? HX (k ) ? V (k )
式中:

(4.1.4)

(4.1.5)

? ?1 T ? ? (k ? 1, k ) ? ?0 1 ? ?0 0 ? ?

? (?1 ? ?T ? e ??T )? ? ? 1 ? (1 ? e ??T ) ? ? e ??T ? ? ? 1
2

?1 ?T 2 1 ? e ??T ? ( ? T ? ? )? ? ? 2 ? ? ? 1 ? e ??T ? ? B(k ) ? T? ? ? ? ? ? 1 ? e ??T ? ? ? ?
( k ?1)T

W (k ) ?

kT

?

?{?1 ? ? ((k ? 1)T ? ? ) ? e ?? (( k ?1)T ?? ) )} / ? 2 ? ? ? {1 ? e ?? (( k ?1)T ?? ) } / ? ? ? w(? )d? ? ? (( k ? 1 ) T ? ? ) ? ? e ? ?

H ? [1 0 0]
W (k )、V(k ) 均为白噪声序列。
基于状态方程(4.1.4)和观测方程(4.1.5),依据标准的卡尔曼滤波方程,得到当前 机动加速度统计模型的自适应卡尔曼滤波算法。 1.时间更新

? ? X ( k / k ?1) ? ? ( k , k ?1) X ( k ?1/ k ?1) ? B(k )?
?3(k / k ? 1) ? ?x

(4.1.6) (4.1.7)

?3(k / k ))2 / ? ?? 2 ? (4 ? ? )(?max ? x
p(k / k ?1) ? ?(k , k ?1)P(k ?1/ k ?1)?T (k , k ?1) ? Qw
K (k ) ? P(k / k ?1) H T ( HP(k / k ?1) H T ? R)?1
其中, ? max 表示最大可能的加速度。 2.测量更新

(4.1.8) (4.1.9)

(4.1.10)

? ? ? X ( k / k ) ? X ( k / k ?1) ? K (k )[Y (k ) ? HX (k / k ? 1)]

(4.1.11)

P(k / k ) ? P(k / k ? 1) ? K (k ) HP(k / k ? 1) ? [ I ? K (k ) H ]P(k / k ? 1)
4.2 引入Q-R矩阵分解的自适应平方根滤波算法

(4.1.12)

在机动“当前”统计自适应滤波算法中,在计算协方差阵时,存在矩阵相减的运算,由于计 算或其他参数不匹配的影响,有可能导致协方差阵出现不对称或负定的情况。协方差阵是一 个对称的非负定的矩阵,利用矩阵分解的技术,在基于平方根矩阵分解的基础上,引入 Q-R 矩阵 分解,构造出协方差平方根自适应滤波算法。 令 P(k / k ) ? S (k / k )S T (k / k )

P(k / k ?1) ? S (k / k ?1)S T (k / k ?1)
Qw ? UU T
其中 S (k / k )、S (k / k ? 1)、U 为下三角矩阵。又

P(k / k ? 1) ? ?(k , k ? 1) P(k ? 1 / k ? 1)?T (k , k ? 1) ? Qw ? ?(k , k ? 1) S (k ? 1 / k ? 1) S T (k ? 1 / k ? 1)?T (k , k ? 1) ? UU T ? [?(k , k ? 1) S (k ? 1 / k ? 1)U ] ? [?(k , k ? 1) S (k ? 1 / k ? 1)U ]T ? ~ ~ S (k ? 1 / k ? 1) S T (k ? 1 / k ? 1)
对 S (k ?1/ k ?1) 进行 Q-R 分解得到:

~

~ S (k / k ?1) ? S (k / k ?1)Q(k / k ?1)
因此有

(4.2.1)

~ ~ P(k / k ? 1) ? S (k ? 1 / k ? 1) S T (k ? 1 / k ? 1) ? S (k / k ? 1)Q(k / k ? 1)QT (k / k ? 1) S T (k / k ? 1) ? S (k / k ? 1) S T (k / k ? 1)
经过推导,得到下述的基于 Q-R 分解的自适应平方根卡尔曼滤波算法。 1.时间更新

~ S (k / k ?1) ? [?S (k / k ?1)U ]
进行 Q-R 分解得到

(4.2.2)

~ S (k / k ?1) ? S (k / k ?1)Q(k / k ?1)
Fk ? S T (k / k ?1)QH T

(4.2.3) (4.2.4) (4.2.5)

? k ? [ Fk FkT ? R]?1

rk ?

1? ?k R 1? ?k R

(4.2.6)

K (k ) ? ? k S (k / k ?1) Fk

(4.2.7)

? (k / k ?1) ? ?(k / k ?1) X ? (k ?1/ k ?1) ? B? X
?3(k / k ? 1) ? ?x

(4.2.8) (4.2.9)

?3(k / k ))2 / ? ?? 2 ? (4 ? ? )(?max ? x
P(k / k ?1) ? S (k / k ?1)S T (k / k ?1)
2.测量更新

(4.2.10)

(4.2.11)

S (k / k ) ? S (k / k ?1)[I ? ? k rk Fk FkT ]

(4.2.12) (4.2.13) (4.2.14)

? ? ? X ( k / k ) ? X ( k / k ?1) ? K (k )[Y (k ) ? HX (k / k ? 1)]
P(k / k ) ? S (k / k )S T (k / k )

4.3

仿真与结论 为了验证算法的有效性,进行了一系列的仿真,并在一维的情况下,研究了基于 Q-R 矩阵分

解的当前统计自适应滤波算法对常加速度目标运动的跟踪特性。仿真中,假设观测噪声方差 (距离观测误差)与目标距离的平方成正比,即观测噪声为:

V (k ) ? (? ? x(k ) ? c)w(k )
式中 β 为相对误差系数,c 为固定观测误差,w(k)为均值为零,方差为 1 的标准正态分布函数。 因此,观测噪声方差为:

R(k ) ? (? ? x(k ) ? c)2 E(w(k )w(k ))
仿真中所选参数为:c=100m,β=0.01,目标加速度 α=10m/s2,采样间隔 T=1.0s。图 1 和图 2 分别 给出没有自适应的滤波器和基于 Q-R 矩阵分解的当前统计自适应滤波器的位置、 速度和加速 度滤波误差曲线。

图 1 非基于 Q-R 矩阵分解的加速度滤波器的滤波误差曲线

图2

基于 Q-R 矩阵分解的机动加速度“当前”统计模型自适应滤波器的滤波误差曲线

由以上图可知,在目标作匀加速直线运动的情形下,基于 Q-R 矩阵分解的当前统计自适应 滤波器的滤波效果好于非基于 Q-R 矩阵分解的滤波算法。图中显示的是滤波误差曲线,其中 (1 000m-12s)表示纵轴的一格代表 1 000m,横轴的一格代表 12s。

5 自我小结
本文主要对常规的卡尔曼滤波、 矩阵因式分解滤波等数值计算方法进行了综述, 给出了 这些滤波方法的优缺点及适用领域。同时重点介绍了一种基于Q-R矩阵分解的自适应滤波算 法,该方法将协方差矩阵分解为两个矩阵的乘积,来保证协方差矩阵的正定性,仿真结果表 明,该算法可以较好地跟踪机动目标,具有精度高、稳定好、收敛快等特点。 本文主要从矩阵三角分解, 奇异值分解出发, 结合正定矩阵的概念对卡尔曼滤波技术分 析,最主要是将协方差矩阵进行分解,从而提高卡尔曼滤波技术的稳定性和精度。近年来, 由于电网谐波污染越来越严重, 可以预见, 基于矩阵分解的卡尔曼滤波技术将会在电力系统 中的电能质量分析中越来越受重视。 参 考 文 献
[1] 丛源材, 戴洪德, 周绍磊.一种基于相关系数矩阵分解的非线性滤波方法.武汉: 华中科技大学学报, 2014 [2] 张友民,戴冠中,张洪才,卡尔曼滤波计算方法研究进展,控制理论与应用,1995 [3] 邢昌风,石章松.一种基于Q-R矩阵分解的自适应滤波算法.火力与指挥控制,2003


相关文章:
自适应均衡算法的研究进展
提 出了一种模糊神经网络自适应卡尔曼滤波算法. 该算法通过模糊自适应滤波和神...[26]研究基于Delta算子的改进 的自适应滤波算法.利用矩阵的sVD分解技术推导出...
矩阵分解及其应用
矩阵理论与方法论文 题目: 矩阵分解及其简单应用 姓班学班学 名级院级号 潘奇 3 班 信息与通信工程 2014111103 2014110367 2015 年 1 月 矩阵分解及其简单应用...
扩展卡尔曼滤波EKF
扩展卡尔曼滤波EKF_数学_自然科学_专业资料。第三章...扩展 Kalman 滤波就是基于这样的思想,将系统的非...均值为零的 高斯白噪声,且噪声分布矩阵 G (k) ...
基于矩阵分解的方案报告
基于矩阵分解的公钥加密方案一、预备工作 1、代数学基础 I 半群:若定义在非空集合 A 上的一个二元运算(乘法)满足结合律,则称该集 合 A 为一个半群。即对...
非负矩阵分解技术应用于简单的音源分离场景中
非负矩阵分解技术应用于简单的音源分离场景中_能源/...根据算法基于的目标函数的特点不同,BNMF 算法可分...就可以利用维纳滤波来得到信源 STFT 值的最小均方...
矩阵分解及其简单应用
矩阵分解及其简单应用_工学_高等教育_教育专区。矩阵分解和在不同领域简单的应用矩阵分解及其应用矩阵分解是指将一个矩阵表示为结构简单或具有特殊性质若干矩阵之积...
矩阵分解法在求解矩阵方程中的应用
矩阵分解法在求解矩阵方程中的应用_理学_高等教育_教育专区。关于矩阵分解法在求解...矩阵方程的研究不但在研究数学理论上有着重要的意义,而且 对现代工程技术的发展...
矩阵分解的研究及应用
矩阵分解的研究及应用摘要:将一矩阵分解为若干个矩阵的和或积,是解决某些线性问题的重要方法,其技巧性、实用性强。本文首先分成四部分内容来阐述矩阵分解的形式及...
基于布尔矩阵分解的角色极小化挖掘方法
基于布尔矩阵分解的角色极小化挖掘方法_职业规划_...应用实例结果表明,该方法挖掘的极小角色集更加简洁,...为此, 研究者们相继提出了角色 工程技术以及自顶...
非负矩阵分解的基本原理和研究现状分析
非负矩阵分解的基本原理和研究现状分析 摘要:阐述了...当把 NMF 应用于分类或者查询时就成为该技术的一个...基于非负矩阵分解的面部... 121人阅读 5页 1下载...
更多相关标签: