当前位置:文档之家› 第三章卡尔曼(Kalman)滤波

第三章卡尔曼(Kalman)滤波


引入
在讨论维纳滤波时,提出一个基本概念: 任何具有有理功率谱密度的随机信号都可看作 是白色噪声通过一个线性网络所形成。 由此得到维纳滤波器的信号模型
w(n)
s(n)
A(z)
v(n)
w(n)
s(n)
x(n)
A(z)
w(n)
B(z)
x(n)
为了得到卡尔曼过滤的信号模型,必须 首先讨论状态方程和量测方程。
当已知初始状态x(0)、激励e j以及A与B矩阵,
即可求得x(k )。。
如果用k0表示起始点的k值从x(k )开始递推,从而有
k 1
x(k) k,k0x(k0 ) k, j1Be( j) j k0
k0 0:表示从初始状态x(0)开始递推。
k ,k 0:代表从k0状态到k 状态的转移矩阵。
在卡尔曼滤波中: 希望得到xk的估计值xˆk与xk间 最小均方误差。有了xˆk也就得到了sˆk。
提问:sk 和xk的关系?
来估计信号的当前值 以均方误差最小条件下求解 系统的传递函数H(z)或单位冲激响应h(
只根据前一个估计值 xˆk -1 和最近一个观察数据 yk 来估计信号的当前值 它是用状态空间法描述系统, 即由状态方程和量测方程组成。
解是以估计值(是状态变量的估计值)的形式给出的
第三章 卡尔曼(Kalman)滤波
第一节 引言
卡尔曼生平
卡尔曼全名Rudolf Emil Kalman,匈 牙利数学家,1930年出生于匈牙利 首都布达佩斯。1953,1954年于麻 省理工学院分别获得电机工程学士 及硕士学位。1957年于哥伦比亚大 学获得博士学位。我们在现代控制 理论中要学习的卡尔曼滤波器,正 是源于他的博士论文和1960年发表 的论文《A New Approach to Linear Filtering and Prediction Problems》 (线性滤波与预测问题的新方法)。
一、离散状态方程及其解
离散状态方程的基本形式是:
x(k 1) Ax(k) Be(k)
其中x(k)代表一组状态变量组成的多维状态矢量, 而A,B都是矩阵,它们是由系统的拓扑结构、元件 性质和数值所确定的。
e(k) 是激励信号。
状态方程是多维一阶的差分方程。 当已知初始状态x(0), 可用递推的方法得到它的解 x(k)
1.引言
卡尔曼(Kalman)滤波和维纳(Wiener)滤 波都是以最小均方误差为准则的最佳线 性估计或滤波。
2.适用范围
维纳滤波只适用于平稳随机过程(信号) 卡尔曼滤波没有这个限制,信号可以是
平稳的,也可以是非平稳的。
3.处理方法
维纳滤波器 根据全部过去的和当前的观测数据x(n),x(n-1), …
其算法是递推
且状态空间法采用 在时域内设计滤波器的方法
因而适用于多维随机过程的估计; 离散卡尔曼算法适用计算机处理。
4.信号模型的建立
从信号模型的建立来看: 维纳滤波的信号模型是从信号与噪声的相关函
数得到。 卡尔曼滤波的信号模型则是从状态方程和量测
方程得到。
卡尔曼滤波器的特点是什么?
第二节 卡尔曼滤波器的信号模型 —离散状态方程与量测方程
m为yk的维数,
n为k的维数,
ck xk是信号真值, 它是状态变量xk 各分量的线性组合。
即: sk ck xk
将式子代入 : yk=ck xk+k=sk+k
含义:观察或量测到的信号yk包括信号的真值与噪声。
信号的真值是一个多维矢量, 它是状态变量xk 各分量的线性组合。
在维纳滤波中: 希望得到s(n)的估计值sˆ(n) 与真值s(n)间的均方误差最小。
第二项:
k 1
Ak1 j Be( j):只与激励和系统本身特性有关,
j0
而与初始状态无关,称为零状态响应。
令Ak (k)代入,得:
k 1
x(k) (k)x(0) (k 1 j)Be( j) j0
当ek 0时,x(k) (k)x(0) Ak x(k)
由此可见,通过 k 可将k 0时的状态过渡到 任何k 0的状态。故称 k 为过渡矩阵或转移矩阵。
如果k0 k 1,就得到一步递推公式: x(k ) k,k1x(k 1) (0)Be(k 1) 由于(0) A0 I,代入上式,得:
x(k ) k,k1x(k 1) Be(k 1)
假设激励源为白噪声,即 Be(k 1)=w(k -1) 称为系统动态噪声, 而系统是时变的,即 k,k1=A(k ) 其中A(k )为状态变量之间的增益矩阵, 可以随时间发生变化;
总结
状态方程的核心是:设置状态变量, 状态变量是网络内部(最少的)节点变量, 一般设在延迟支路的输出端,状态方程刻 画了状态变量下一时刻的取值与当前时刻的 状态变量和输入之间的关系。
x(k 1) Ax(k) Be(k) 一步递推状态方程: x(k) A(k)x(k 1) w(k -1)
二、离散时间系统的量测方程
x(1) Ax(0) Be(0) x(2) Ax(1) Be(1) A2x(0) ABe(0) Be(1)
k 2
x(k 1) Ak1x(0) Ak2 j Be( j) j0 k 1
x(k ) Ak x(0) Ak1 j Be( j) j0
其中第一项: Ak x(0):只与系统本身的特性A和初始状态x(0)有关, 与激励信号e( )无关,称为零输入响应;
则: x(k) A(k)x(k 1) w(k -1) 为了书写方便,将变量k放在下标表示, xk Ak xk 1 wk -1
说明: 在k时刻的状态x(k )可以由它前一个时刻 的状态x(k -1)来求得,即:x(k -1)时刻以前 各状态的影响都已记忆在x(k -1)中了。 称为一步递推状态方程。
卡尔曼滤波需要依据观测数据对系统状态进行估计。 因此,除了要建立系统的状态方程, 还需要建立一个量测方程。 假设观测系统是线性的, 对于离散时间系统的量测方程可写成:
yk ck xk k
式中:
yk为观察或量测到的信号矢量序列,
k为观察噪声序列,
ck是观测矩阵(m n):表示状态变量与输出信号 之间的增益矩阵,可随时间变化;
相关主题