控制系统仿真课程设计基于Kalman滤波信息融合算法设计.docxVIP

控制系统仿真课程设计基于Kalman滤波信息融合算法设计.docx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
控制系统仿真课程设计基于Kalman滤波信息融合算法设计

控制系统仿真课程设计(2011级)题目控制系统仿真课程设计学院专业班级学号学生姓名指导教师完成日期2014年6月25日控制系统仿真课程设计一、题目基于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滤波估计仿真程序编写;%初始化clear;A=1;P0=100;X0=10;X0_est=1;H=1;Q=0.1;R=8;%产生仿真信号和数据for k=1:100 W(k)=sqrt(Q)*randn(1); %产生高斯白噪声W V(k)=sqrt(R)*randn(1); %产生高斯白噪声V if k==1 X(k)=A*X0+W(k); Z(k)=H*X(k)+V(k); else X(k)=A*X(k-1)+W(k); %状态值 Z(k)=H*X(k)+V(k); %观测向量 endend%Kalman滤波for k=1:100 if k==1 X_yc(k)=A*X0_est; P_yc(k)=A*P0*A+Q else X_yc(k)=A*X(k-1); %状态预测值 P_yc(k)=A*P_gj(k-1)*A+Q; %协方差预测值 end K(k)=P_yc(k)*H*inv(H*P_yc(k)*H+R); %增益矩阵 X_gj(k)=X_yc(k)+K(k)*(Z(k)-H*X_yc(k)); %状态估计值 P_gj(k)=(eye(1)-K(k)*H)*P_yc(k); %协方差估计值end%绘制状态估计与状态预测值的曲线图figure(1)hold onplot(X_gj,r);hold onplot(X_yc,-ob);hold onplot(X,-*g);legend(状态估计值,状态预测值,状态)title(状态估计与状态预测值的曲线图)xlabel(仿真次数)ylabel(数值)%绘制预测误差协方差和估计误差协方差曲线figure(2)hold onplot(P_

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档