卡尔曼滤波器及其简matlab仿真

本文由用户“旧念控_”分享发布 更新时间:2022-07-12 14:54:19 举报文档

以下为《卡尔曼滤波器及其简matlab仿真》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

卡尔曼滤波器及其简matlab仿真

卡尔曼滤波的起源

谈到信号的分析与处理,就离不开滤波两个字。通常,信号的频谱处于有限的频率范围内,而噪声的频谱则散布在很广的频率范围内,为了消除噪声,可以进行频域滤波。但在许多应用场合,需要直接进行时域滤波,从带噪声的信号中提取有用信号。虽然这样的过程其实也算是对信号的滤波,但其所依据的理论,即针对随机信号的估计理论,是自成体系的。人们对于随机信号干扰下的有用信号不能“确知”,只能“估计”。为了“估计”,要事先确定某种准则以评定估计的好坏程度。

1960年卡尔曼发表了用递归方法解决离散数据线性滤波问题的论文A?New?Approach?to?Linear?Filtering?and?Prediction?Problems(线性滤波与预测问题的新方法),在这篇文章里一种克服了维纳滤波缺点的新方法被提出来,这就是我们今天称之为卡尔曼滤波的方法。卡尔曼滤波应用广泛且功能强大,它可以估计信号的过去和当前状态甚至能估计将来的状态即使并不知道模型的确切性质。?

其基本思想是以最小均方某某为最佳估计准则,采用信号与噪声的状态空间模型利用前一时刻的估计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值。算法根据建立的系统方程和观测方程对需要处理的信号做出满足最小均方某某的估计。?

对于解决很大部分的问题,它是最优,效率最高甚至是最有用的。它的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。

卡尔曼滤波不要求保存过去的测量数据,当新的数据到来时,根据新的数据和前一时刻的储值的估计,借助于系统本身的状态转移方程,按照一套递推公式,即可算出新的估值。卡尔曼递推算法大大减少了滤波装置的存储量和计算量,并且突破了平稳随机过程的限制,使卡尔曼滤波器适用于对时变信号的实时处理。

卡尔曼滤波的原理

卡尔曼滤波思想的来源是在海图作业中,航海长通常以前一时刻的船位为基准,根据航向、船速和海流等一系列因素推算下一个船位,但是他并不轻易认为船位就一定在推算船位上,还要选择适当的方法,通过仪器得到另一个推算船位。观测和推算这两个船位一般不重合,航海长需要通过分析和判断选择一个可靠的船位,作为船舰当前的位置。就是以现时刻的最佳估计为在前一时刻的最佳估计的基础上根据现时刻的观测值作线性修正。

卡尔曼滤波在数学上是一种线性最小方差统计估算方法,它是通过处理一系列带有误差的实际测量数据而得到物理参数的最佳估算。其实质要解决的问题是要寻找在最小均方某某下的估计值。它的特点是可以用递推的方法计算,其所需数据存储量较小,便于进行实时处理。具体来说,卡尔曼滤波就是要用预测方程和测量方程对系统状态进行估计。

设动态系统的状态方程和测量方程分别为:





上两式子中,是k时刻的系统状态,和是k-1时刻到k时刻的状态转移矩阵,是k时刻的测量值,是测量系统的参数,和分别表示过程和测量的噪声,他们被假设成高斯白某某。如果被估计状态和观测量是满足上述第一式,系统过程噪声和观测噪声满足第二式的假设,k时刻的观测的估计可按下述方程求解。

状态的一步预测: (1)

均方某某进一步预测: (2)

滤波增 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 ) ……… (5)

end

for i = 1: N

expValue(i) = 25;

end

k=1:N;

plot(k,X,'r',k,Y,'g',k,expValue,'b');

legend('真实值','估计值','测量值');

axis([0 N 10 30])

xlabel('时间');

ylabel('房间温度');

title('卡尔曼滤波');

滤波结果如下图:



由上图可以看出,滤波效果比较明显,滤波后的温度基本等于房间的真实值25度,将温度测量的大部分误差都过滤掉了。从仿真结果可以看出,卡尔曼滤波器能够有效地在一定的噪声干扰下比较准确地反映真实值。

[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]

以上为《卡尔曼滤波器及其简matlab仿真》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览

热门关注

相关下载