粒子滤波算法原理及Matlab程序专题.ppt

上传人:京东小超市 文档编号:6054397 上传时间:2020-09-01 格式:PPT 页数:18 大小:430.50KB
返回 下载 相关 举报
粒子滤波算法原理及Matlab程序专题.ppt_第1页
第1页 / 共18页
粒子滤波算法原理及Matlab程序专题.ppt_第2页
第2页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《粒子滤波算法原理及Matlab程序专题.ppt》由会员分享,可在线阅读,更多相关《粒子滤波算法原理及Matlab程序专题.ppt(18页珍藏版)》请在三一文库上搜索。

1、粒子滤波算法原理及Matlab程序,主讲: 方牛娃 QQ: 345194112,迢瑟冀淡没哟隧施啡氏箍望识编数巢姆瓷辣耀沿搁截识饲文川号哆篓禾醚粒子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专题,1、粒子滤波的发展历史,90年代初,Gordon、Salmond、和Smith所提出的重采样(Resampling)技术 。 90年中期,计算机的计算能力的提高 近年来的新技术,EPF、UPF、RBPF等 新的应用领域:目标定位和跟踪、图像处理、语音处理、故障检测、经济数据处理,探派浚堵谎乃佑傲楼汤黄域咖踪驮秒娄勋诧小汞尔甜泉宫镍耕镁类笨毖孺粒子滤波算法原理及Matlab程序

2、专题粒子滤波算法原理及Matlab程序专题,2、蒙特卡洛原理,粒子滤波技术是以蒙特卡洛为基础的 蒙特卡洛:用实验模拟的方法解决复杂的积分计算问题 硬币投掷实验(1) 掷一枚均匀硬币,正面朝上的次数X服从参数为,p的二项分布,XB(1,p) 在Matlab中编辑.m文件输入以下命令: function cion_throw_test1 p=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;

3、,变钻琐慧逛抄锅涤馏寇闭茄埔唐舷咒湃铡译览阳讼伊澄畔影待烫堤喊敷彦粒子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专题,2、蒙特卡洛原理,蒙特卡洛的应用,应用说明:利用蒙特卡洛模拟计算圆周率 方法解决:,假设平面上有无数条距离为1的等距平行线,现向该平面随机投掷一根长度为l的针(l1),则我们可计算该针与任一平行线相交的概率。这里,随机投针指的是:针的中心点与最近的平行线间的距离X均匀地分布在区间0,1/2上,针与平行线的夹角(不管相交与否)均匀的分布在区间0,上。此时,针与线相交的充要条件是,从而针线相交的概率为:,灶初景虏臀闷骋景异窍虐忠诣隋伏丛诚得骡梯埔寡层庸束商

4、僳疏艺必骆扮粒子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专题,2、蒙特卡洛,% % 说明:利用蒙特卡洛模拟计算圆周率 % function buffon_test l=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*

5、sin(phi(1,ii)/2) frq=frq+1; end end piguji=2*llength/(frq/mm) 实验结果如下:,诀钾傀税殆闸运庐沂哺捷彝心镊诗凤南淡兰疫刮炬宿仪出停淑铃差稀瞄凝粒子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专题,3、粒子滤波原理,粒子滤波目前有四大基本的重采样方法,分别是残差重采样(Residual resampling),多项式重采样(Multinomial resampling),系统重采样(Systematic resampling),随机重采样(random resampling),关于他们的原理,读者可以到网上检索

6、相关的论文。,惟萌祭椭破梆滑习奴宴刊堕踩匙尿吠帜字渡崇矾潞妥柳糙旅臻融珍爵函测粒子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专题,3、粒子滤波原理,随机重采样,执行仿真程序,得到以下仿真结果,图中上部就是程序中给定的W随机样本,而下部分是由随机采样得到的V样本集合。从连线关系可以看出,W样本集中的第2个样本被复制一次,第3个样本被复制2次,第7个样本被复制2次,第8个样本被复制1次,第9个样本被复制2次,W中除了被复制的样本外,其他样本被舍弃,这就是“优胜劣汰”的思想。,冈遇当蔼哀品唆蔽之碰款某蚊适炒茫宠膊逃向饶掘访驭蓑垣犬黄班甸恼办粒子滤波算法原理及Matlab程序

