《时域分析实例》PPT课件.ppt

上传人:牧羊曲112 文档编号:5526317 上传时间:2023-07-18 格式:PPT 页数:69 大小:711KB
返回 下载 相关 举报
《时域分析实例》PPT课件.ppt_第1页
第1页 / 共69页
《时域分析实例》PPT课件.ppt_第2页
第2页 / 共69页
《时域分析实例》PPT课件.ppt_第3页
第3页 / 共69页
《时域分析实例》PPT课件.ppt_第4页
第4页 / 共69页
《时域分析实例》PPT课件.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《《时域分析实例》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《时域分析实例》PPT课件.ppt(69页珍藏版)》请在三一办公上搜索。

1、第4章控制系统的仿真分析,4.1 控制系统的稳定性分析 4.2 控制系统的时域分析 4.3 控制系统的频域分析 4.4 控制系统的根轨迹分析 4.5 控制系统的校正,Step();impulse();Ramp();,应用之一:对于多输入多输出系统,求响应。,如果系统含有多个输入输出量,以状态空间表达式的形式给出,则系统的阶跃响应将产生一系列的阶跃响应曲线,每一条响应曲线与系统中的一个输入量和一个输出量的组合相对应。MATLAB中,与多输入多输出系统阶跃响应相对应的命令格式为step(A,B,C,D,iu)或step(A,B,C,D,iu,t)其中,iu为系统输入量的下标;t为用户指定时间。,时

2、域分析应用实例【例4.20】某二输入二输出系统如下所示:,求系统的单位阶跃响应和冲激响应。,MATLAB的step()和impulse()函数本身可以处理多输入多输出的情况,因此编写MATLAB程序并不因为系统输入输出的增加而变得复杂。执行下面的M文件:clcclearclose%系统状态空间描述a=-2.5-1.2200;1.22000;1-1.14-3.2-2.56;002.560;b=41;20;20;00;c=0103;0001;d=0-2;-20;,%绘制闭环系统的阶跃响应曲线figure(1)step(a,b,c,d)title(stepresponse)xlabel(time-s

3、ec)ylabel(amplitude)%绘制闭环系统的脉冲响应曲线figure(2)impulse(a,b,c,d)title(impulse response)xlabel(time-sec)ylabel(amplitude)运行后得到如图419所示曲线。,图419闭环系统的响应曲线(a)闭环系统的阶跃响应曲线;(b)闭环系统的脉冲响应曲线,应用之二:对于典型二阶系统,求阻尼比,自然频率。,函数damp(den):计算系统的特征根、阻尼比、无阻尼振荡频率,二阶系统为,G(s)=,num=10;den=1,1,4;step(num,den);damp(den),Eigenvalue Damp

