卡尔曼滤波器分类及基本公式
- 格式:ppt
- 大小:790.00 KB
- 文档页数:39
卡尔曼滤波器的原理与应用1. 什么是卡尔曼滤波器?卡尔曼滤波器(Kalman Filter)是一种用于估计系统状态的数学算法,它通过将系统的测量值和模型预测值进行加权平均,得到对系统状态的最优估计。
卡尔曼滤波器最初由卡尔曼(Rudolf E. Kálmán)在20世纪60年代提出,广泛应用于航天、航空、导航、机器人等领域。
2. 卡尔曼滤波器的原理卡尔曼滤波器的原理基于贝叶斯滤波理论,主要包括两个步骤:预测步骤和更新步骤。
2.1 预测步骤预测步骤是根据系统的动力学模型和上一时刻的状态估计,预测出当前时刻的系统状态。
预测步骤的过程可以用以下公式表示:x̂k = Fk * x̂k-1 + Bk * ukP̂k = Fk * Pk-1 * Fk' + Qk其中,x̂k为当前时刻的状态估计,Fk为状态转移矩阵,x̂k-1为上一时刻的状态估计,Bk为输入控制矩阵,uk为输入控制量,Pk为状态协方差矩阵,Qk为过程噪声的协方差矩阵。
2.2 更新步骤更新步骤是根据系统的测量值和预测步骤中的状态估计,通过加权平均得到对系统状态的最优估计。
更新步骤的过程可以用以下公式表示:Kk = P̂k * Hk' * (Hk * P̂k * Hk' + Rk)^-1x̂k = x̂k + Kk * (zk - Hk * x̂k)Pk = (I - Kk * Hk) * P̂k其中,Kk为卡尔曼增益矩阵,Hk为测量矩阵,zk为当前时刻的测量值,Rk 为测量噪声的协方差矩阵,I为单位矩阵。
3. 卡尔曼滤波器的应用卡尔曼滤波器广泛应用于以下领域:3.1 导航与定位卡尔曼滤波器在导航与定位领域的应用主要包括惯性导航、GPS定位等。
通过融合惯性测量单元(Inertial Measurement Unit)和其他定位信息,如GPS、罗盘等,卡尔曼滤波器可以提高导航与定位的准确性和鲁棒性。
3.2 机器人控制卡尔曼滤波器在机器人控制领域的应用主要包括姿态估计、移动定位、目标跟踪等。
卡尔曼滤波器介绍摘要在1960年,R.E.Kalman发表了关于递归解决线性离散数据滤波器的著名论文,从那时间起,由于在数字计算的大部分提高,Kalman滤波器已成为广泛研究和应用的学科,尤其是自动或辅助导航系统。
Kalman滤波器是一套数学等式,它提供了一种有效的以最小均方误差来估计系统状态的计算(递归的)方法。
它在以下几方面是非常强大的:它支持过去、现在、甚至将来估计,甚至在系统准确模型也未知的情况下。
本文的目的是提供一种对离散的Kalman滤波器的实用介绍。
这些介绍包括对基本离散kalman滤波器、起源和与之相关的简单(有形)的带有真实数字和结果的描述和讨论。
1、离散的kalman滤波器在1960年,R.E.Kalman发表了关于递归解决线性离散数据滤波器的著名论文,从那时间起,由于在数字计算的大部分提高,Kalman滤波器已成为广泛研究和应用的学科,尤其是自动或辅助导航系统。
关于kalman滤波器一般方法的友好介绍可以在〔maybeck79〕的Chapter.1中找到,但是更完整部分的讨论能在〔Sorenson70〕中发现,它还包括许多有趣的历史解释。
在〔Gelb74;Grewal93;Maybeck79;Lewis86;Brown92;jacobs93〕中有更多参考。
估值过程Kalman滤波器解决估计离散时间控制过程的状态X∈R n的一般性问题,定义线性随机差分方程其中,测量值Z∈R m,定义为随机变量W K和V K各自表示系统噪声和测量噪声,我们假定它们为相互独立的、白噪声且为正常概率分布在实际中,系统噪声协方差矩阵Q和测量噪声协方差矩阵R可能随过程和测量时间而改变,无论怎样,我们在这里假定它们是常量。
在差分方程(1.1)中,n×n阶矩阵A与前一时刻(K-1)和当前时刻K相关,这里缺少传递函数或系统噪声。
注意的是,在实际中,A可能随各自时刻改变,但这里我们假定其为常量,n×l阶矩阵R与非强制性输入U∈R l和状态x有关,在测量公式(1.2)中,m×n阶矩阵H 与状态及测量值Z K有关,在实际中,H可能随各自过程或测量时刻而改变,这里假定它们是常数。
卡尔曼滤波计算举例⏹计算举例⏹卡尔曼滤波器特性假设有一个标量系统,信号与观测模型为[1][][]x k ax k n k +=+[][][]z k x k w k =+其中a 为常数,n [k ]和w [k ]是不相关的零均值白噪声,方差分别为和。
系统的起始变量x [0]为随机变量,其均值为零,方差为。
2nσ2σ[0]x P (1)求估计x [k ]的卡尔曼滤波算法;(2)当时的卡尔曼滤波增益和滤波误差方差。
220.9,1,10,[0]10nx a P =σ=σ==1. 计算举例根据卡尔曼算法,预测方程为:ˆˆ[/1][1/1]xk k ax k k -=--预测误差方差为:22[/1][1/1]x x nP k k a P k k -=--+σ卡尔曼增益为:()1222222[][/1][/1][1/1][1/1]x x x nx n K k P k k P k k a P k k a P k k -=--+σ--+σ=--+σ+σˆˆˆ[/][/1][]([][/1])ˆˆ[1/1][]([][1/1])ˆ(1[])[1/1][][]xk k x k k K k z k x k k axk k K k z k ax k k a K k xk k K k z k =-+--=--+---=---+滤波方程:()()2222222222222[/](1[])[/1][1/1]1[1/1][1/1][1/1][1/1]x x x nx n x n x nx nP k k K k P k k a P k k a P k k a P k k a P k k a P k k =--⎛⎫--+σ=---+σ ⎪--+σ+σ⎝⎭σ--+σ=--+σ+σ滤波误差方差起始:ˆ[0/0]0x=[0/0][0]x x P P =k [/1]x P k k -[/]x P k k []K k 012345689104.76443.27012.67342.27652.21422.18362.16832.16089.104.85923.64883.16542.94752.84402.79352.76870.47360.32700.26730.24040.22770.22140.21840.2168ˆ[0/0]0x=[0/0]10x P =220.9110na =σ=σ=2. 卡尔曼滤波器的特性从以上计算公式和计算结果可以看出卡尔曼滤波器的一些特性:(1)滤波误差方差的上限取决于测量噪声的方差,即()2222222[1/1][/][1/1]x nx x na P k k P k k a P k k σ--+σ=≤σ--+σ+σ2[/]x P k k ≤σ这是因为(2)预测误差方差总是大于等于扰动噪声的方差,即2[/1]x nP k k -≥σ这是因为222[/1][1/1]x x n nP k k a P k k -=--+σ≥σ(3)卡尔曼增益满足,随着k 的增加趋于一个稳定值。
卡尔曼滤波器的五个公式
卡尔曼滤波器主要有两个公式,分别是状态预测公式和状态更新公式。
而状态预测公式又可以细分为系统状态预测公式和状态协方差预测公式。
因此,卡尔曼滤波器总共有五个公式,具体如下:
1. 系统状态预测公式(状态方程):
x(k) = F * x(k-1) + B * u(k-1) + w(k-1)
其中,x(k)为当前时刻的状态向量,F为状态转移矩阵,x(k-1)为上一时刻的状态向量,B为控制输入矩阵,u(k-1)为控制输入向量,w(k-1)为过程噪声向量。
2. 状态协方差预测公式(协方差方程):
P(k) = F * P(k-1) * F^T + Q(k-1)
其中,P(k)为当前时刻的状态协方差矩阵,Q(k-1)为过程噪声协方差矩阵。
3. 状态更新公式(测量方程):
z(k) = H * x(k) + v(k)
其中,z(k)为当前时刻的测量向量,H为测量矩阵,v(k)为测量噪声向量。
4. 估计协方差更新公式:
S(k) = H * P(k) * H^T + R(k)
其中,S(k)为当前时刻的估计协方差矩阵,R(k)为测量噪声协方差矩阵。
5. 状态修正公式:
K(k) = P(k) * H^T * (H * P(k) * H^T + R(k))^-1
其中,K(k)为卡尔曼增益矩阵。
通过以上五个公式的迭代运算,可以实现卡尔曼滤波器的状态预测和状态更新,从而提高状态估计的准确性。
卡尔曼核心公式卡尔曼滤波是一种用于处理实时控制、估计和预测问题的算法。
卡尔曼滤波基于贝叶斯统计学的一系列假设,包括线性系统、高斯噪声等。
卡尔曼滤波的核心公式是卡尔曼滤波器方程,它描述了如何根据先前的状态估计和当前的观测值来更新状态估计。
下面我们来具体介绍卡尔曼滤波的核心公式。
状态方程卡尔曼滤波器方程的核心就是状态方程和观测方程。
状态方程描述了系统的演化过程,通常用一个线性动态系统来表示。
假设这个线性动态系统是一个一阶的离散时间系统,其状态方程可以表示为:x[k] = A[k]x[k-1] + B[k]u[k-1] + w[k-1]其中,x[k]是时间k时刻的状态向量,A[k]是状态转移矩阵,B[k]是输入矩阵,u[k-1]是时间k-1时刻的输入,w[k-1]是状态转移过程中噪声的影响。
观测方程观测方程描述了系统的测量过程,通常用一个线性系统来表示。
假设这个线性系统是一个二阶的离散时间系统,其观测方程可以表示为:z[k] = H[k]x[k] + v[k]其中,z[k]是时间k时刻的测量向量,H[k]是观测矩阵,v[k]是测量过程中噪声的影响。
卡尔曼滤波器方程卡尔曼滤波器方程是根据状态方程和观测方程推导出来的,用于更新状态向量的估计。
推导出的卡尔曼滤波器方程如下:x[k|k] = A[k]x[k-1|k-1] + B[k]u[k-1]P[k|k] = A[k]P[k-1|k-1]A[k]T + Q[k-1]K[k] = P[k|k]H[k]T(H[k]P[k|k]H[k]T + R[k])^-1x[k|k] = x[k|k-1] + K[k](z[k] - H[k]x[k|k-1])P[k|k] = (I - K[k]H[k])P[k|k-1]其中,x[k|k]是在时间k时刻根据先前的状态估计和当前的观测值来更新的状态向量,P[k|k]是状态向量的协方差矩阵,Q[k-1]是状态向量的过程噪声协方差矩阵,R[k]是测量噪声协方差矩阵,K[k]是卡尔曼增益。