《粒子滤波算法原理及Matlab.ppt》由会员分享,可在线阅读,更多相关《粒子滤波算法原理及Matlab.ppt(18页珍藏版)》请在三一办公上搜索。
1、粒子滤波算法原理及Matlab程序,主讲:方牛娃QQ:345194112,1、粒子滤波的发展历史,90年代初,Gordon、Salmond、和Smith所提出的重采样(Resampling)技术。90年中期,计算机的计算能力的提高 近年来的新技术,EPF、UPF、RBPF等新的应用领域:目标定位和跟踪、图像处理、语音处理、故障检测、经济数据处理,2、蒙特卡洛原理,粒子滤波技术是以蒙特卡洛为基础的蒙特卡洛:用实验模拟的方法解决复杂的积分计算问题硬币投掷实验(1)掷一枚均匀硬币,正面朝上的次数X服从参数为,p的二项分布,XB(1,p)在Matlab中编辑.m文件输入以下命令:function ci
2、on_throw_test1p=0.3;%正面朝上的概率m=1000;%实验次数fun(p,m);%修改不同的p,m值function fun(p,mm)pro=zeros(1,mm);randnum=binornd(1,p,1,mm);%服从二项分布a=0;,2、蒙特卡洛原理,蒙特卡洛的应用,应用说明:利用蒙特卡洛模拟计算圆周率 方法解决:,假设平面上有无数条距离为1的等距平行线,现向该平面随机投掷一根长度为l的针(l1),则我们可计算该针与任一平行线相交的概率。这里,随机投针指的是:针的中心点与最近的平行线间的距离X均匀地分布在区间0,1/2上,针与平行线的夹角(不管相交与否)均匀的分布在
3、区间0,上。此时,针与线相交的充要条件是,从而针线相交的概率为:,2、蒙特卡洛,%说明:利用蒙特卡洛模拟计算圆周率%function buffon_testl=0.6;m=10000;%实验次数buffon(l,m);%function piguji=buffon(llength,mm)%llength 是针的长度%mm 是随机实验次数frq=0;xrandnum=unifrnd(0,0.5,1,mm);phi=unifrnd(0,pi,1,mm);for ii=1:mm if(xrandnum(1,ii)=(llength*sin(phi(1,ii)/2)frq=frq+1;end end
4、piguji=2*llength/(frq/mm)实验结果如下:,3、粒子滤波原理,粒子滤波目前有四大基本的重采样方法,分别是残差重采样(Residual resampling),多项式重采样(Multinomial resampling),系统重采样(Systematic resampling),随机重采样(random resampling),关于他们的原理,读者可以到网上检索相关的论文。,3、粒子滤波原理,随机重采样,执行仿真程序,得到以下仿真结果,图中上部就是程序中给定的W随机样本,而下部分是由随机采样得到的V样本集合。从连线关系可以看出,W样本集中的第2个样本被复制一次,第3个样本被
5、复制2次,第7个样本被复制2次,第8个样本被复制1次,第9个样本被复制2次,W中除了被复制的样本外,其他样本被舍弃,这就是“优胜劣汰”的思想。,4、粒子滤波在单目标跟踪中的应用,状态方程:观测方程:噪声模型:Q、R,4、纯方位角单目标跟踪,纯方位跟踪系统仿真程序%程序说明:单站单目标基于角度的跟踪系统,采用粒子滤波算法%状态方程 X(k+1)=F*X(k)+Lw(k)%观测方程 Z(k)=h(X)+v(k)function main%初始化参数clear;T=1;%采样周期M=30;%采样点数delta_w=1e-4;%过程噪声调整参数,设得越大,目标运行的机动性越大,轨迹越随机(乱)Q=de
6、lta_w*diag(0.5,1,0.5,1);%过程噪声均方差R=pi/180*0.1;%观测角度均方差,可将0.1设置的更小F=1,T,0,0;0,1,0,0;0,0,1,T;0,0,0,1;%系统初始化%Length=100;%目标运动的场地空间Width=100;%观测站的位置随即部署Node.x=Width*rand;Node.y=Length*rand;,5、粒子滤波在多目标跟踪中的应用,多目标跟踪系统状态方程观测方程,5、粒子滤波在多目标跟踪中的应用,近邻法分类,5、粒子滤波在多目标跟踪中的应用,近邻法分类程序%函数功能:近邻法分类程序%function Neighbour_Cl
7、assify_exam2%初始化数据Type=3;%假设已知三类目标%随机产生M个样本点M=30;%场地空间的长和宽Width=4;Length=4;%样本初始化、并模拟一组样本空间for i=1:Type x0=10*cos(pi*2*i/3);y0=10*sin(pi*2*i/3);XXi=x0,y0;%已知类别的样本集合 for j=1:M%模拟真实样本的空间,在类空间的位置 Xi(:,j)=x0+Width*randn;y0+Length*randn;endEnd,5、粒子滤波在多目标跟踪的应用,基于近邻法的多目标跟踪粒子滤波程序%单站多目标跟踪的建模程序,并用近邻法分类%主要模拟多目
8、标的运动和观测过程,涉及融合算法-近邻法function MTT_Model_With_NNClass_PF_SingleStation%初始化参数%观测站位置,随机的T=10;%仿真时间长度TargetNum=3;%目标个数dt=1;%采样时间间隔S.x=100*rand;%观测站水平位置S.y=100*rand;%观测站纵向位置F=1,dt,0,0;0,1,0,0;0,0,1,dt;0,0,0,1;%采用CV模型的状态转移矩阵G=0.5*dt2,0;dt,0;0,0.5*dt2;0,dt;%过程噪声驱动矩阵H=1,0,0,0;0,0,1,0;%观测矩阵,跟踪误差,跟踪轨迹,5、粒子滤波在电
9、池寿命预测中的应用,状态方程观测方程原始实验数据(右图),5、粒子滤波在电池寿命预测中的应用,程序清单%函数功能:粒子滤波用于电源寿命预测function main%初始化load Battery_Capacity%运行程序时需要将Battery_Capacity.mat文件拷贝到程序所在文件夹N=length(A12Cycle);%cycle的总数M=200;%粒子总数目Future_Cycle=100;%未来趋势if N260 N=260;%滤除大于260以后的数字end,参考资料,目 录第一部分 原理篇 1第一章 概述 11.1 粒子滤波的发展历史 11.2 粒子滤波的优缺点 21.3
10、粒子滤波的应用领域 3第二章 蒙特卡洛方法 42.1 概念和定义 42.2 蒙特卡洛模拟仿真程序 5硬币投掷实验(1)5硬币投掷实验(2)5古典概率实验 6几何概率模拟实验 7复杂概率模拟实验 72.3 蒙特卡洛理论基础 10大数定律 10中心极限定律 10蒙特卡洛的要点 112.4 蒙特卡洛方法的应用 132.4.1 Buffon实验及仿真程序 132.4.2 蒙特卡洛方法计算定积分的仿真程序 14第三章 粒子滤波 193.1 粒子滤波概述 193.1.1 蒙特卡洛采样原理 193.1.2 贝叶斯重要性采样 203.1.3 序列重要性抽样(SIS)滤波器 203.1.4 Bootstrap/
11、SIR滤波器 223.2 粒子滤波重采样方法实现程序 233.2.1 随机重采样程序 243.2.2 多项式重采样程序 253.2.3 系统重采样程序 263.2.4 残差重采样程序 273.3 粒子滤波原理 283.3.1 高斯模型下粒子滤波的实例程序 28,参考资料,第二部分 应用篇 33第四章 粒子滤波在单目标跟踪中的应用 334.1 目标跟踪过程描述 334.2 单站单目标跟踪系统建模 344.3 单站单目标观测距离的系统及仿真程序 374.3.1 基于距离的系统模型 374.3.2 基于距离的跟踪系统仿真程序 384.4 单站单目标纯方位角度观测系统及仿真程序 434.4.1 纯方位
12、目标跟踪系统模型 434.4.2 纯方位跟踪系统仿真程序 444.5 多站单目标纯方位角度观测系统及仿真程序 474.5.1 多站纯方位目标跟踪系统模型 474.5.2 多站纯方位跟踪系统仿真程序 48第五章 粒子滤波在多目标跟踪中的应用 545.1 多目标跟踪系统建模 545.1.1 单站多目标跟踪系统建模 545.1.2 多站多目标跟踪系统建模 555.1.3 单站多目标线性跟踪系统的建模仿真程序 555.1.4 多站多目标非线性跟踪系统的建模仿真程序 575.2 多目标跟踪分类算法 615.2.1 多目标数据融合概述 615.2.2 近邻法分类算法及程序 625.2.3 近邻法用于目标跟踪中的航迹关联及算法程序 665.2.4 K-近邻法分类算法 695.3 粒子滤波用于多目标跟算法中的状态估计 705.3.1 原理介绍 705.3.2 基于近邻法的多目标跟踪粒子滤波程序 71第六章 粒子滤波在电池寿命预测中的应用 766.1 概述 766.2 电池寿命预测的模型 786.3 基于粒子滤波的电池寿命预测仿真程序 81,谢谢大家!,