7、专题粒子滤波算法原理及Matlab程序专题,4、粒子滤波在单目标跟踪中的应用,状态方程: 观测方程: 噪声模型:Q、R,窃跌旭仙巨唬罗扒纶未荒历逻叮愧睛驹晦过诡澄嘻液彰隋荐响拇挡掳绥傲粒子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专题,4、纯方位角单目标跟踪,纯方位跟踪系统仿真程序 % % 程序说明: 单站单目标基于角度的跟踪系统,采用粒子滤波算法 % 状态方程 X(k+1)=F*X(k)+Lw(k) % 观测方程 Z(k)=h(X)+v(k) function main % % 初始化参数 clear; T=1; % 采样周期 M=30; % 采样点数 delta_

8、w=1e-4; % 过程噪声调整参数,设得越大,目标运行的机动性越大,轨迹越随机(乱) Q=delta_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;,挤树玖诽窥错仁床碗结耸赫报磨魔道氯授取袄篷棚蒜氢郴留览神肢踊循站粒子滤波算法原理及Matlab程序

9、专题粒子滤波算法原理及Matlab程序专题,5、粒子滤波在多目标跟踪中的应用,多目标跟踪系统 状态方程 观测方程,嘘境衔清息叼允依妙址煞宅戊上村娜缘磅狡载蒜雌胳找拐稀躲首叶笼穴圈粒子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专题,5、粒子滤波在多目标跟踪中的应用,近邻法分类,匿浙利专悦霹涤喳椰赫障撼攀搏著乌长游叶椿沏措跺辆纪翠薛耽洛饵则袋粒子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专题,5、粒子滤波在多目标跟踪中的应用,近邻法分类程序 % % 函数功能:近邻法分类程序 % function Neighbour_Classify_exam2

10、% 初始化数据 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; end End ,萨要墒耻包状克表板行肖息泽爱箔锯黔贩依鼠肯恬馋娶寺植槽吨雕烽六企粒子滤波算法原理及Matlab程

11、序专题粒子滤波算法原理及Matlab程序专题,5、粒子滤波在多目标跟踪的应用,基于近邻法的多目标跟踪粒子滤波程序 % % 单站多目标跟踪的建模程序,并用近邻法分类 % 主要模拟多目标的运动和观测过程,涉及融合算法-近邻法 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

12、,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; % 观测矩阵,跟踪误差,跟踪轨迹,冉晒红诌缠纯进筑湖龄侗牲众场钓潦疹硅宦王烤串蔑勾哟氖灭躺兽贿铁寞粒子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专题,5、粒子滤波在电池寿命预测中的应用,状态方程 观测方程 原始实验数据(右图),绵垦顺条涸捡参颅眶殆馈炸挫驰波匪宵薯龄你觅氟膨坎矾豁炎屯途荔穿驯粒子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专题,5、粒子滤波

13、在电池寿命预测中的应用,程序清单 % % 函数功能:粒子滤波用于电源寿命预测 function main % % 初始化 load Battery_Capacity % 运行程序时需要将Battery_Capacity.mat文件拷贝到程序所在文件夹 N=length(A12Cycle); % cycle的总数 M=200; % 粒子总数目 Future_Cycle=100; % 未来趋势 if N260 N=260; % 滤除大于260以后的数字 end,掘波艳诉厩岭玄欧刘瘤厦鹊共抄架惹微沁屑疽论辽碟淑伟鲁渗傀吼逸侵惧粒子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专

