[转]基于粒子滤波的TBD算法仿真----MATLAB仿真
作者:互联网
目标跟踪的最终目的是在最小的误差下确定目标的位置,而在无线传感器网络中要实现这个目的需要很多相关技术的支持,如定位技术、目标检测技术、估计技术、节能技术等。目标跟踪问题的求解有很多方法, 从算法的考虑方向上来说可以分为两大类: 自顶向下的算法和自底向上的算法 。自顶向下的目标跟踪算法的核心思想是先对要跟踪的目标进行恰当的建模, 从模型出发来实现跟踪目的,状态空间方法就是一种典型的自顶向下的方法。所谓自底向上的方法, 就是指没有现成的理论框架, 从实际问题出发、从得到的数据出发来实现对目标的跟踪。从效果上来看, 两种方法的跟踪效果并没有特别明显的差异,但是由于自顶向下的方法有严格的理论框架, 便于进行研究, 本文中主要考虑这种方法。
无线传感器网络中,在特定的检测区域布设好无线传感器网络后,网络先进行初始化,对网络中所有的节点 进行定位,然后就可以对感兴趣的目标进行跟踪了。
目标跟踪和检测的问题描述
对于无线传感器网络中的目标跟踪和检测问题, 目标的运动过程即状态转移方程通常可以用一阶的马尔
科夫状态方程来描述
式中, xk 表示 xk -1 时刻的目标状态向量, 一般可能包含目标的位置、速度、加速度等信息; f( xk -1) 表示目标状态从 xk -1 时刻到 xk 时刻的状态转移函数( 线性或非线性) ; wk 表示过程噪声向量。相应的, 时刻的观测方程的一般形式:
式中, zk 表示 xk 时刻节点中得到的观测向量, h( xk) 表示观测函数( 线性或非线性) , vk 表示观测噪声。过程噪声和观测噪声均是未知的, 且不一定是均值为零的高斯白噪声, 但是它们的概率密度一般都是知道的。有了这两个模型后, 目标跟踪所要解决的问题就是根据目标之前的状态和得到的观测序列来求解目标的当前状态量。
粒子滤波算法
粒子滤波算法的出现历时半个多世纪, 最早可以追溯到 20 世纪四十年代 Metropolis 等人提出的蒙特卡洛方法( Monte Carlo method) 20 世纪七十年代 MC 方法首次用于解决非线性滤波问题, 当时使用的是序贯重要性采样方法: 用一组从建议分布中采样得到的带权值的样本来近似目标状态分布,这种方法存在很严重的样本权值退化问题,实际的应用非常有限; 1993 年,Gordon 等人提出了重采样的概念[6] ,并将重采样引入到蒙特卡洛重要性采样过程中有效地解决了样本权值退化问题, 开启了基于蒙特卡洛积分的粒子滤波算法的研究热潮。经过二十多年的研究和发展,如今粒子滤波算法已经相当成熟,成为非线性、非高斯系统中的估计问题最重要的解决方法之一, 广泛应用于自主导航、机器人视觉和目标跟踪等问题中 。
已知目标状态的初始分布为 p( x0) 、它在 k - 1 时刻的后验概率密度分布为 p( xk -1 z1: k -1) = { xi k -1,wi k -1} N i = 1,结合重要性采样和重采样, 一般的粒子滤波算法估计 k时刻的目标状态向量 xk 的具体步骤如下
- ( 1) 初始化: k = 0, 从 p( x0) 中随机抽取 N 个初始粒子 { x0i ,i = 1,2,…,N} , 并令每个粒子的初始权值都为 1 /N。
- ( 2) 根据提议分布( 一般使用 SIS 算法, 即取先验概率密度函数为提议分布) 更新粒子
- ( 3) 在得到 k 时刻观测值 zk 后, 根据公式计算每个粒子的权值
- ( 4) 重采样过程, 先根据公式计算有效粒子数,执行重采样算法( 如多项式重采样等) ,否则就直接跳到第( 5) 步。
- ( 5) 根据蒙特卡洛积分得到 k 时刻目标状态的估计值:
- ( 6) 令 k = k + 1, 得到 k + 1 时刻的观测值后转到步骤( 2) ,直到结束。
仿真结果
文档下载:链接:https://pan.baidu.com/s/1IOwb2cOw3A2tvlTboVa88g
提取码:p7a1
程序下载:链接:https://pan.baidu.com/s/1XA42i4oYesMWayf5ts3fWA
提取码:juo7
解码密码获取:http://t.cn/AiTjdQZq
标签:仿真,xk,粒子,目标,算法,采样,MATLAB,TBD,跟踪 来源: https://www.cnblogs.com/Axiao123/p/11331359.html