4、ing Freq.(rad/s)-5.00e-001+1.94e+000i 2.50e-001 2.00e+000-5.00e-001-1.94e+000i 2.50e-001 2.00e+000,应用之三对于典型二阶系统,根据动态性能指标确定系统参数。,确定d,e的值。(1)超调量不大于40%,(2)峰值时间为0.8s。,图420系统组成图,【例4.21】某系统框图如图420所示,求d和e的值,使系统的阶跃响应满足:(1)超调量不大于40%,(2)峰值时间为0.8s。由图可得闭环传递函数为,其为典型二阶系统。由典型二阶系统特征参数计算公式,得,z=log(100/pos)/sqrt(pi2+

5、(log(100/pos)2);wn=pi/(tp*sqrt(1-z2);num=wn2;den=1 2*z*wn wn2;,执行下面的M文件:%输入期望的超调量及峰值时间pos=input(please input expect pos(%)=);tp=input(please input expect tp=);,运行结果:pleaseinputexpectpos(%)=40pleaseinputexpecttp=0.8d=16.7331e=0.0771,t=0:0.02:4;y=step(num,den,t);plot(t,y),xlabel(time-sec)ylabel(y(t)gr

6、id,d=wn2e=(2*z*wn-1)/d,图421系统的阶跃响应曲线,应用之四对于典型二阶系统,已知二阶系统典型环节的阻尼比和自然振荡频率,求单位阶跃响应参数:超调量s(100%)、峰值时间tp、上升时间tr、调节时间ts2(2%)。,y,x,t=step(num,den)峰值时间(timetopeak)可由以下命令获得:Y,k=max(y);timetopeak=t(k)应用取最大值函数max()求出y的峰值及相应的时间,并存于变量Y和k中。然后在变量t中取出峰值时间,并将它赋给变量timetopeak。,最大(百分比)超调量(percentovershoot)可由以下命令得到:y,x,

7、t=step(num,den)C=dcgain(G);Y,k=max(y);percentovershoot=100*(Y-C)/C dcgain()函数用于求取系统的终值,将终值赋给变量C,然后依据超调量的定义,由Y和C计算出百分比超调量。,上升时间(risetime)可利用MATLAB中控制语句编制M文件来获得。首先简单介绍一下循环语句while的使用。while 循环体end其中,循环判断语句为某种形式的逻辑判断表达式。当表达式的逻辑值为真时,就执行循环体内的语句;当表达式的逻辑值为假时,就退出当前的循环体。如果循环判断语句为矩阵时,当且仅当所有的矩阵元素非零时,逻辑表达式的值为真。为避

8、免循环语句陷入死循环,在语句内必须有可以自动修改循环控制变量的命令。,要求出上升时间,可以用while语句编写以下程序得到:y,x,t=step(num,den)C=dcgain(G);n=1;while y(n)C n=n+1;endrisetime=t(n)在阶跃输入条件下,y 的值由零逐渐增大,当以上循环满足y=C时,退出循环,此时对应的时刻,即为上升时间。,对于输出无超调的系统响应,上升时间定义为输出从稳态值的10%上升到90%所需时间,则计算程序如下:y,x,t=step(num,den)C=dcgain(G);n=1;while y(n)0.1*C n=n+1;endm=1;whi

9、le y(n)0.9*C m=m+1;endrisetime=t(m)-t(n),调节时间(setllingtime)可由while语句编程得到:y,x,t=step(num,den)C=dcgain(G);i=length(t);while(y(i)0.98*C)endsetllingtime=t(i)用向量长度函数length()可求得t序列的长度,将其设定为变量i的上限值。,【例4.22】根据输入的典型二阶系统参数阻尼比alph及自然振荡频率n,求取系统的单位阶跃响应参数:超调量s(100%)、峰值时间tp、上升时间tr、调节时间ts2(2%)。执行下面的M文件:clearclcclos

10、eall%输入典型二阶系统参数,确定系统传递函数模型 alph=input(please input alph=);,wn=input(please input wn=);num=wn2;den=12*alph*wnwn2;%判断系统是否稳定,求动态性能才有意义z,p,k=tf2zp(num,den);%ii=find(real(z)0);%n1=length(ii);jj=find(real(p)0);n2=length(jj);if(n20)disp(the system is unstable)disp(it is no use for getting动态参数),else%调用求取二阶系

11、统阶跃响应动态参数的函数文件 y,x,t=step(num,den);plot(t,y)pos,tp,tr,ts=stepchar(y,t)end,见例题d422,【例4.23】已知系统函数为,计算系统瞬态性能指标(稳态误差允许2)。执行下面的M文件:clcclear%系统模型建立num=3;den=conv(1 1+3j,1 1-3j);,%求系统的单位阶跃响应y,x,t=step(num,den);%求响应的稳态值yss=dcgain(num,den)%求响应的峰值及对应的下标yp,n=max(y);%计算超调量及峰值时间percentovershoot=100*(yp-yss)/yss

12、timetopeak=t(n)%计算上升时间n=1;while y(n)0.1*yssn=n+1;,endm=1;while y(m)0.98*yss)endsettlingtime=t(k),应用之五已知系统,求稳态误差。,图422系统的结构图,【例4.24】已知系统是单位负反馈系统,其中,输入以下MATLAB命令:numg=7 7;deng=conv(conv(1 0,1 3),1 4 5);g=tf(numg,deng);sys=feedback(g,1,-1);y,t,x=step(sys)plot(t,y),图423系统的单位阶跃响应曲线,运行结果为系统的单位阶跃响应曲线,如图423

13、所示。输入以下MATLAB语句可求此系统在阶跃函数作用下的给定稳态误差终值ess:ge=tf(g.den1,g.den1+g.num1);%g.num1,g.den1分别表示g对象的分子分母部分 num1=1 0;den1=1;g1=tf(num1,den1);g2=g1*ge;%求1/G(s)+1*snum3=1;den3=1 0;,u=tf(num3,den3);%确定输入的拉普拉斯变换dcg=dcgain(g2*u)运行结果为dcg=0,如何求?阶跃响应的稳态值;阶跃响应的稳态误差;斜坡响应的稳态误差;,num=7 7;%den=conv(conv(1 0,1 3),1 4 5);%一型

14、系统den=conv(1,3,1,4,5);%0型系统g=tf(num,den);sys=feedback(g,1,-1);y,t=step(sys);plot(t,y);ge=tf(g.den1,g.num1+g.den1)g1=tf(1,1,0);%1/sg2=tf(1 0,1);%sdc1=dcgain(sys)dc2=dcgain(ge)%求阶跃响应的稳态误差dc3=dcgain(ge*g1)%求斜坡响应的稳态误差,syms s;g=7*(s+1)/s/(s+3)/(s2+4*s+5);ess1=limit(1/(1+g),s,0)%求阶跃响应的稳态误差ess1=limit(1/(1+

15、g)/s,s,0)%求斜坡响应的稳态误差,由上述结果知系统在单位阶跃函数作用下的给定稳态误差终值ess为零,所以此系统单位阶跃响应的稳态值为1,即y()1。由图423可看出,系统的单位阶跃响应曲线单调变化。所以此时暂态性能指标只有上升时间tr和调整时间ts,无最大超调量p和峰值时间tp。,由上述知,此系统阶跃响应的上升时间为4.755s,调整时间为8.3450s(误差带为2)。说明:在MATLAB中,函数dcgain()可求系统稳态误差的终值。该函数的调用格式为dcgdcgain(G),其中,若,则结果dcg为求得的系统给定稳态误差终值;若,则结果dcg为求得的系统扰动稳态误差终值。在MATL

16、AB中,函数conv()可实现两个因式的乘积。函数feedback()可求取反馈控制系统的闭环传递函数,该函数的调用格式为G=feedback(G1,G2,sign)。其中,变量sign即表示正、负反馈结构,sign=1表示正反馈,sign=1表示负反馈;G1,G2分别为前向通道传递函数和反馈通道传递函数。,D48:控制系统开环传递函数为 k/(3s+1),求k=1,3,10时系统的稳态误差。,syms sfor i=1:3k=input(k=)ess=limit(1/(1+k/(3*s+1),s,0),应用之六:求系统响应复域的部分分式。,【例4.25】已知一个系统的传递函数为,当输入(即为

17、单位阶跃函数)时,输出为,输入以下MATLAB命令可以容易地得到输出Y(s)部分分式的展开式:num=1 6 10 24;den=1 10 35 50 24;r,p,k=residue(num,den)运行结果为r=0.6667-3.50005.0000-3.16671.0000,p=-4.0000-3.0000-2.0000-1.00000k=,应用之七:具有延迟环节的系统的近似处理。,np,dp=pade(tau,i),【例4.26】已知闭环系统的框图如图48所示,对象模型为,我们对系统中的时间延迟环节采用上述pade近似来取代,输入以下MATLAB语句求取系统的阶跃响应曲线。,执行下面的

18、M文件:den=1 10 35 50 24;num=1 7 24 24;g=tf(num,den);tau=0.5;y1=;t=0:0.1:10;for i=1:5np,dp=pade(tau,i);g1=tf(np,dp);g2=g*g1;,g3=feedback(g2,1,-1);y,t,x=step(g3,t);y=y;%求矩阵y的转置y1=y1;y;endplot(t,y1)text(0.25,-0.07,n=1),图424滞后系统的近似阶跃响应曲线,为了消除初始时间段的振荡,实际应用中,一般只对式(416)分母中的延迟项进行pade近似,可得近似的系统闭环传递函数为,其等效的闭环系统

19、框图如图425所示。,图425pade近似的等效闭环系统框图,由于只对滞后系统分母中的延迟项取近似,因此上述近似将会得到更精确的结果。考虑上例,按照上述近似方法,我们输入以下MATLAB语句求取系统的单位阶跃响应。执行下面的M文件:den=1 10 35 50 24;num=1 7 24 24;g=tf(num,den);tau=0.5;y1=;t=0:0.1:8;for i=1:5np,dp=pade(tau,i);,g1=tf(np,dp);gg=feedback(g,g1,-1);set(gg,Td,tau);y,t,x=step(gg,t);y=y;%求矩阵y的转置y1=y1;y;en

20、dplot(t,y1);,上述一阶、二阶、三阶、四阶、五阶pade近似后得到的阶跃响应曲线如图426所示。从图426中可看出,只对系统分母多项式中的时间延迟环节pade近似,可以有效地消除初始时间段的振荡,而且还可看出一阶、二阶、三阶、四阶、五阶pade近似得到的阶跃响应曲线几乎重合。所以对于此种近似方法,即使使用1阶pade近似,也可对原系统进行相当精确的近似。实际应用中,一般采用三阶pade近似。,图426滞后系统的近似阶跃响应曲线,应用之八:利用LTI viewer分析系统的方法。,利用线性时不变系统浏览器LTI Viewer完成。实现在同一坐标系中绘出二阶系统标准形式在不同参数时的曲线

21、。(1)保持自然频率=1不变,改变 阻尼比,当 为0.2,0.7,1时的阶跃响应曲线。(d45.m)研究 与阶跃响应的关系,利用有关设置,在两图中标识出三个系统相应响应峰值,上升时间,调节时间以及稳态值。将带有标识的图形保存为fig1.bmp,(2)保持保持阻尼比=0.5不变,改变自然频率,当 为0.47,1,1.47,时的阶跃响应曲线。(d46.m)观察绘制的图形,分析过渡过程曲线的变化情况。研究 与阶跃响应的关系,利用有关设置,在两图中标识出各个系统相应响应峰值,上升时间,调节时间以及稳态值。将带有标识的图形保存为fig2.bmp,61,补充:用LTI Viewer获得响应曲线和性能指标,

22、Matlab提供了线性时不变系统仿真工具LTI Viewer,可方便地获得阶跃响应、脉冲响应和波特图等,并得到有关性能指标。下面介绍LTI Viewer使用方法。步骤:在Matlab命令窗口中输入系统,例如系统名为G num=1 2;den=2 3 1;在Matlab提示符后,键入ltiview,系统调用该工具软件。,62,63,从界面“file”的下拉菜单中选择“import”选项,弹出,64,从显示的菜单中选择需要仿真的系统,此处选择G,并点击”OK”就会显示被选系统的阶跃响应曲线,65,在画面上用鼠标点击右键,弹出菜单,有下列选项:,66,Systems:在工作空间的所有系统名称列表Ch

23、aracteristics:根据所绘制曲线的类型显示有关性能指标;Grid:点击选中时,画面显示网格线,67,Properties:根据显示曲线类型弹出有关对话框,68,Edit下拉菜单的“Plot Configuration”弹出对话框中,可选择画面中响应曲线的位置布置。,69,作业(word文挡),实验目的:练习LTI Viewer使用方法及步骤实验内容:已知系统传递函数G(s)=a(s+b)/(s2+2.8s+4)(2s+1)参数a为学号的个位数,b为学号的十位数要求:1)用两幅图分别绘制阶跃响应和脉冲响应。2)将绘制的曲线颜色设定为红色“+”连接的曲线3)将坐标轴的颜色设定为兰色;4)标出对应各曲线的上升时间、调节时间(5%)、峰值5)将title/xlabel/ylabel改为中文说明,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号