1、v) 返回向量形式的分子分母多项式系数;2)零极点增益(ZPK)模型传递函数因式分解后可以写成式中, z1 , z2 , ,zm 称为传递函数的零点, p1,p2,pn称为传递函数的极点,k 为传递系数(系统增益)。在MATLAB 中,直接用z,p,k矢量组表示系统,其中z,p,k 分别表示系统的零极点及其增益,即:z=z1,z2,zm;p=p1,p2,pn;k=k;调用zpk 函数可以创建ZPK 对象模型,调用格式如下:Gzpk = zpk(z,p,k)同样,MATLAB 提供了zpkdata 命令用来提取系统的零极点及其增益,调用格式如下:z,p,k = zpkdata(Gzpk) 返回c
2、ell 类型的零极点及增益;z,p,k = zpkdata(Gzpk,v) 返回向量形式的零极点及增益;函数pzmap 可用于求取系统的零极点或绘制系统得零极点图,调用格式如下:pzmap(G) 在复平面内绘出系统模型的零极点图。p,z = pzmap(G) 返回的系统零极点,不作图。3)状态空间(SS)模型由状态变量描述的系统模型称为状态空间模型,由状态方程和输出方程组成:其中:x 为n 维状态向量;u 为r 维输入向量; y 为m 维输出向量; A 为nn 方阵,称为系统矩阵; B 为nr 矩阵,称为输入矩阵或控制矩阵;C 为mn 矩阵,称为出矩阵; D为mr 矩阵,称为直接传输矩阵。在M
3、ATLAB 中,直接用矩阵组A,B,C,D表示系统,调用ss 函数可以创建ZPK 对象模型,调用格式如下:Gss = ss(A,B,C,D)同样,MATLAB 提供了ssdata 命令用来提取系统的A、B、C、D 矩阵,调用格式如下:A,B,C,D = ssdata (Gss) 返回系统模型的A、B、C、D 矩阵4)三种模型之间的转换上述三种模型之间可以互相转换,MATLAB 实现方法如下TF 模型ZPK 模型:zpk(SYS)或tf2zp(num,den);TF 模型SS 模型:ss(SYS)或tf2ss(num,den);ZPK 模型TF 模型:tf(SYS)或zp2tf(z,p,k);Z
4、PK 模型SS 模型:ss(SYS)或zp2ss(z,p,k);SS 模型TF 模型:tf(SYS)或ss2tf(A,B,C,D);SS 模型ZPK 模型:zpk(SYS)或ss2zp(A,B,C,D)。2、系统模型的连接在实际应用中,整个控制系统是由多个单一的模型组合而成,基本的组合方式有串联连接、并联连接和反馈连接。下图分别为串联连接、并联连接和反馈连接的结构框图和等效总传递函数。在MATLAB 中可以直接使用“*”运算符实现串联连接,使用“”运算符实现并联连接。反馈系统传递函数求解可以通过命令feedback 实现,调用格式如下:T = feedback(G,H)T = feedback
5、(G,H,sign)其中,G 为前向传递函数,H 为反馈传递函数;当sign = +1 时,GH 为正反馈系统传递函数;当sign = -1 时,GH 为负反馈系统传递函数;默认值是负反馈系统。三、实验内容1、已知控制系统的传递函数如下试用MATLAB 建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并绘制系统零极点图。实验代码:num=2 18 40;den=1 5 8 6;Gtf=tf(num,den) %系统的传递函数模型Gzpk=zpk(Gtf) %传递函数模型转换为零极点增益模型pzmap(Gzpk); %画零极点图grid on;Gss=ss(Gtf) %转换为状态
6、空间方程模型实验结果:(1)传递函数模型:Gtf = 2 s2 + 18 s + 40 - s3 + 5 s2 + 8 s + 6(2)零极点增益模型为:Gzpk = 2 (s+5) (s+4) - (s+3) (s2 + 2s + 2)系统零极点图为:(3)状态空间方程模型:Gss = a = x1 x2 x3 x1 -5 -2 -1.5 x2 4 0 0 x3 0 1 0 b = u1 x1 4 x2 0 x3 0 c = y1 0.5 1.125 2.5 d = y1 02、已知控制系统的状态空间方程如下A=0 1 0 0;0 0 1 0;0 0 0 1;-1 -2 -3 -4;B=0;
7、0;1;C=10 2 0 0;D=0;Gss=ss(A,B,C,D) Gtf=tf(Gss)Gzpk=zpk(Gss)(1)系统矩阵 x1 x2 x3 x4 x1 0 1 0 0 x2 0 0 1 0 x3 0 0 0 1 x4 -1 -2 -3 -4 x1 0 x4 1 y1 10 2 0 0(2)零极点模型:Zero/pole/gain: 2 (s+5)-(s+3.234) (s+0.6724) (s2 + 0.0936s + 0.4599)零极点图:(3)传递函数:Transfer function: 2 s + 10-s4 + 4 s3 + 3 s2 + 2 s + 13、已知三个系统
8、的传递函数分别为试用MATLAB 求上述三个系统串联后的总传递函数。a1=2 6 5;b1=1 4 5 2;G1=tf(a1,b1)a2=1 4 1;b2=1 9 8;G2=tf(a2,b2);a3=5 50 105;b3=1 11 34 24;G3=tf(a3,b3) Gtf=G1*G2*G3Gzpk=zpk(G) 10 s6 + 170 s5 + 1065 s4 + 3150 s3 + 4580 s2 + 2980 s + 525- s8 + 24 s7 + 226 s6 + 1084 s5 + 2905 s4 + 4516 s3 + 4044 s2 + 1936 s + 384 10 (
9、s+7) (s+3.732) (s+3) (s+0.2679) (s2 + 3s + 2.5) - (s+8) (s+6) (s+4) (s+2) (s+1)44、已知如图E2-1 所示的系统框图试用MATLAB 求该系统的闭环传递函数。a1=1;b1=1 1;a2=1;b2=0.5 1;G2=tf(a2,b2)a4=1;b4=0.5 1;H=tf(a4,b4) %反馈传函a3=3;b3=1 0;G3=tf(a3,b3)G=(G1+G2)*G3 %前向传函T=feedback(G,H,-1) %闭环传函 2.25 s2 + 7.5 s + 6 - 0.25 s4 + 1.25 s3 + 2 s
10、2 + 5.5 s + 65、已知如图E2-2 所示的系统框图又框图可知,该系统为G2与H1形成反馈系统G3,之后与G1级联形成G4,再与H2形成反馈系统T。a1=10;a2=2;b2=1 1 0;a3=1 3;b3=1 2;H1=tf(a3,b3) a4=5 0;b4=1 6 8;H2=tf(a4,b4) G3=feedback(G2,H1) %G2与H1反馈G4=G1*G3 %G1与G3级联T=feedback(G4,H2,-1) %总的系统传函G3 = 2 s + 4 s3 + 3 s2 + 4 s + 6G4 = 20 s + 40 - s4 + 4 s3 + 7 s2 + 10 s
11、+ 6T = 20 s3 + 160 s2 + 400 s + 320 s6 + 10 s5 + 39 s4 + 84 s3 + 222 s2 + 316 s + 48四、体会和建议本次实验比较基础,学习如何创建传递函数模型,并得到对应的零极点模型和状态空间方程。零极点图之前在理论课上画过,这次实验用MATLAB得以实现,非常直观和准确。在做框图问题时,要细心和耐心,注意连接顺序和反馈的部分。实验2 控制系统的暂态特性分析 1、学习和掌握利用MATLAB 进行系统时域响应求解和仿真的方法。2、考察二阶系统的时间响应,研究二阶系统参数对系统暂态特性的影响。1、系统的暂态性能指标控制系统的暂态性能
12、指标常以一组时域量值的形式给出,这些指标通常由系统的单位阶跃响应定义出来,这些指标分别为:(1)延迟时间td :响应曲线首次到达稳态值的50%所需的时间。(2)上升时间tr :响应曲线从稳态值的10%上升到90%所需要的时间长,对于欠阻尼系统,通常指响应曲线首次到达稳态值所需的时间。(3)峰值时间tp :响应曲线第一次到达最大值的时间。(4)调整时间ts :响应曲线开始进入并保持在允许的误差(2%或5%)范围内所需要的时间。(5)超调量 :响应曲线的最大值和稳态值之差,通常用百分比表示其中y(t )为响应曲线。在MATLAB 中求取单位阶跃响应的函数为step,其使用方法如下:step(sys
13、) 在默认的时间范围内绘出系统响应的时域波形;step(sys,T) 绘出系统在0T范围内响应的时域波形;step(sys,ts:tp:te) 绘出系统在ts-te 范围内,以tp为时间间隔取样的响应波形;y,t = step() 该调用格式不绘出响应波形,而是返回响应的数值向量及其对应的时间向量。系统的暂态性能指标可以根据上述定义,在响应曲线上用鼠标读取关键点或通过搜索曲线对应的数值向量中关键点来确定。2、LTI Viewer工具在MATLAB 中提供了线性是不变系统仿真的工具LTI Viewer,可以方便地观察系统的响应曲线和性能指标。在命令窗口中键入litview 即可启动LTI Vie
14、wer。这里简要介绍LTIViewer 工具的使用方法。1)【File】菜单Import 选项:可以从Workspace 或MAT 文件中导入系统模型。Export 选项:将当前窗口中的对象模型保存到Workspace 或文件中。Toolbox preferences 选项:属性设置功能,可以设置控制系统中得各种属性值。Page Setup 选项:页面设置功能,可以对打印输出和显示页面进行设置。2)【Edit】菜单Plot Configuration 选项:对显示窗口及显示内容进行配置。Line Style 选项:线型设置功能,可以对输出响应曲线的线型进行设置。Viewer Preferenc
15、es 选项:对当前窗口的坐标、颜色、字体、响应曲线的特性参数等属性进行设置。3)右键菜单在运行界面上点击鼠标右键,将会弹出一个弹出式菜单,菜单上个选项的功能分别为:Plot Types:选择绘制的系统曲线类型,可选的类型有单位阶跃响应、单位冲击响应、波特图、奈奎斯特图、零极点图等。System:选择需要仿真的系统。Characteristic:系统的性能指标选项。Grid:显示和关闭网格。Normalize:正常显示模式。Full View:满界面显示模式。Properties:性能编辑器选项,可以设置画面的标题、坐标标志、坐标范围、线型、颜色、性能指标等。1、已知单位负反馈系统前向通道的传递
16、函数为试用MATLAB 绘制系统的单位阶跃响应曲线。num=80;den=1 2 0;G=tf(num,den); %建立系统传递函数模型T=feedback(G,1); %单位负反馈step(T)实验结果 :2、已知二阶系统(1)= 0.6,=5,试用MATLAB 绘制系统单位阶跃响应曲线,并求取系统的暂态性能指标。(2)=1 ,从0 变化到2,求此系统的单位阶跃响应。(3)= 0.5, 从0 变化到 1( 0),求此系统的单位阶跃响应。(4)观察上述实验结果,分析这两个特征参数对系统暂态特性的影响。(1)使用step函数可以绘制系统的单位阶跃响应曲线e1=0.6;wn=5;num=wn2;
17、den=1,2*wn*e1,wn2;Gtf=tf(num,den);求系统的暂态性能指标 :在workspace中输入ltiview,弹出LTI Viewer1)找到纵坐标为0.5的点,对应的时间即td=0.271s。2)找到纵坐标首次为1的点,对应的时间即tr=0.556s。3)找到纵坐标首次达到最大值的点(最大值为1.09),对应的时间即tp=0.784s。4)找到纵坐标为1.02的点,对应的时间为1.16s,即允许的误差取2%时,ts=1.16s。找到纵坐标为首次为1.05的点,对应的时间即ts=1.03s。5)超调量=(1.09-1)/1*100%=9%(2) 取分别为0,0.5,1,
18、1.5,2,分别求出单位阶跃响应 wn=1; e1=0.6; num=wn2; den=1,2*wn*e1,wn2; Gtf=tf(num,den); e1=0; G1=tf(num,den); e1=0.5; G2=tf(num,den); e1=1; G3=tf(num,den); e1=1.5; G4=tf(num,den); e1=2; G5=tf(num,den); ltiview调用ltiview,加入G1G5,结果如下:(2)分别取=0.2,0.4,0.6,0.8,1 wn=0.2; wn=0.4; wn=0.6; wn=0.8;系统单位阶跃响应的变化情况如下图所示:(4)结果分
19、析为阻尼比,𝜔𝑛称为无阻尼自振荡角频率。由上图可以看出,当𝜔一定时,从0变化到2时,系统由无阻尼等幅振荡变成欠阻尼振荡,再到临界阻尼,最后达到过阻尼;而当=0.5不变时,系统处于欠阻尼状态,𝜔越大,系统上升时间、峰值时间和过渡时间越小,即系统趋于稳定所需的时间越少,而超调量基本不变。四、实验心得这次实验是研究系统的暂态特性,主要分析了上升时间、峰值时间、过渡时间、超调量等,并分析了当和n变化时,系统的单位阶跃响应会发生怎样的变化。这次实验还学习了使用LTIVIEWER,这个工具使用方便很有用处。实验4 系统的频率特性分析1、学习和
20、掌握利用MATLAB 绘制系统Nyquist 图和Bode 图的方法。2、学习和掌握利用系统的频率特性分析系统的性能。系统的频率特性是一种图解方法,分析运用系统的开环频率特性曲线,分析闭环系统的性能,如系统的稳态性能、暂态性能常用的频率特性曲线有Nyquist图和Bode 图。在MATLAB中,提供了绘制Nyquist 图和Bode 图的专门函数。1、Nyquist图nyquist 函数可以用于计算或绘制连续时间LTI 系统的Nyquist 频率曲线,其使用方法如下:nyquist(sys) 绘制系统的Nyquist 曲线。nyquist(sys,w) 利用给定的频率向量w 来绘制系统的Nyq
21、uist 曲线。re,im=nyquist(sys,w) 返回Nyquist 曲线的实部re 和虚部im,不绘图。2、Bode图bode函数可以用于计算或绘制连续时间LTI 系统的Bode图,其使用方法如下:bode(sys)绘制系统的Bode 图。bode(sys,w)利用给定的频率向量w 来绘制系统的Bode图。mag,phase=bode(sys,w)返回Bode图数据的幅度mag和相位phase,不绘图。3、幅度和相位裕度计算margin函数可以用于从频率响应数据中计算出幅度裕度、相位裕度及其对应的角频率,其使用方法如下:margin(sys)margin(mag,phase,w)Gm
22、,Pm,Wcg,Wcp = margin(sys)Gm,Pm,Wcg,Wcp = margin(mag,phase,w)其中不带输出参数时,可绘制出标有幅度裕度和相位裕度值的Bode图,带输出参数时,返回幅度裕度Gm,相位裕度Pm 及其对应的角频率Wcg和Wcp。1、已知系统开环传递函数为绘制系统的Nyquist 图,并讨论其稳定性。num=1000;den=conv(1 3 2,1 5);nyquist(Gtf)该系统不稳定。2、已知系统的开环传递函数为(1)绘制系统的零极点图,根据零极点分布判断系统的稳定性。(2)绘制系统Bode 图,求出幅度裕度和相位裕度,判断闭环系统的稳定性。bode
23、 函数可以用于计算或绘制连续时间LTI 系统的Bode 图,margin 函数可以用于从频率响应数据中计算出幅度裕度、相位裕度及其对应的角频率。(1)实验代码:num=10*25/16 5/4 1;den=conv(1 0 0 ,10/3 1);den=conv(den, 0.2/3 1);den=conv(den, 1/40 1);Gzpk=zpk(Gtf);结果分析:由图可知,该系统的极点均位于左半平面,所以系统稳定。(2)实验代码: num=10*25/16 5/4 1; den2=conv(1 0 0, conv(10/3 1, conv(0.2/3 1, 1/40, 1); sys2=tf(num, den2); margin(sys2); Gm,Pm,Wcg,Wcp
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1