没有合适的资源?快使用搜索试试~ 我知道了~
《Kalman滤波原理及程序(手册)》.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 10 浏览量
2021-12-18
13:00:08
上传
评论
收藏 472KB DOCX 举报
温馨提示
试读
14页
。。。
资源推荐
资源详情
资源评论
《Kalman 滤波原理及程序》
KF/EKF/UKF 原理+应用实例+MATLAB 程序
本手册的研究内容主要有 Kalman 滤波,扩展 Kalman 滤波,无迹 Kalman
滤波等,包括理论介绍和 MATLAB 源程序两部分。本手册所介绍的线性滤波器,
主要是 Kalman 滤波和α-β滤波,交互多模型 Kalman 滤波,这些算法的应用领
域主要有温度测量、自由落体,GPS 导航、石油地震勘探、视频图像中的目标检
测和跟踪。
EKF 和 UKF 主要在非线性领域有着重要的应用,目标跟踪是最主要的非线
性领域应用之一,除了讲解目标跟踪外,还介绍了通用非线性系统的 EKF 和 UKF
滤波处理问题,相信读者可以通过学习本文通用的非线性系统,能快速掌握 EKF
和 UKF 滤波算法。
本文所涉及到的每一个应用实例,都包含原理介绍和程序代码(含详细的中
文注释)。
一、四维目标跟踪 Kalman 线性滤波例子
在不考虑机动目标自身的动力因素,将匀速直线运动的船舶系统推广到四
维,即状态 X (k) x(k ) x(k ) y(k ) y(k)T 包含水平方向的位置和速度和纵向
的位置和速度。则目标跟踪的系统方程可以用式(3.1)和(3.2)表示,
X(k 1)
X (k) u(k)
(2-4-9)
Z (k) HX (k) v(k )
(2-4-10)
1 T 0 0
0.5T
T
0
0
1 0
0 0
0 1
0 0
x
T
T
2
0 1 0 0
0 0 1 T
0 0 0 1
x
其中,
x
,
, H
, X
,
0
0.5T
T
y
y
2
0
Z
,u,v 为零均值的过程噪声和观测噪声。T 为采样周期。为了便于理解,
y
将状态方程和观测方程具体化:
x(k )
x(k )
y(k )
y(k )
1 T 0 0 x(k 1) 0.5T
0
0
2
0 1 0 0 x(k 1)
0 0 1 T y (k 1)
0 0 0 1 y (k 1)
T
0
0
w (k)
2 1
0.5T
T
2
x(k )
x(k )
y(k )
1 0 0 0 x(k )
0 0 1 0 y(k )
y(k )
Z
v (k )
2 1
假定船舶在二维水平面上运动,初始位置为(-100m,200m ),水平运动速度
为 2m/s,垂直方向的运动速度为 20 m/s,GPS 接收机的扫描周期为 T=1s,观测
噪声的均值为 0,方差为 100。过程噪声越小,目标越接近匀速直线运动,反之,
则为曲线运动。仿真得到以下结果:
1600
1400
1200
1000
800
25
20
15
10
5
600
400
200
-120
0
-100
-80
-60
-40
-20
0
20
40
0
10
20
30
40
50
60
图 3-1 跟踪轨迹图
图 3-2 跟踪误差图
仿真程序
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Kalman 滤波在目标跟踪中的应用实例
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function Kalman
clc;clear;
T=1;% 雷达扫描周期,
N=80/T; %总的采样次数
X=zeros(4,N); %目标真实位置、速度
X(:,1)=[-100,2,200,20]目;%标初始位置、速度
Z=zeros(2,N); %传感器对位置的观测
Z(:,1)=[X(1,1),X(3,1)%]; 观测初始化
delta_w=1e-2; % 如果增大这个参数,目标真实轨迹就是曲线了
Q=delta_w*diag([0.5,1,0.5,1])过;程%噪声均值
R=100*eye(2); % 观测噪声均值
F=[1,T,0,0;0,1,0,0;0,0,1,T;0,0%,0,状1]态; 转移矩阵
H=[1,0,0,0;0,0,1,0]%; 观测矩阵
……
……
二、视频图像目标跟踪 Kalman 滤波算法实例
如下图所示,对于自由下落的皮球,要在视频中检测目标,这里主要检测目
标中心,即红心皮球的重心,在模型建立时可以将该重心抽象成为一个质点,坐
标为 (x,y)。
图 2-6-1 下落的球
图 2-6-2 检测下落的球 图 2-6-3 跟踪下落的球
那么对该质点跟踪,它的状态为 X (k) x y x y ,状态方程如下
1 dt 0 0
0 1 dt 0
0 0 1 0
0 0 0 1
0
0
0
g
X(k 1)
X (k)
w (k)
观测方程为
1 0 0 0
0 1 0 0
Z (k)
X (k) v(k )
在这个过程中,前提是目标检测,一定要找到重心(x,y),与雷达目标跟踪中
观测目标位置是一回事。
图像目标检测跟踪程序
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 目标检测函数,这个函数主要完成将目标从背景中提取出来
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function detect
clear,clc;% 清除所有内存变量、图形窗口
% 计算背景图片数目
Imzero = zeros(240,320,3);
for i = 1:5
% 将图像文件 i.jpg的图像像素数据读入矩阵 Im
Im{i} = double(imread(['DATA/',int2str(i),'.jpg']));
Imzero = Im{i}+Imzero;
end
剩余13页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功