交互式多模型算法卡尔曼滤波仿真.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
交互式多模型算法卡尔曼滤波仿真 1 模型建立 分别以加速度 u=0、1、2 代表三个不同的运动模型 状态方程 x(k+1)=a*x(k)+b*w(k)+d*u 观察方程 z(k)=c*x(k)+v(k) 其中, a=[1 dt;0 1],b=[dt^2/2;dt],d=[dt^2/2;dt],c=[1 0] 2 程序代码 由两个功能函数组成, imm_main 用来实现 imm 算法, move_model1 用来 生成仿真数据,初始化运动参数 function imm_main %交互式多模型算法主程序 %初始化有关参数 move_model %调用运动模型初始化及仿真运动状态生成函数 load movedata %调入有关参数初始值( a b d c u position velocity pmeas dt tg q r x_hat p_var ) p_tran=[0.8 0.1 0.1;0.2 0.7 0.1;0.1 0.2 0.7];% 转移概率 p_pri=[0.1;0.6;0.3];% 模型先验概率 n=1:2:5; % 提取各模型方差矩阵 k=0; % 记录仿真步数 like=[0;0;0];% 视然函数 x_hat_hat=zeros(2,3);% 三模型运动状态重初始化矩阵 u_=zeros(3,3);%混合概率矩阵 c_=[0;0;0];% 三模型概率更新系数 %数据保存有关参数初始化 phat=[];% 保存位置估值 vhat=[];% 保存速度估值 xhat=[0;0];% 融合和运动状态 z=0;% 量测偏差(一维位置) pvar=zeros(2,2);% 融合后估计方差 for t=0:dt:tg; %dt 为为仿真步长; tg 为仿真时间长度 k=k+1;% 记录仿真步数 ct=0; % 三模型概率更新系数 c_max=[0 0 0];% 混合概率规范系数 p_var_hat=zeros(2,6);% 方差估计重初始化矩阵 , %[x_hat_hat p_var_hat]=model_reinitialization(p_tran,p_pri,x_hat,p_var);% 调用重初始化函数,进行混合 估计,生成三个模型重初始化后的运动状态、方差 %混合概率计算 for i=1:3 u_(i,:)=p_tran(i,:)*p_pri(i); end for i=1:3 c_max=c_max+u_(i,:); end for i=1:3 u_(:,i)=u_(:,i)/c_max(i); end %各模型状态、方差重初始化 x_hat_hat=x_hat*u_;% 运动状态重初始化 for j=1:3 for i=1:3 p_var_hat(:,n(j):n(j)+1)= p_var_hat(:,n(j):n(j)+1)+(p_var(:,n(i):n(i)+1)+(x_hat(:,i)-x_hat_hat(:,j))*(x_hat(:,i)-x_hat_hat(:,j)))*u_(i,j);% 方 差 混合估计 end end %各模型进行依次次 kalman 滤波 for i=1:3 % 各模型进行依次次 kalman 滤波 % 模型条件滤波 x_hat(:,i)=a*x_hat_hat(:,i)+d*u(i);% 一步状态预测 p_var(:,n(i):n(i)+1)=a*p_var_hat(:,n(i):n(i)+1)*a+b*q*b;% 一步状态预测方差 z=pmeas(k)-c*x_hat(:,i);% 量测误差估计 s=c*p_var(:,n(i):n(i)+1)*c+r;% 量测方差

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档