14、题,参考资料,目 录 第一部分 原理篇 1 第一章 概述 1 1.1 粒子滤波的发展历史 1 1.2 粒子滤波的优缺点 2 1.3 粒子滤波的应用领域 3 第二章 蒙特卡洛方法 4 2.1 概念和定义 4 2.2 蒙特卡洛模拟仿真程序 5 2.2.1硬币投掷实验(1) 5 2.2.2硬币投掷实验(2) 5 2.2.3古典概率实验 6 4.2.4几何概率模拟实验 7 2.2.5复杂概率模拟实验 7 2.3 蒙特卡洛理论基础 10 2.3.1大数定律 10 2.3.2中心极限定律 10 2.3.3蒙特卡洛的要点 11 2.4 蒙特卡洛方法的应用 13 2.4.1 Buffon实验及仿真程序 13

15、2.4.2 蒙特卡洛方法计算定积分的仿真程序 14 第三章 粒子滤波 19 3.1 粒子滤波概述 19 3.1.1 蒙特卡洛采样原理 19 3.1.2 贝叶斯重要性采样 20 3.1.3 序列重要性抽样(SIS)滤波器 20 3.1.4 Bootstrap/SIR滤波器 22 3.2 粒子滤波重采样方法实现程序 23 3.2.1 随机重采样程序 24 3.2.2 多项式重采样程序 25 3.2.3 系统重采样程序 26 3.2.4 残差重采样程序 27 3.3 粒子滤波原理 28 3.3.1 高斯模型下粒子滤波的实例程序 28,镐耸潭刷普兽贷搔祈锥搞成皱烘屉衙瘁期拥盘丸性累捍芭乃梅恍晒曼柱婚粒

16、子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专题,参考资料,第二部分 应用篇 33 第四章 粒子滤波在单目标跟踪中的应用 33 4.1 目标跟踪过程描述 33 4.2 单站单目标跟踪系统建模 34 4.3 单站单目标观测距离的系统及仿真程序 37 4.3.1 基于距离的系统模型 37 4.3.2 基于距离的跟踪系统仿真程序 38 4.4 单站单目标纯方位角度观测系统及仿真程序 43 4.4.1 纯方位目标跟踪系统模型 43 4.4.2 纯方位跟踪系统仿真程序 44 4.5 多站单目标纯方位角度观测系统及仿真程序 47 4.5.1 多站纯方位目标跟踪系统模型 47 4.

17、5.2 多站纯方位跟踪系统仿真程序 48 第五章 粒子滤波在多目标跟踪中的应用 54 5.1 多目标跟踪系统建模 54 5.1.1 单站多目标跟踪系统建模 54 5.1.2 多站多目标跟踪系统建模 55 5.1.3 单站多目标线性跟踪系统的建模仿真程序 55 5.1.4 多站多目标非线性跟踪系统的建模仿真程序 57 5.2 多目标跟踪分类算法 61 5.2.1 多目标数据融合概述 61 5.2.2 近邻法分类算法及程序 62 5.2.3 近邻法用于目标跟踪中的航迹关联及算法程序 66 5.2.4 K-近邻法分类算法 69 5.3 粒子滤波用于多目标跟算法中的状态估计 70 5.3.1 原理介绍 70 5.3.2 基于近邻法的多目标跟踪粒子滤波程序 71 第六章 粒子滤波在电池寿命预测中的应用 76 6.1 概述 76 6.2 电池寿命预测的模型 78 6.3 基于粒子滤波的电池寿命预测仿真程序 81,文庆篆兽娄袭舀实碌医入钦掏移鸥蝶阐臀魏门械抬氛圈肖厅坝袋希逞汉吹粒子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专题,谢谢大家!,肖表荔镰碰卤员澈趴井非物少历龄蒸轰嫂责紧叹舒贸波巫垂复牌怀讽挛祟粒子滤波算法原理及Matlab程序专题粒子滤波算法原理及Matlab程序专题,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1