卡尔曼滤波(Kalman filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。
斯坦利·施密特(Stanley Schmidt)首次实现了卡尔曼滤波器。卡尔曼在NASA埃姆斯研究中心访问时,发现他的方法对于解决阿波罗计划的轨道预测很有用,后来阿波罗飞船的导航电脑使用了这种滤波器。 关于这种滤波器的论文由Swerling (1958), Kalman (1960)与 Kalman and Bucy (1961)发表。
数据滤波是去除噪声还原真实数据的一种数据处理技术, Kalman滤波在测量方差已知的情况下能够从一系列存在测量噪声的数据中,估计动态系统的状态 由于, 它便于计算机编程实现, 并能够对现场采集的数据进行实时的更新和处理, Kalman滤波是目前应用最为广泛的滤波方法, 在通信, 导航, 制导与控制等多领域得到了较好的应用
表达式
X(k)=A X(k-1)+B U(k)+W(k)
背景
斯坦利·施密特(Stanley Schmidt)首次实
现了卡尔曼滤波器。卡尔曼在NASA埃姆斯研究中心访问时,发现他的方法对于解决阿波罗计划的轨道预测很有用,后来阿波罗飞船的导航电脑使用了这种滤波器。关于这种滤波器的论文由Swerling (1958), Kalman (1960)与 Kalman and Bucy (1961)发表。
定义
传统的滤波方法,只能是在有用信号与噪声具有不同频带的条件下才能实现.20世纪40年代,N.维纳和A.H.柯尔莫哥罗夫把信号和噪声的统计性质引进了滤波理论,在假设信号和噪声都是平稳过程的条件下,利用最优化方法对信号真值进行估计,达到滤波目的,从而在概念上与传统的滤波方法联系起来,被称为维纳滤波。这种方法要求信号和噪声都必须是以平稳过程为条件。60年代初,卡尔曼(R.E.Kalman)和布塞(R. S.Bucy)发表了一篇重要的论文《线性滤波和预测 理论的新成果》,提出了一种新的线性滤波和预测理由论,被称之为卡尔曼滤波。特点是在线性状态空间表示的基础上对有噪声的输入和观测信号进行处理,求取系统状态或真实信号。
这种理论是在时间域上来表述的,基本的概念是:在线性系统的状态空间表示基础上,从输出和输入观测数据求系统状态的最优估计。这里所说的系统状态,是总结系统所有过去的输入和扰动对系统的作用的最小参数的集合,知道了系统的状态就能够与未来的输入与系统的扰动一起确定系统的整个行为。
卡尔曼滤波不要求信号和噪声都是平稳过程的假设条件。对于每个时刻的系统扰动和观测误差(即噪声),只要对它们的统计性质作某些适当的假定,通过对含有噪声的观测信号进行处理,就能在平均的意义上,求得误差为最小的真实信号的估计值。因此,自从卡尔曼滤波理论问世以来,在通信系统、电力系统、航空航天、环境污染控制、工业控制、雷达信号处理等许多部门都得到了应用,取得了许多成功应用的成果。例如在图像处理方面,应用卡尔曼滤波对由于某些噪声影响而造成模糊的图像进行复原。在对噪声作了某些统计性质的假定后,就可以用卡尔曼的算法以递推的方式从模糊图像中得到均方差最小的真实图像,使模糊的图像得到复原。
性质
①卡尔曼滤波是一个算法,它适用于线性、离散和有限维系统。每一个有外部变量的自回归移动平均系统(ARMAX)或可用有理传递函数表示的系统都可以转换成用状态空间表示的系统,从而能用卡尔曼滤波进行计算。
②任何一组观测数据都无助于消除x(t)的确定性。增益K(t)也同样地与观测数据无关。
③当观测数据和状态联合服从高斯分布时用卡尔曼递归公式计算得到的是高斯随机变量的条件均值和条件方差,从而卡尔曼滤波公式给出了计算状态的条件概率密度的更新过程线性最小方差估计,也就是最小方差估计。
形式
卡尔曼滤波已经有很多不同的实现,卡尔曼最初提出的形式一般称为简单卡尔曼滤波器。除此以外,还有施密特扩展滤波器、信息滤波器以及很多Bierman, Thornton 开发的平方根滤波器的变种。最常见的卡尔曼滤波器是锁相环,它在收音机、计算机和几乎任何视频或通讯设备中广泛存在。
实例
卡尔曼滤波的一个典型实例是从一组有限的,对物体位置的,包含噪声的观察序列中预测出物体的坐标位置及速度。在很多工程应用(雷达、计算机视觉)中都可以找到它的身影。同时,卡尔曼滤波也是控制理论以及控制系统工程中的一个重要话题。
应用
比如,在雷达中,人们感兴趣的是跟踪目标,但目标的位置、速度、加速度的测量值往往在任何时候都有噪声。卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测),也可以是对过去位置的估计(插值或平滑)。
扩展卡尔曼滤波(EXTEND KALMAN FILTER, EKF)
是由kalman filter考虑时间非线性的动态系统,常应用于目标跟踪系统。
状态估计
状态估计是卡尔曼滤波的重要组成部分。一般来说,根据观测数据对随机量进行定量推断就是估计问题,特别是对动态行为的状态估计,它能实现实时运行状态的估计和预测功能。比如对飞行器状态估计。状态估计对于了解和控制一个系统具有重要意义,所应用的方法属于统计学中的估计理论。最常用的是最小二乘估计,线性最小方差估计、最小方差估计、递推最小二乘估计等。其他如风险准则的贝叶斯估计、最大似然估计、随机逼近等方法也都有应用。
状态量
受噪声干扰的状态量是个随机量,不可能测得精确值,但可对它进行一系列观测,并依据一组观测值,按某种统计观点对它进行估计。使估计值尽可能准确地接近真实值,这就是最优估计。真实值与估计值之差称为估计误差。若估计值的数学期望与真实值相等,这种估计称为无偏估计。卡尔曼提出的递推最优估计理论,采用状态空间描述法,在算法采用递推形式,卡尔曼滤波能处理多维和非平稳的随机过程。
理论
卡尔曼滤波理论的提出,克服了威纳滤波理论的局限性使其在工程上得到了广泛的应用,尤其在控制、制导、导航、通讯等现代工程方面。
将预测值和测量值进行结合,对系统状态进行最优估计的算法。
在连续变化的系统中使用卡尔曼滤波是非常理想的,它具有占用内存小的优点(除了前一个状态量外,不需要保留其它历史数据),并且速度很快,很适合应用于实时问题和嵌入式系统。
根据k-1时刻的系统状态预测k时刻系统状态。
考虑外部因素控制的影响
外部因素会对系统进行控制,从而带来一些与系统自身状态没有相关性的改变。其中 成为控制矩阵, 称为控制向量,如果没有外部控制,这部分可以忽略。
外部噪声因素
在每次预测之后,我们可以添加一些新的不确定性来建立这种与“外界”(即我们没有跟踪的干扰)之间的不确定性模型
小结:
由上两式可知,新的最优估计是根据上一最优估计预测得到的,并加上已知外部控制量的修正。 而新的不确定性由上一不确定性预测得到,并加上外部环境的干扰。
加入传感器观测数据
卡尔曼滤波的一大优点就是能处理传感器噪声,我们的传感器或多或少都有点不可靠,并且原始估计中的每个状态可以和一定范围内的传感器读数对应起来。 从测量到的传感器数据中,我们大致能猜到系统当前处于什么状态。但是由于存在不确定性,某些状态可能比我们得到的读数更接近真实状态。
传感器早上用协方差 表示,该分布的均值 是我们读取到的传感器数据。
于是我们得到两个高斯分布,一个是预测值附近,一个是传感器读数附近。把两个具有不同均值和方差的高斯分布相乘,得到一个新的具有独立均值和方差的高斯分布。
结果如下,其中,K为卡尔曼增益。
总结:
我们可以用这些公式对任何线性系统建立精确的模型,对于非线性系统来说,我们使用扩展卡尔曼滤波,区别在于EKF多了一个把预测和测量部分进行线性化的过程。
参考文章:
>
卡尔曼(kalman)滤波卡尔曼滤波是一种高效率的递归滤波器(自回归滤波器), 它能够从一系列的不完全包含噪声的测量(英文:measurement)中,估计动态系统的状态。应用实例卡尔曼滤波的一个典型实例是从一组有限的,对物体位置的,包含噪声的观察序列预测出物体的坐标位置及速度 在很多工程应用(雷达, 计算机视觉)中都可以找到它的身影 同时,卡尔曼滤波也是控制理论以及控制系统工程中的一个重要话题 比如,在雷达中,人们感兴趣的是跟踪目标,但目标的位置,速度,加速度的测量值往往在任何时候都有噪声卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测),也可以是对过去位置的估计(插值或平滑) 命名这种滤波方法以它的发明者鲁道夫E卡尔曼(Rudolf E Kalman)命名 虽然Peter Swerling实际上更早提出了一种类似的算法 斯坦利施密特(Stanley Schmidt)首次实现了卡尔曼滤波器卡尔曼在NASA埃姆斯研究中心访问时,发现他的方法对于解决阿波罗计划的轨道预测很有用,后来阿波罗飞船的导航电脑使用了这种滤波器 关于这种滤波器的论文由Swerling (1958), Kalman (1960)与 Kalman and Bucy (1961)发表 目前,卡尔曼滤波已经有很多不同的实现卡尔曼最初提出的形式现在一般称为简单卡尔曼滤波器除此以外,还有施密特扩展滤波器,信息滤波器以及很多Bierman, Thornton 开发的平方根滤波器的变种也行最常见的卡尔曼滤波器是锁相环,它在收音机,计算机和几乎任何视频或通讯设备中广泛存在
传感器存在误差——需要跟踪——卡尔曼滤波
障碍物跟踪、车道线跟踪、障碍物预测以及定位等领域;
线性系统,且参数是符合高斯分布 ,即完全可以被均值和协方差参数化:X∼N(μ, σ²)。
预测状态(prediction)与观测状态(measurement)分别加权求和作为新时刻的状态向量。
prediction :
(状态协方差矩阵,表示系统不确定度)
measurement update :
(实际观测到的测量值 z 与预测值 x' 之间差值 y)
(当前状态向量 x 的更新)
(根据卡尔曼增益,更新了系统的不确定度 P)
其中,
F (state transition matrix):状态转移矩阵(运动学推导);
B :控制输入矩阵;
u :引起运动的输入向量(如油门、刹车、转角);
w :过程向量中的噪声因素,符合高斯分布,w∼N(0,Q);
P (state covariance matrix):在卡尔曼滤波器初始化时会很大,随着越来越多的数据注入滤波器中,不确定程度会变小;
Q (process covariance matrix):过程噪声,即无法用 x'=Fx+u 表示的噪声,比如车辆运动时突然到了上坡,这个影响是无法用之前的状态转移估计的;(由于 Q 对整个系统存在影响,但又不能太确定对系统的影响有多大。工 程上,我们一般将 Q 设置为单位矩阵参与运算 )
H (Measurement Matrix):测量矩阵, 由于传感器的测量值不一定就是直接的状态向量 ,如毫米波雷达是角度和位置信息,这里H就是转换矩阵,将预测向量转为测量数据;
R (measurement covariance matrix):测量噪声矩阵,表示的是测量值与真值之间的差值。一般情况下,传感器的厂家会提供该值;
S 只是为了简化公式,写的一个临时变量;
K (Kalman Gain):卡尔曼增益,也即y的权重。
问题 :针对线性系统,且符合高斯分布。
当状态向量与测量量之间映射关系是 非线性 时,这将使得卡尔曼滤波的过程和测量符合高斯分布的假设无效。
如毫米波雷达,返回数据是基于极坐标系,包含:
此时,H转移矩阵(状态向量向测量数据转换),也即笛卡尔坐标向极坐标映射:
这个映射就是非线性函数。
EKF 使用 局部线性逼近非线性模型 ,通过计算当前状态估计的 一阶泰勒展开 得出。一阶的逼近也叫 雅克比矩阵 。
如对上 泰勒展开(在均值u处,本例为0),
求出雅克比矩阵如下:
对比公式
2 自动驾驶中的传感器融合算法:第一部分 - 卡尔曼滤波器和扩展卡尔曼滤波器
5 详解卡尔曼滤波原理
%卡尔曼滤波
clear
N=800;
w(1)=0;
w=randn(1,N)
%系统预测的随机白噪声
x(1)=0;
a=1;
for
k=2:N;
x(k)=ax(k-1)+w(k-1);
%系统的预测值
end
V=randn(1,N);
%测量值的随机白噪声
q1=std(V);
Rvv=q1^2;
q2=std(x);
Rxx=q2^2;
q3=std(w);
Rww=q3^2;
c=02;
Y=cx+V;
%测量值
p(1)=0;
s(1)=0;
for
t=2:N;
p1(t)=a^2p(t-1)+Rww;
%前一时刻X的相关系数
b(t)=cp1(t)/(c^2p1(t)+Rvv);
%卡尔曼增益
s(t)=as(t-1)+b(t)(Y(t)-acs(t-1));
%经过滤波后的信号
p(t)=p1(t)-cb(t)p1(t);%t状态下x(t|t)的相关系数
end
figure(1)
plot(x)
title('系统的预测值')
figure(2)
plot(Y)
title('测量值')
figure(3)
plot(s)
title('滤波后的信号')
应急通信系统中关键技术研究
摘要 3-4
Abstract 4-8
1 绪论 8-18
11 课题背景及研究目的 8-12
111 应急通信系统概述 8-10
112 应急通信系统初步设计方案 10-12
12 本文研究工作的技术应用背景 12-15
121 运动目标跟踪和检测技术发展趋势 13
122 运动目标跟踪和检测技术的概述 13-15
13 本文研究的主要内容及章节安排 15-18
2 频闪信号d的空中运动模型 18-26
21 信号d目标模型建立 18-23
211 目标实时图像运动参量 18-21
212 目标图像运动模型建立 21-23
22 运动目标的状态模型及卡尔曼滤波器估计 23-25
221 卡尔曼(Kalman)滤波器 23-24
222 目标状态方程和观测方程的实际建立 24-25
23 本章小结 25-26
3 信号d目标视频采集与跟踪检测方法 26-54
31 基于DirectShow的视频采集 26-31
311 DirectShow简介 27-28
312 创建实际的Filter Graph 28-30
313 视频采集的图像格式 30-31
32 基于mean-shift跟踪算法的运动目标跟踪 31-42
321 初始帧的目标特征 33-34
322 当前帧的候选目标模型 34
323 基于Bhattacharyya系数的相似性测度 34-37
324 卡尔曼(Kalman)滤波器与mean-Shift跟踪算法相结合 37-39
325 跟踪结果与分析 39-42
33 mean-shift跟踪算法和形心匹配算法结合 42-52
331 图像的中值滤波 44-45
332 目标图像的阈值分割(二值化) 45-46
333 目标图像的边缘检测 46-47
334 目标图像的轮廓提取及形心计算 47-49
335 目标形心的配准 49-50
336 mean-shift算法与形心匹配算法结合实现步骤 50-51
337 跟踪效果及分析 51-52
34 本章小结 52-54
4 信号d目标的图像跟踪系统设计 54-68
41 视频采集模块 54-56
411 摄像机镜头的选择 54-55
412 视频采集卡的选择 55-56
42 云台控制模块 56-60
421 旋转云台选择 56-57
422 云台解码器 57-60
43 计算机处理模块 60-66
431 视频采集及图像预处理 61
432 运动目标的实时跟踪 61-62
433 云台控制 62-63
434 摄像机镜头的自动聚焦控制 63-66
44 本章小结 66-68
5 结束语
以上是大纲,觉得合适与我索取全文免费,
卡尔曼滤波和MPC(Model Predictive Control)是两种经典的控制算法,它们的应用场景不同,且具有不同的控制目标。
卡尔曼滤波主要用于估计状态变量,属于一种基于贝叶斯理论的最优估计算法。它通过对观测数据和系统模型进行融合,可以及时地估计出系统的状态,并降低因噪声等因素引起的测量误差。卡尔曼滤波广泛应用于导航、目标跟踪、机器人等系统领域。
MPC主要用于动态系统的控制,通过对未来一段时间内的状态变量进行预测,使得控制器可以快速、准确地响应变化的环境。MPC在每个采样周期内都会对未来一段时间内的系统状态进行预测,并计算出一个优化控制输入,以使得系统在未来的时间内达到预期的控制目标。MPC广泛应用于工业生产、交通运输、电力系统等领域。
因此,卡尔曼滤波和MPC虽然都是控制领域中的经典算法,但它们的应用场景和控制目标不同,需要根据实际情况选择合适的算法。
以上就是关于卡尔曼滤波的详细原理全部的内容,包括:卡尔曼滤波的详细原理、卡尔曼滤波、什么是kalman滤波器等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)