由系统阶跃响应辨识传递函数的Matlab实现方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

由系统阶跃响应辨识传递函数的Matlab实现方法典型二阶系统传递函数为:121)(22TssTsG工业生产过程中,大多数系统的阶跃响应曲线是临界阻尼或过阻尼的,即ξ≥1。只要求出T和ξ就能确定系统的传递函数。G(s)可以分解为:))((1)(212ssTsG其中,11112221TT1、2都是实数且均大于零。则有:211T,21212传递函数进一步化为:))(()(2121sssG因此,辨识传递函数就转化为求解1、2。当输入为单位阶跃函数时,对上式进行拉普拉斯反变换,得系统时域下的单位阶跃响应为:tteety212111221)(,即tteety21211122)(1令1=2k)1(k,得tktekekkty22111)(1tktekekk2)1(2111对上式两边取以e为底的对数得tkektkkty2)1(211ln1ln)(1ln当t时,tkek2)1(11ln0,则上式化简为tkkty21ln)(1ln,该式的形式满足直线方程batty)(*其中,)(*ty=)(1lnty,1ln,2kkba)1(k通过最小二乘算法实现直线的拟合,得到a,b的值,即可得到1、2的值,进而可得系统的传递函数。Matlab程序代码%identification.mclccloseallt=[135791113151719];y=[0.1490860.58900670.8306170.9339900.9739800.9910950.9958680.9986800.9994900.999850];%实验数据,数据来源:《系统辨识方法及应用》.国防工业出版社y2=log(1-y);plot(t,y2,'*');gridonpm=polyfit(t,y2,1)value=polyval(pm,t);holdonplot(t,value,'r')title('\fontname{黑体}\fontsize{20}y(t)=at+b')w2=-pm(1)w1=w2/(1-exp(-pm(2)))T=1/sqrt(w1*w2)theta=(w1+w2)/(2*sqrt(w1*w2))z=[];p=[-w1-w2];k=w1*w2;sys=zpk(z,p,k)figure(2)step(sys,[0:0.5:20]);axis([02001.2])holdonplot(t,y,'r*')运行结果:系统的传递函数为)4797.0)(126.1(54034.0)(SSSG阻尼比为0925.1自然振荡周期为T=1.3604s

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功