- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安理工大学气动实验
西安理工大学
研究生课程实验
课程名称: 系统辨识与参数估计
任课教师: 任海鹏
实验报告题目: 气动伺服系统实验
完成日期: 2011 年 7 月 20 日
学 科: 控制理论与控制工程
姓 名: 刘 杰 侯宁宁
成 绩:
气动伺服系统实验
实验目的
1.熟悉气动伺服系统的基本构成及工作原理;
2.进一步熟悉掌握过程辨识中模型参数辨识的原理和方法;
3. 将所学系统参数辨识理论算法运用到实际的气动系统中,对气动系统模型阶次及参数进行辨识,分析并解决实际问题。
实验内容
1.利用行列式比估计气动伺服系统模型阶次,分析与理论模型的差异及其原因。
2.利用增广最小二乘法实现气动伺服系统的参数辨识(分别实现一次完成算法和递推算法)。
实验原理
系统统理图图
图 气动统理图
过程辨识
1.VB数据采集
图2 开环系统框图
图3 闭环系统框图
系统的控制由计算机来完成,整个控制系统的框图如图所示。其中控制算法在计算机中采用VB编制程序完成,控制系统的采样时间为10ms,基本满足控制系统的要求。在实现时所设计的超前和滞后校正控制器通过前项差分进行离散化,然后通过计算机D/A实现控制。界面采用VB设计,可以实现输入形式、校正方式、校正环节参数等,选择好后,如果电路和气路连接正确,点击开始,可以实现控制。
行列式比:
2)Matlab程序(见附录1)
3)辨识结果
系统的阶次为: 3
3. 模型参数辨识
a.增广最小二乘一次完成算法
1)基本原理
系统的最小二乘格式:
Z(k)=h(k)Tθ+n(k) k=1,2,…,L
根据最小二乘法的基本原理可知:
θWLS=(HLTHL)-1HLTzL
HL=[-z(0) … -z(1-na) u(0) … u(1-nb) v(0) … v(1-nd)
-z(1) … -z(2-na) u(1) … u(2-nb) v(1) … v(2-nd)
… …
-z(L-1) … -z(L-na) u(L-1) … u(L-nb) v(L-1) … v(L-nd) ]
zL=[z(1),z(2),…,z(L)]T
2)Matlab程序(见附录2)
3)辨识结果
b.增广最小二乘递推算法
1)基本原理
这种方法是针对噪声模型是平均滑动模型提出的,通过扩充最小二乘向量θ和数据向量h(k)的维数,把噪声模型的便是同时考虑进行辨识。
增广最小二乘递推算法公式:
Z(k+2)=1.5*Z(k+1)-0.7*Z(k)+u(k+1)+0.5*u(k)-v(k+1)+0.2*(k)
2)Matlab程序(见附录3)
3)辨识结果
总结
本次气动系统实验,对系统模型阶次和参数进行了辨识,通过比较辨识的系统模型输出和实际输出,可以看出,在考虑原系统非线性环节及其动态过程不确定性因素影响的条件下,输入相同的激励,辨识所得系统模型输出均能够比较好的逼近原系统输出,证实了辨识参数的正确性和有效性。实验中采用了直接反馈的闭环系统辨识方式,克服了开环数据失真的缺点。还考虑了系统噪声的影响,分别用增广最小二乘一次完成和递推算法对系统模型进行参数估计,实验结果和原系统输出接近。另外,实验还考虑了实际系统零点的影响,进行了去零点处理后,再进行参数估计,实验发现这样所辨识的参数和未去零点时的结果在误差允许的范围内是一致的,不同的是输入输出数据的范围不同而已,这和理论也是一致的。怎样去进一步提高采集数据的合理性、准确性,以及怎样进一步改善辨识系统输出和原系统输出的差异,有待深入研究。
附录:
附录1:
%------------利用行列式比估计模型阶次(白噪声)------------
clc
clear
N=20;
L=1000;
input=dlmread(C:\Documents and Settings\Administrator\桌面\新建文件夹\输入数据\rin_Data 163758.txt);
output=dlmread(C:\Documents and Settings\Administrator\桌面\新建文件夹\输出数据\y_Data 163758.txt);
u=input(1:L+N,1);
z=output(1:L+N,1);
%------------开始辨识------------
for n=1:N+1
for i=1:L
fo
文档评论(0)