MATLAB及应用 -第八讲PPT课件_第1页
MATLAB及应用 -第八讲PPT课件_第2页
MATLAB及应用 -第八讲PPT课件_第3页
MATLAB及应用 -第八讲PPT课件_第4页
MATLAB及应用 -第八讲PPT课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章控制系统的时频域分析方法,6.1控制系统的时域分析6.2控制频域分析6.3根轨迹分析,(一)时域响应概述:,回顾时域响应的性能指标(1)动态性能指标上升时间、峰值时间、超调量、调整时间(2)稳态性能指标稳态误差控制系统最常用的时域分析方法是:当输入信号为单位阶跃和单位冲激函数时,求出系统的输出响应,(二)时域响应常用的Matlab函数:,产生输入信号:gensig求取系统单位阶跃响应:step求取系统的冲激响应:impulse连续系统的零输入响应:initial连续系统对任意输入的响应:lsim求系统稳态值:dcgain求具有反馈结构的闭环传函:feedback对于离散系统只需在连续系统对应函数前加d就可以,如dstep,dimpulse,dinitial,dlsim等。调用格式与step、impulse类似。,1、gensig()函数的用法u,t=gensig(type,tau)u,t=gensig(type,tau,tf,ts),信号序列,时间序列,信号类型,信号周期,持续时间,采样时间,eg1.生成一个周期为2*pi,持续时间为50s,采样时间为0.01s的正弦波和方波信号。,程序:u1,t1=gensig(sin,2*pi,50,0.01);u2,t2=gensig(square,2*pi,50,0.01);plot(t1,u1,t2,u2)axis(050-1.21.2)xlabel(time/s)ylabel(c(t),2、step()函数的用法step(sys);step(sys,t);y=step(num,den,t);y,x,t=step(num,den);y,x,t=step(A,B,C,D,iu);,输出矩阵,状态轨迹,时间序列自动生成,时间向量0,t,eg2.求下列系统在输入信号为r(t)=10*1(t)输入时,系统在020s的响应曲线。,程序:K=10;Z=-1;P=-2-3;num,den=zp2tf(Z,P,K);sys=tf(num,den);t=0:0.2:20;step(sys,t)xlabel(time/s)ylabel(c(t),3、dstep()函数的用法dstep(numz,denz);dstep(A,B,C,D);dstep(A,B,C,D,iu);,第iu个输入,eg3.求下列系统的阶跃响应曲线。,程序:numz=1-1.20.4;denz=1.2-1.50.9;dstep(numz,denz)xlabel(time/s)ylabel(c(t),4、impluse()函数的用法impluse(sys);impluse(sys,t);y=impluse(num,den,t);y,x,t=impluse(num,den);y,x,t=impluse(A,B,C,D,iu);,输出矩阵,状态轨迹,时间序列自动生成,时间向量0,t,eg4.求下列系统的脉冲响应曲线。,程序:K=1;Z=-1;P=-2-3;num,den=zp2tf(Z,P,K);sys=tf(num,den);t=0:0.2:20;impulse(sys,t)xlabel(time/s)ylabel(c(t),5、dimpulse()函数的用法dimpulse(numz,denz);dimpulse(A,B,C,D);dimpulse(A,B,C,D,iu);,第iu个输入,eg5.将下列连续系统离散化,并求其离散状态系统的冲激响应曲线。,程序:离散化:a=-0.5-0.8;0.40;b=1;-1;c=25;d=0;G,H,Cd,Dd=c2dm(a,b,c,d,0.1)冲激响应:dimpulse(G,H,Cd,Dd),6、initial()函数的用法y,t,x=initial(sys,x0);y,t,x=initial(sys,x0,t);7、dinitial()函数的用法dinitial(sys,x0);y,x,n=dinitial(sys,x0,n);,eg6.求下列系统在x0=1;1时,系统的零输入响应。,程序:a=-0.5-0.8;-0.40.4;b=1;-1;c=2-5;d=2;x0=1;1;t=0:0.1:30;initial(a,b,c,d,x0,t),eg7.求下列系统在x0=1;1.2时,系统的零输入响应。,程序:G=-0.5-0.8;0.41;H=1;-1;C=1-5;D=2;x0=1;1.2;dinitial(G,H,C,D,x0),8、lsim()函数的用法y,t,x=lsim(sys,u,t);y,t,x=lsim(sys,u,t,x0);9、dlsim()函数的用法dlsim(sys,u);y,x=dlsim(sys,u,x0);,eg8.求下列系统的正弦响应。其中:周期2*pi,时间t=30s,采样周期取0.1s.,程序:a=-0.5-0.8;0.40.4;b=1;-1;c=2-5;d=2;sys=ss(a,b,c,d)u,t=gensig(sin,2*pi,30,0.1)lsim(sys,u,t),11、dcgain()函数的用法k=dcgain(sys);12、feedback()函数的用法sys=feedback(sys1,sys2);,eg9.给出如下系统的开环传递函数,试用MATLAB求取其单位阶跃响应和系统的稳定响应输出值。,程序:num=1;den=13340;numc,denc=cloop(num,den);t=0:0.1:20;y=step(numc,denc,t);plot(t,y)title(Stepresponse)xlabel(Time/s)dc=dcgain(numc,denc),dc=1.,eg10.给出如下系统的开环传递函数,试用MATLAB求取其单位加速度响应。,程序:num=3;den=143000;t=0:0.1:20;y=step(num,den,t);plot(t,y)title(Stepresponse)xlabel(Time/s),6.2频域分析:,以频率特性作为数学模型来分析、设计控制系统的方法称为频率特性法。它具有明确的物理意义,计算量较小,一般可采用作图方法或实验方法求出系统或元件的频率特性。常用的作图方法:Bode图,奈奎斯特图,频域响应常用的Matlab函数:,画Bode图:bode画奈奎斯特图:nyquist画尼克尔斯图:nichols绘制零极点位置:pzmap计算增益和相位裕度:margin对于离散系统只需在连续系统对应函数前加d就可以,如dbode,dnyquist,dnichols。调用格式类似。,(1)Bode图,1.产生频率向量横轴频率向量可由logspace()函数来构成。此函数的调用格式为=logspace(m,n,npts)此命令可生成一个以10为底的指数向量(10m10n),点数由npts任意选定。,10m,10n,npts,2.输入画Bode图的命令纵轴连续系统的伯德图可利用bode()函数来绘制,连续系统的调用格式为:bode(sys);bode(sys,w);mag,phase,w=bode(num,den)mag,phase=bode(num,den,w)mag,phase,w=bode(A,B,C,D)mag,phase,w=bode(A,B,C,D,iu)式中num,den和A,B,C,D分别为系统的开环传递函数和状态方程的参数,w为Bode图的频率点。,幅频,相频,离散系统的调用格式为:mag,phase,w=dbode(numz,denz,Ts)mag,phase=dbode(numz,denz,Ts,w)mag,phase,w=dbode(A,B,C,D,Ts,iu)mag,phase,w=dbode(A,B,C,D,Ts,iu,w)式中numz,denz和A,B,C,D分别为系统的开环传递函数和状态方程的参数,Ts为取样频率,w为Bode图的频率点。,幅频,相频,3.显示绘制结果可以利用下面的MATLAB命令subplot(2,1,1);semilogx(w,20*log10(mag)subplot(2,1,2);semilogx(w,phase)subplot把屏幕分成两个部分semilogx生成半对数坐标图同一个窗口上同时绘制出系统的Bode图了,其中前一条命令中对幅值向量mag求取分贝(dB)值。,M行,N列,4.求幅值裕量和相位裕量在判断系统稳定性时,常常需要求出系统的幅值裕量和相位裕量。利用MATLAB控制系统工具箱提供的margin()函数可以求出系统的幅值裕量与相位裕量,该函数的调用格式为Gm,Pm,Wcg,Wcp=margin(sys)或Gm,Pm,Wcg,Wcp=margin(sys)式中Gm和Pm分别为系统的幅值裕量和相位裕量,而Wcg和Wcp分别为幅值裕量和相位裕量处相应的频率值。,例5-2已知二阶系统的开环传递函数为,试绘制系统的开环频率特性曲线,k=1.5;ng=1.0;dg=poly(0-1-2);w=logspace(-1,1,100);m,p=bode(k*ng,dg,w);subplot(2,1,1);semilogx(w,20*log10(m);grid;ylabel(增益(dB);subplot(2,1,2);semilogx(w,p);grid;xlabel(频率(rad/s);ylabel(相角(deg);,Gm,Pm,Wcg,Wcp=margin(k*ng,dg)Gm=4.0000Pm=41.5340Wcg=1.4142Wcp=0.6118G=20*log10(Gm)G=12.0412,相位裕量,幅值裕量,练习已知二阶系统的开环传递函数为,试绘制系统的Bode图,k=10;z=-4;p=0-0.5-50-50;num,den=zp2tf(z,p,k);Bode(num,den);title(Bodeplot);gridon,(2)Nyquist图,连续系统函数的调用格式为nyquist(sys)nyquist(sys,w)Re,Im,w=nyquist(num,den)Re,Im,w=nyquist(num,den,w)Re,Im,w=nyquist(A,B,C,D)其中返回值Re,Im和w分别为频率特性的实部向量、虚部向量和对应的频率向量,离散系统函数的调用格式为dnyquist(a,b,c,d,Ts)dnyquist(a,b,c,d,Ts,iu)dnyquist(a,b,c,d,Ts,iu,w)其中TS和w分别为频率特性的取样时间和对应的频率向量例例5-16、5-17,例绘制,的nyquist图和bode图。,解MATLAB编程如下:num=10;den=1,1.2,10;w=logspace(-2,2,1000);nyquist(num,den,w)gridbode(num,den,w)grid,练习已知系统的开环传递函数,绘制系统nyquist曲线。,解MATLAB编程如下:k=50;z=;p=-52;num,den=zp2tf(z,p,k);nyquist(num,den),(3)Nichols图,连续系统函数的调用格式为nichols(sys)nichols(sys,w)nichols(num,den)nichols(num,den,w)nichols(A,B,C,D)其中w对应的频率向量,离散系统函数的调用格式为dnichols(num,den,Ts)dnichols(num,den,Ts,w)dnichols(a,b,c,d,Ts)dnichols(a,b,c,d,Ts,iu)dnichols(a,b,c,d,Ts,iu,w)其中TS和w分别为频率特性的取样时间和对应的频率向量例例5-18、5-19,(4)pzmap绘制零极点位置,调用格式为pzmap(p,z);P零点向量z极点向量例5-24重要,(三)根轨迹:,所谓根轨迹是指,当开环系统某一参数从零变到无穷大时,闭环系统特征方程的根在s平面上的轨迹。一般来说,这一参数选作开环系统的增益K,而在无零极点对消时,闭环系统特征方程的根就是闭环传递函数的极点。根轨迹分析方法是分析和设计线性定常控制系统的图解方法,使用十分简便。,通常来说,绘制系统的根轨迹是很繁琐的事情,因此在教科书中介绍的是一种按照一定规则进行绘制的概略根轨迹。在MATLAB中,专门提供了绘制根轨迹的有关函数。,rlocus:求系统根轨迹。rlocfind:计算给定一组根的根轨迹增益。,对于图所示的负反馈系统,其特征方程可表示为或利用rlocus()函数可绘制出当开环增益K由0至变化时,闭环系统的特征根在s平面变化的轨迹,函数的调用格式为:rlocus(GH);rlocus(GH,k);r,K=rlocus(num,den)r,K=rlocus(a,b,c,d)其中:返回值r为系统的闭环极点,K为相应的增益。,例,num=11;den=1560;rlocus(num,den),r=rlocus(num,den,10)r=-2.1056+2.8714i-2.1056-2.8714i-0.7887,r,k=rlocus(num,den),命令K,poles=rlocfind(num,den)或K,poles=rlocfind(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论