精选资料基于kalman滤波的信息融合算法设计控制系统仿真课程设计.docx

精选资料基于kalman滤波的信息融合算法设计控制系统仿真课程设计.docx

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
控制系统仿真课程设计题目控制系统仿真课程设计学院专业班级学号学生姓名指导教师完成日期控制系统仿真课程设计一、题目基于Kalman滤波的信息融合算法设计1) 学习并掌握线性系统Kalman滤波的基本原理和基本公式;2) 学习并掌握一种常用的融合算法;3) 学习并利用Matlab软件实现基本的Kalman滤波和信息融合算法的仿真。二、主要要求1) 具备基本的概率与数理统计知识;2) 熟悉并掌握基本的Matlab软件编写能力;3) 学习并掌握正交投影定理和矩阵求逆定理;4) 了解Kalman滤波的功能、来源和基本原理;5) 掌握Kalman滤波的推导过程和基本运行公式;6) 了解信息融合的基本概念和方法;7) 掌握一种典型的多传感器信息融合算法:分布式局部估计值加权融合。三、主要内容一)线性系统的Kalman滤波考虑如下一类单传感器线性动态估计系统 (1) (2)其中,是离散的时间变量;是系统的状态向量,是系统的状态转移矩阵;是状态的观测向量,是相应的观测矩阵;和是零均值的高斯白噪声过程,且满足如下条件:, (3)初始状态为一随机向量,且满足 (4)那么,线性系统的Kalman滤波基本公式如下:计算状态的一步预测值(5)计算一步预测误差协方差阵(6)计算增益阵 (7)计算状态估计值 (8)和估计误差协方差阵 (9)其中和为时刻的状态估计以及相应的估计误差协方差阵。那么,Kalman滤波仿真程序执行方案如下:确定初始状态、初始状态估计和相应的协方差矩阵;给定状态转移矩阵、过程噪声方差、测量矩阵和测量噪声方差(这些量均可认为是常量)产生仿真信号数据从开始循环(L为给定的仿真时刻长度)当时a1) 利用和随机函数产生一个高斯白噪声;a2) 根据式(1)有;a3) 利用和随机函数产生一个高斯白噪声;a4) 根据式(2)有。当时b1) 利用和随机函数产生一个高斯白噪声;b2) 根据式(1)有;b3) 利用和随机函数产生一个高斯白噪声;b4) 根据式(2)有。开始Kalman滤波估计从开始循环(L为给定的仿真时刻长度)当时a1) 根据式(5)和式(6)有, a2) 利用式(7)-(9)计算估计和相应的估计误差协方差矩阵。当时b1) 根据式(5)和式(6)计算和;b2) 利用式(7)-(9)计算估计和相应的估计误差协方差矩阵。问题:给定相应参数(也鼓励采用其他参数),进行Kalman滤波估计算法程序的编写,并进行绘图和分析标量情形:,,,,,,(1)请利用Matlab软件进行Kalman滤波估计仿真程序编写;%mykf.m%produce systemclear;A=1;P0=100;X0=10;C=1;Q=0.1;R=10;%real states and measure statesfor k=1:150W(k)=sqrt(Q)*randn(1,1);V(k)=sqrt(R)*randn(1,1);if k==1X(k)=A*X0+W(k);Z(k)=C*X(k)+V(k);elseX(k)=A*X(k-1)+W(k);Z(k)=C*X(k)+V(k);endend%predict states and estimate statesfor k=1:150if k==1X_yc(k)=A*X0;Z_yc(k)=C*X_yc(k);P_yc(k)=A*P0*A'+Q;K(k)=P_yc(k)*C'/(C*P_yc(k)*C'+R);X_gj(k)=X_yc(k)+K(k)*(Z(k)-Z_yc(k));P_gj(k)=(eye(1)-K(k)*C)*P_yc(k);elseX_yc(k)=A*X(k-1);Z_yc(k)=C*X_yc(k);P_yc(k)=A*P_yc(k-1)*A'+Q;K(k)=P_yc(k)*C'/(C*P_yc(k)*C'+R);X_gj(k)=X_yc(k)+K(k)*(Z(k)-Z_yc(k));P_gj(k)=(eye(1)-K(k)*C)*P_yc(k);endend%create figurefiguret=1:150;plot(t,Z(1,t),'-og')hold onplot(t,X_gj(1,t),'r')hold onplot(t,X(1,t),'b')hold offlegend('观测','估计','状态')xlabel('仿真次数')ylabel('数值')figureplot(abs(Z-X),'-og');hold onplot(abs(X_gj-X

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档