第八matlab在自动控制原理中的应用_第1页
第八matlab在自动控制原理中的应用_第2页
第八matlab在自动控制原理中的应用_第3页
第八matlab在自动控制原理中的应用_第4页
第八matlab在自动控制原理中的应用_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

1、第8章 MATLAB在自动控制中的应用 G(s)H(s)x(t)y(t)信号与系统自动控制系统G(z)H(z)x(n)y(n)数字信号处理自动控制系统自动控制原理侧重于研究自动控制原理侧重于研究系统之间的控制关系系统之间的控制关系 系统可用不同模型表示,不同模型之间可以相系统可用不同模型表示,不同模型之间可以相互转换。每一种模型都有与之对应的参数矩阵。互转换。每一种模型都有与之对应的参数矩阵。8.1 控制工具箱中的控制工具箱中的LTI对象对象 由此可以看到,一个线性系统可以采取四由此可以看到,一个线性系统可以采取四种不同的方法进行描述,每种方法又需要种不同的方法进行描述,每种方法又需要几个参数

2、矩阵,因此对系统进行调用和计几个参数矩阵,因此对系统进行调用和计算都很不方便。算都很不方便。根据软件工程中面向对象的思想,根据软件工程中面向对象的思想,MATLAB通过通过建立专用的数据结构类型,把线性时不变系统的建立专用的数据结构类型,把线性时不变系统的各种模型封装成为统一的各种模型封装成为统一的LTI(Linear Time Invariant)对象,它在一个名称之下包含了该系)对象,它在一个名称之下包含了该系统的全部属性,大大方便了系统的描述和运算。统的全部属性,大大方便了系统的描述和运算。编程实现:编程实现: f = polyadd(conv(fA,gB),conv(fB,gA) g

3、= conv(gA,gB)例如,求两个系统系统WA和和WB并联后的系统并联后的系统 模型。模型。直接计算:)()()(,)()()(sgsfsWsgsfsWBBBAAA)()()()()()()()()(sgsgsgsfsgsfsgsfsWBAABBA如果设置LTI对象:SA是WA的LTI对象, SB是WB的LTI对象则WA和WB的并联后的LTI对象为S= SA+ SB模型对象S中包含了并联后系统的参数矩阵,可以方便地提取参数,也可灵活地转换为其它模型的LTI对象LTI对象包含什么内容?如何设置?8.1.1 LTI对象的类型和属性对象的类型和属性 MATLAB控制系统工具箱中规定的控制系统工具

4、箱中规定的LTI对对象,包含了以下三种子对象:象,包含了以下三种子对象:ss对象、对象、tf对对象和象和zpk对象对象,他们分别与,他们分别与状态空间模型状态空间模型、传递函数模型传递函数模型和和零极增益模型零极增益模型相对应。每相对应。每个对象都具有其属性和方法,通过对象方个对象都具有其属性和方法,通过对象方法可以存取或者设置对象的属性值。法可以存取或者设置对象的属性值。 这三种对象的共同属性见这三种对象的共同属性见表表8.1。除了具有。除了具有LTI的共同的属性(即子对象可以继承父对的共同的属性(即子对象可以继承父对象的属性)外,还具有一些各自特有的属象的属性)外,还具有一些各自特有的属性

5、。性。 LTI对象的共同属性对象的共同属性 采样周期采样周期Ts:当系统为离散系统时,它给出了系:当系统为离散系统时,它给出了系统的采样周期,统的采样周期,Ts = 0或默认时表示系统为连续时或默认时表示系统为连续时间系统,间系统,Ts = -1表示系统是离散系统,但它的采表示系统是离散系统,但它的采样周期未定。样周期未定。 输入时延输入时延Td:仅对连续时间系统有效,其值为由仅对连续时间系统有效,其值为由每个输入通道的输入时延组成的时延数组,默认每个输入通道的输入时延组成的时延数组,默认表示无输入时延。表示无输入时延。 输入变量名输入变量名InputName和输出变量名和输出变量名Outpu

6、tName允许用户定义系统输入输出的名称,可默认。允许用户定义系统输入输出的名称,可默认。 说明说明Notes和用户数据和用户数据Userdata用以存储模型的其用以存储模型的其他信息,常用于给出描述模型的文本信息,也可他信息,常用于给出描述模型的文本信息,也可以包含用户需要的任意其他数据,可默认。以包含用户需要的任意其他数据,可默认。 各各LTI对象的特有属性对象的特有属性三种对象的特有属性见三种对象的特有属性见表表8.2。tf对象对象: den, num, variablezpk对象对象: k, p, variable, zss对象对象: a, b, c, d, e, StateNameV

7、ariable同属于前两类对象,它是用来显示系统同属于前两类对象,它是用来显示系统函数中频率变量的。默认时连续系统为函数中频率变量的。默认时连续系统为s,离散,离散系统为系统为z,对,对DSP(数字信号处理)式传递函数(数字信号处理)式传递函数为为z 1。8.1.2 LTI模型的建立模型的建立 各种各种LTI对象模型都可以通过一个相应函数来建对象模型都可以通过一个相应函数来建立,这种函数有五个,见立,这种函数有五个,见表表8.3。 其中其中dss和和ss函数都生成状态空间模型(它包含了函数都生成状态空间模型(它包含了描述状态空间模型)描述状态空间模型);filt函数生成的仍然是传递函数生成的仍

8、然是传递函数模型,它的存储变量仍是函数模型,它的存储变量仍是num,den,不过自,不过自动取动取z 1为显示变量,所以五种函数实际上生成的为显示变量,所以五种函数实际上生成的仍然是前面所说的三种对象模型。仍然是前面所说的三种对象模型。 表表8.3中所列的基本格式给出了最低限度应输入的中所列的基本格式给出了最低限度应输入的基本变元,这些变元后面还可以增加对象的属性基本变元,这些变元后面还可以增加对象的属性参数。参数。 例例1953543)(2342ssssssH分别设置为将系统将系统传递函数模型、零极增益模型和状态空间模型的LTI对象。解: f=3,4,5; g=1,3,5,0,9; s1=t

9、f(f,g) Transfer function: 3 s2 + 4 s + 5-s4 + 3 s3 + 5 s2 + 9传递函数模型的LTI对象零极增益模型的LTI对象 s2=zpk(s1) Zero/pole/gain: 3 (s2 + 1.333s + 1.667)-(s2 - 0.7826s + 1.365) (s2 + 3.783s + 6.596) s3=ss(s1) a = x1 x2 x3 x4 x1 -3 -1.25 0 -1.125 x2 4 0 0 0 x3 0 2 0 0 x4 0 0 1 0b = u1 x1 1 x2 0 x3 0 x4 0c = x1 x2 x3

10、x4 y1 0 0.75 0.5 0.625d = u1 y1 0 Continuous-time model. s4=ss(s2) a = x1 x2 x3 x4 x1 -1.891 1.737 -0.745 0 x2 -1.737 -1.891 -0.05194 0 x3 0 0 0.3913 2.201 x4 0 0 -0.5503 0.3913b = u1 x1 0 x2 0 x3 0 x4 1.651c = x1 x2 x3 x4 y1 2.714 0 0.8255 0d = u1 y1 0 Continuous-time model.课堂作业:已知某系统为)4)(3)(2)(1()

11、5)(3(5)(sssssssH分别将其设置为传递函数模型、零极增益模型和状态空间模型的LTI对象。8.1.3 对象属性的获取和修改对象属性的获取和修改1对象属性提取和修改的方法见表对象属性提取和修改的方法见表8.4 用用get和和set命令命令:这种方法可以看到模型中:这种方法可以看到模型中存储的全部属性并可对它们进行修改。存储的全部属性并可对它们进行修改。用单元阵列的访问方法用单元阵列的访问方法提取单项属性和对提取单项属性和对它单独赋值(参阅它单独赋值(参阅4.8节)节). 用用tf,zpk,ss等函数重新生成系统等函数重新生成系统。所以共有了三种方法来设置对象属性。所以共有了三种方法来设

12、置对象属性。 get(s1) num: 0 0 3 4 5 den: 1 3 5 0 9 Variable: s Ts: 0 ioDelay: 0 InputDelay: 0 OutputDelay: 0 InputName: OutputName: InputGroup: 1x1 struct OutputGroup: 1x1 struct Notes: UserData: get(s2) z: 1x1 cell p: 1x1 cell k: 3 Variable: s DisplayFormat: roots Ts: 0 ioDelay: 0 InputDelay: 0 OutputDel

13、ay: 0 InputName: OutputName: InputGroup: 1x1 struct OutputGroup: 1x1 struct Notes: UserData: get(s4) a: 4x4 double b: 4x1 double c: 2.71 0 0.825 0 d: 0 e: StateName: 4x1 cell Ts: 0 ioDelay: 0 InputDelay: 0 OutputDelay: 0 InputName: OutputName: InputGroup: 1x1 struct OutputGroup: 1x1 struct Notes: Us

14、erData: s4.aans = -1.8913 1.7374 -0.7450 0 -1.7374 -1.8913 -0.0519 0 0 0 0.3913 2.2013 0 0 -0.5503 0.3913系统s1, s2, s4虽然等价,但内部保存的属性参数不同。状态空间模型的系数a和b可以如下调用:修改属性值: get(s1) num: 0 0 3 4 5 den: 1 3 5 0 9 set(s1,den,1,3,5,7,9) get(s1) num: 0 0 3 4 5 den: 1 3 5 7 9 Variable: s Ts: 0 s1.denans = 1x5 double

15、s1.den:ans = 1 3 5 7 9 s1.den=2,4,6,8,10 Transfer function: 3 s2 + 4 s + 5-2 s4 + 4 s3 + 6 s2 + 8 s + 102模型类型的参数转换和提取模型类型的参数转换和提取 第六章中采用转换命令:第六章中采用转换命令:ss2tf,sstzp,tf2zp,tf2ss,zp2tf,zp2ss等。用这些命令时,输入变元中要键等。用这些命令时,输入变元中要键入系数矩阵,不太方便。入系数矩阵,不太方便。在采用在采用LTI模型以后,就不再用这些命令来进行模型模型以后,就不再用这些命令来进行模型变换了,而用能直接调用系统的

16、变换了,而用能直接调用系统的LTI名称的命令来实名称的命令来实现这些转换。现这些转换。这些命令就是这些命令就是dssdata,ssdata,tfdata和和zpkdata,它们分别用来获得转换后的系统状态它们分别用来获得转换后的系统状态空间、传递函数和零极增益参数。空间、传递函数和零极增益参数。与与ss,tf,zpk命令的不同在于这些带命令的不同在于这些带data的命的命令仅仅用来转换参数,但并不生成新的系统。令仅仅用来转换参数,但并不生成新的系统。 f,g=tfdata(s1)f = 1x5 doubleg = 1x5 double f1ans = 0 0 3 4 5 g1ans = 2 4

17、 6 8 10 z1,p1,k1=zpkdata(s1)z1 = 2x1 doublep1 = 4x1 doublek1 = 1.5000 z11ans = -0.6667 + 1.1055i -0.6667 - 1.1055i p11ans = 0.2878 + 1.4161i 0.2878 - 1.4161i -1.2878 + 0.8579i -1.2878 - 0.8579i3. 模型类型的检验模型类型的检验 cs1=class(s1)cs1 =tf cs2=class(s2)cs2 =zpk cs4=class(s4)cs4 =ss课堂作业:已知某系统为)4)(3)(2)(1()5)

18、(3(5)(sssssssH分别将其设置为传递函数模型、零极增益模型和状态空间模型的LTI对象,然后从LTI对象中提取出零极增益模型和状态空间模型的参数。8.1.4 SISO-LTI模型的组合模型的组合 假定两环节均为单输入单输出的系统假定两环节均为单输入单输出的系统SA和和SB。在控。在控制系统工具箱里,合成系统的特性可以用下列语句制系统工具箱里,合成系统的特性可以用下列语句实现。实现。 两环节串联两环节串联 S=series(SA,SB)或或 S=SA*SB 两环节并联两环节并联 S=parallel(SA,SB) 或或 S=SA+SB A环节前向,环节前向,B环节反馈环节反馈 S=fee

19、dback(SA,SB)使用时,只要输入环节的名称,不必输入其参使用时,只要输入环节的名称,不必输入其参数矩阵。数矩阵。 控制系统工具箱控制系统工具箱LTI对象运算优先等级为对象运算优先等级为 “状态空间状态空间零极增益零极增益传递函数传递函数”编程实现:编程实现: f = polyadd(conv(fA,gB),conv(fB,gA) g = conv(gA,gB)实现的算法:以并联为例)()()()()()()()()(sgsgsgsfsgsfsgsfsWBAABBA算法:W=parallel(WA,WB)按以上算法执行。S=series(SA,SB)S=feedback(SA,SB)和也

20、按对应的算法实现。已知ssWsssWBA) 1(4,125) 15 . 0(102求两个子系统串联、并联和反馈后的传递函数。解: WA=tf(5,10,5,2,1) Transfer function: 5 s + 10-5 s2 + 2 s + 1 WB=tf(4,1,1,0)Transfer function: 4-s2 + s串联: Ws=WA*WB Transfer function: 20 s + 40-5 s4 + 7 s3 + 3 s2 + s Ws1=series(WA,WB)Transfer function: 20 s + 40-5 s4 + 7 s3 + 3 s2 + s

21、并联: Wp=WA+WB Transfer function:5 s3 + 35 s2 + 18 s + 4-5 s4 + 7 s3 + 3 s2 + s Wb=feedback(WA,WB) Transfer function: 5 s3 + 15 s2 + 10 s-5 s4 + 7 s3 + 3 s2 + 21 s + 40反馈: WA1=zpk(WA); WB1=zpk(WB); Ws1=WA1*WB1 Zero/pole/gain: 4 (s+2)-s (s+1) (s2 + 0.4s + 0.2) Ws11=tf(Ws1) Transfer function: 4 s + 8-s4

22、 + 1.4 s3 + 0.6 s2 + 0.2 s20 s + 40-5 s4 + 7 s3 + 3 s2 + s8.1.5 复杂模型的组合复杂模型的组合:信号流图信号流图(略)8.1.6 连续和采样系统之间的变换连续和采样系统之间的变换 对于状态方程为对于状态方程为的连续系统,对应的采样系统状态方程为的连续系统,对应的采样系统状态方程为其中其中Ts为采样周期。其逆变换关系为:为采样周期。其逆变换关系为: DuCxyBuAxx)()()()()() 1(ddddkkkkkkuDxCyuBxAxDDCCBBAAAd0d)-(dd,deesTtt,ddd1dds,)(),(1n1DDCCABIA

23、BAAT连续和采样系统的变换函数连续和采样系统的变换函数 MATLAB控制工具箱提供了三种功能很强的函数控制工具箱提供了三种功能很强的函数来完成这个使命。它们是来完成这个使命。它们是:c2d(连续系统变为采(连续系统变为采样系统)、样系统)、d2c(采样系统变为连续系统)和(采样系统变为连续系统)和d2d(采样系统改变采样频率)。(采样系统改变采样频率)。 c2d函数的调用格式为函数的调用格式为 sd = c2d(sc, Ts, method) 把连续系统以采样周期把连续系统以采样周期Ts和和method方法,转换为采样系统。方法,转换为采样系统。 method有五种:有五种:zoh(零阶保持

24、器零阶保持器 ),foh(一阶保持一阶保持器器) ,tustin(双线性变换法)(双线性变换法),prewarp(频率预频率预修正双线性变换法修正双线性变换法),matched(根匹配法)(根匹配法) Wb=feedback(WA,WB) Transfer function: 5 s3 + 15 s2 + 10 s-5 s4 + 7 s3 + 3 s2 + 21 s + 40 Wbd=c2d(Wb,1) Transfer function: 1.434 z3 - 2.224 z2 + 0.8263 z - 0.03702-z4 - 0.7495 z3 + 5.421 z2 - 1.805 z

25、+ 0.2466 Sampling time: 1连续系统离散化连续系统离散化 Wbs=d2c(Wbd) Transfer function: s3 + 3 s2 + 2 s - 2.22e-015-s4 + 1.4 s3 + 0.6 s2 + 4.2 s + 8 Wb=feedback(WA,WB) Transfer function: 5 s3 + 15 s2 + 10 s-5 s4 + 7 s3 + 3 s2 + 21 s + 40例例 连续系统变换为离散系统连续系统变换为离散系统 已知连续系统的传递函数为已知连续系统的传递函数为采样周期为采样周期为0.2s,试用零阶保持器和双线性变换两

26、,试用零阶保持器和双线性变换两种方法求出其离散传递函数。种方法求出其离散传递函数。 解:本例所用建模方法可参阅解:本例所用建模方法可参阅8.1.6节的内容,其节的内容,其核心语句为:核心语句为:sd1=c2d(sc,ts)% 零阶保持器方法零阶保持器方法sd3=c2d(sc,ts,t)% 双线性变换方法双线性变换方法10214)(2ssssHf=-4,1;g=1,7,12;ts=0.2; sc=tf(f,g) % 建立连续系统对象模型disp(零阶保持器) % 用不同的方法变换为采样系统sd1=c2d(sc,ts) % disp(双线性变换)sd3=c2d(sc,ts,t) % 双线性q805

27、.mTransfer function: -4 s + 1-s2 + 7 s + 12零阶保持器 Transfer function: -0.3852 z + 0.4059-z2 - 0.9981 z + 0.2466 Sampling time: 0.2双线性变换 Transfer function:-0.2143 z2 + 0.01099 z + 0.2253- z2 - 0.967 z + 0.2308 Sampling time: 0.28.1.7 典型系统的生成函数典型系统的生成函数 用用p.254 表表8.5列出的函数可以快速地生成所需阶列出的函数可以快速地生成所需阶数的线性时不变

28、系统。例如数的线性时不变系统。例如 sys=rss(4)得出随机产生的四阶稳定的状态空间系得出随机产生的四阶稳定的状态空间系统统sys, rmodel函数用于产生函数用于产生LTI对象的系数,它并不生对象的系数,它并不生成成LTI对象本身。对象本身。 drss和和rss的用法相仿,不同点仅仅在于它生成的的用法相仿,不同点仅仅在于它生成的是离散系统。是离散系统。 ord2函数也是用来产生二阶系统的系数的,不能函数也是用来产生二阶系统的系数的,不能生成系统本身,生成系统本身, 已知连续系统的传递函数为已知连续系统的传递函数为采样周期为采样周期为0.2s,试用零阶保持器和双线性变,试用零阶保持器和双

29、线性变换两种方法求出其离散传递函数。换两种方法求出其离散传递函数。课堂练习:课堂练习:521)(2ssssH8.2 动态特性和时域分析函数动态特性和时域分析函数 控制工具箱中的动态特性和时域分析函数参控制工具箱中的动态特性和时域分析函数参看看p.265 表表8.6。其中分三大类:。其中分三大类:零极点分析函数零极点分析函数根轨迹绘制函数根轨迹绘制函数时域动态分析函数时域动态分析函数 这些函数中凡是以系统名称这些函数中凡是以系统名称sys作为输入变元作为输入变元的,都同时适用于连续系统和离散系统。而的,都同时适用于连续系统和离散系统。而且也适用于多输入多输出系统。因为这些特且也适用于多输入多输出

30、系统。因为这些特征都已包含在系统名称中。征都已包含在系统名称中。已知连续系统的传递函数为已知连续系统的传递函数为10214)(2ssssH求:(1) 系统极点的固有频率和阻尼系数; (2) 求系统的极点和零点; (3) 绘制系统的零极点图。解:设置LTI对象 s=tf(-4,1,1,2,10) Transfer function: -4 s + 1-s2 + 2 s + 10(1) 系统极点的固有频率和阻尼系数 wn,zeta=damp(s)wn = 3.1623 3.1623zeta = 0.3162 0.3162(2) 求系统的极点和零点 p=pole(s)p = -1.0000 + 3.

31、0000i -1.0000 - 3.0000i z=tzero(s)z = 0.2500方法1:方法3: z,p,k=zpkdata(s)z = 0.2500p = 2x1 doublek = -4 p=p:p = -1.0000 + 3.0000i -1.0000 - 3.0000i p,z=pzmap(s)p = -1.0000 + 3.0000i -1.0000 - 3.0000iz = 0.2500方法2: (3) 绘制系统的零极点图 pzmap(s)10214)(2ssssH求:(1) 系统极点的固有频率和阻尼系数; (2) 求系统的极点和零点; (3) 绘制系统的零极点图。将系统以

32、采样间隔T=0.5离散化,对离散化系统,解:用零阶保持器进行离散化, ds=c2d(s,0.5) Transfer function: -0.7311 z + 0.8593-z2 - 0.08581 z + 0.3679 Sampling time: 0.5(1) 系统极点的固有频率和阻尼系数 wn,zeta=damp(ds)wn = 3.1623 3.1623zeta = 0.3162 0.3162(2) 求系统的极点和零点 pd,zd=pzmap(ds)pd = 0.0429 + 0.6050i 0.0429 - 0.6050izd = 1.1754 (3) 绘制系统的零极点图 pzmap

33、(ds)系统的根轨迹绘制系统的根轨迹绘制 设系统的开环传递函数为设系统的开环传递函数为画出系统的根轨迹,并求出临界点(即根在虚轴上)画出系统的根轨迹,并求出临界点(即根在虚轴上)的增益。的增益。设设Ts= 0.5,将系统离散化后,做同样的工作。,将系统离散化后,做同样的工作。 思路:思路:先建立系统的先建立系统的LTI连续模型连续模型s,然后用,然后用rlocus(s)函数画它的根轨迹,再键入函数画它的根轨迹,再键入rlocfind(s)函函数,用鼠标选择根轨与虚轴的交点,即临界点。数,用鼠标选择根轨与虚轴的交点,即临界点。然后转成系统的然后转成系统的LTI离散模型离散模型sd,执行同样的程,

34、执行同样的程序。序。 sssssH5030121)(234disp(先分析连续系统),pauses=tf(1,1,12,30,50,0)% 建立连续系统开环模型sfigure(1),rlocus(s)% 连续系统s的根轨迹绘制sgridrlocfind(s)% 用鼠标求临界点及k值disp(以下分析离散系统),pausesd=c2d(s,0.5,t)% 建立离散系统开环模型figure(2),rlocus(sd)% 离散系统s的根轨迹绘制zgridrlocfind(sd)% 用鼠标求临界点及k值q811.m先分析连续系统 Transfer function: 1-s4 + 12 s3 + 30

35、 s2 + 50 s Select a point in the graphics windowselected_point = 0.0296 + 2.0031ians = 107.2553以下分析离散系统 Transfer function:0.0005869 z4 + 0.002347 z3 + 0.003521 z2 + 0.002347 z + 0.0005869- z4 - 1.268 z3 + 0.338 z2 + 0.06573 z - 0.1362 Sampling time: 0.5Select a point in the graphics windowselected_p

36、oint = 0.5883 + 0.8137ians = 108.9041连续系统根轨连续系统根轨离散化后的系统根轨离散化后的系统根轨要注意连续系统和离散系统根平面之间的映射关系。要注意连续系统和离散系统根平面之间的映射关系。s平面的平面的左半平面左半平面映射为映射为z平面平面单位圆的内部单位圆的内部。s平面上的平面上的虚轴虚轴映射为映射为z平面平面单位圆边界单位圆边界s平面上的平面上的原点原点映射为映射为z平面上的平面上的点(点(1,0)s平面上的平面上的无穷远点无穷远点映射为映射为z平面上的平面上的点(点( 1,0)掌握这些要点就能够比较出两种情况根轨迹的对应关掌握这些要点就能够比较出两种

37、情况根轨迹的对应关系。系。两个两个k值的微小差别可能有多种原因造成。一般说来,值的微小差别可能有多种原因造成。一般说来,连续系统经过采样以后再闭环,采样器的延时会使连续系统经过采样以后再闭环,采样器的延时会使系统的稳定性下降。系统的稳定性下降。系统的多种响应曲线系统的多种响应曲线随机生成一个四阶随机生成一个四阶SISO连续系统,求出它的状态方连续系统,求出它的状态方程,并分别画出它的程,并分别画出它的(1)脉冲响应曲线;)脉冲响应曲线;(2)初始条件为)初始条件为x0 = 1, -1, 0, 2下的零输入下的零输入响应曲线;响应曲线;(3)在正弦激励下的输出响应曲线;)在正弦激励下的输出响应曲

38、线;(4)系统的零极点分布图。)系统的零极点分布图。将此系统离散化后,再分别画以上四种曲线。将此系统离散化后,再分别画以上四种曲线。解:构建系统,设置解:构建系统,设置LTI对象对象a,b,c,d=rmodel(4);s1=ss(a,b,c,d)Ts=0.2;sd1=c2d(s1,Ts,t)t=0:Ts:25;u=sin(0.5*t);产生正弦激励信号(输入信号)q809.mfor i=1:2 if i=1 s=s1; else s=sd1; end figure(i) subplot(2,2,1) impulse(s,5);grid subplot(2,2,2) lsim(s,u,t); s

39、ubplot(2,2,3) x0=1,-1,0,2; initial(s,x0,5),grid subplot(2,2,4) pzmap(s),gridend 分别绘制连续和离散情况下的多种响应曲线:i=1 连续;i=2 离散脉冲响应;正弦响应初始条件下的零输入响应零极点分布连续系统的多种响应曲线连续系统的多种响应曲线离散系统的多种响应曲线离散系统的多种响应曲线课堂练习:(5)将合成系统离散化,采样间隔取1。并绘制离散化后系统的阶跃响应曲线。(1)用rss(n)函数生成一个2阶稳定的状态空间模型;(2)用rmodel(n)随机生成一个3阶传递函数模型的系数,(3)并以状态空间模型作前向系统,以

40、传递函数模型作为反馈系统,求合成系统的零极点增益模型的参数;(4)绘制合成系统的脉冲响应曲线;8.3 系统的频域分析函数系统的频域分析函数 bode(sys), mag,phase,w=bode(sys) fres=evalfr(sys,f) 单个频率点计算单个频率点计算 H=freqresp(sys,w) 给定频率区间计算给定频率区间计算 Gm,Pm,wcg,wcp=margin(sys) margin(sys) ngrid nichols(sys) nyquist(sys)控制工具箱中的控制工具箱中的频域分析函数参见p.278 表8.7例例8.13 阻尼系数对频率响应的影响阻尼系数对频率响

41、应的影响 二阶系统的传递函数为二阶系统的传递函数为设其固有频率设其固有频率 n=10,阻尼系数,阻尼系数 =0.1,0.4,0.7,1,分别画出其分别画出其bode(波德)图。将系统在条件(波德)图。将系统在条件Ts=0.1下离散化,并做同样的工作。下离散化,并做同样的工作。 解:解:编程思路编程思路 先用先用ord2函数建立二阶连续系统函数建立二阶连续系统LTI模型模型s,用,用c2d函数转换为离散函数转换为离散LTI模型模型sd,再用,再用bode函数绘制函数绘制对数频率特性曲线。不同的对数频率特性曲线。不同的 用用for循环处理。注意循环处理。注意bode(sys) 函数对连续和离散系统

42、是公用的。函数对连续和离散系统是公用的。 2221)(nnsssH生成已知固有频率和阻尼系数的二阶系统系数clear,wn=10;for zeta=0.1:0.3:1, n,d=ord2(wn,zeta); s1=tf(n*wn2,d); % 生成二阶连续系统 sd1=c2d(s1,0.1); % 转成二阶采样系统,采样周期0.1秒 figure(1),bode(s1),hold on,grid on % 画波德图 figure(2),bode(sd1),hold on,grid on % 画波德图,注意离散系统用同样命令endq813.m 阻尼系数对连续(左)和离散(右)系统频率响应的影响阻

43、尼系数对连续(左)和离散(右)系统频率响应的影响 从图中可以看出,二阶连续系统阻尼系数从图中可以看出,二阶连续系统阻尼系数 很小时,其幅频特性在转折频率处出现谐振很小时,其幅频特性在转折频率处出现谐振峰,相频特性在这个频率附近迅速下降。随峰,相频特性在这个频率附近迅速下降。随着着 的增大,幅频特性的峰值减小,在的增大,幅频特性的峰值减小,在 0.7后,幅频特性单调下降。相频特性的下降也后,幅频特性单调下降。相频特性的下降也趋于平缓。趋于平缓。 离散系统的频率响应在低频区和连续系统基离散系统的频率响应在低频区和连续系统基本相同,在高频区有一个本相同,在高频区有一个最高极限频率最高极限频率,这,这

44、个频率是个频率是采样频率的一半采样频率的一半,这体现了采样定,这体现了采样定理。在靠近该频率处的频率特性,也和连续理。在靠近该频率处的频率特性,也和连续系统差别较大,这是由于频率泄漏的效应。系统差别较大,这是由于频率泄漏的效应。 例例8.14 高阶系统开闭环频率响应高阶系统开闭环频率响应 设系统的传递函数为设系统的传递函数为画出其波德图。将系统在条件画出其波德图。将系统在条件Ts= 0.1下离散化,并下离散化,并做同样的工作。然后把两种系统分别用单位负反做同样的工作。然后把两种系统分别用单位负反馈构成闭合环路,画出其波德图与开环进行比较,馈构成闭合环路,画出其波德图与开环进行比较,并判断其稳定

45、性。并判断其稳定性。 解:解:编程思路编程思路 先先用用zpk函数建立连续系统函数建立连续系统LTI模型模型s,用,用c2d函数转换为离散函数转换为离散LTI模型模型sd,再用,再用feedback函数得函数得到两种系统的闭环传递函数,最后用到两种系统的闭环传递函数,最后用bode函数绘函数绘制对数频率特性曲线。用制对数频率特性曲线。用damp(sys)函数判稳。函数判稳。 2)10)(1()6(200)(sssssHclear,clear,Ts=0.1Ts=0.1s=zpks=zpk(-6,0,-1,-10,-10,200) (-6,0,-1,-10,-10,200) % % 生成四阶连续系

46、统生成四阶连续系统s ssdsd=c2d(s,Ts) =c2d(s,Ts) % % 变换为四阶离散系统变换为四阶离散系统sdsdsbsb=feedback(s,1) =feedback(s,1) % % 把连续系统闭合,生成闭环系统把连续系统闭合,生成闭环系统sbsbsbd=feedback(sdsbd=feedback(sd,1) ,1) % % 把离散系统闭合,生成闭环系统把离散系统闭合,生成闭环系统sbdsbdfigure(1),bode(s,figure(1),bode(s,-,sb,sb, ,.-.-) ) % % 在图在图1 1中同时绘出连续系统的开中同时绘出连续系统的开闭环频率特

47、性闭环频率特性figure(2),bode(sdfigure(2),bode(sd, ,-,sbd,sbd, ,.-.-) ) % % 在图在图2 2中同时绘出离散系统的开中同时绘出离散系统的开闭环频率特性闭环频率特性damp(sbdamp(sb) ) % % 闭环闭环sbsb的根的固有频率和阻尼系数的根的固有频率和阻尼系数damp(sbddamp(sbd) ) % % 判断闭环判断闭环sbdsbd的根的固有频率和阻尼系数的根的固有频率和阻尼系数 Gm,Pm,wcg,wcp=margin(sbGm,Pm,wcg,wcp=margin(sb) ) % % 判断闭环判断闭环sbsb的稳定裕度的稳定

48、裕度 Gmd,Pmd,wcgd,wcpd=margin(sbdGmd,Pmd,wcgd,wcpd=margin(sbd) ) % % 判断闭环判断闭环sbdsbd的稳定裕度的稳定裕度书上有误书上有误q814.m例例8.14 高阶系统开闭环频率响应高阶系统开闭环频率响应例例8.14 高阶系统开闭环频率响应高阶系统开闭环频率响应 由结果可知本题中的连续系统是稳定的,但稳定由结果可知本题中的连续系统是稳定的,但稳定裕度很小,振幅稳定裕度裕度很小,振幅稳定裕度Gm只有只有0.7768dB,相,相位稳定裕度位稳定裕度Pm为为-3.4338。而对应的离散系统则。而对应的离散系统则是不稳定的。是不稳定的。

49、注意开闭环特性的两点:第一点,在开环的幅频注意开闭环特性的两点:第一点,在开环的幅频特性远远大于特性远远大于0 dB(例如(例如+20dB以上)的以上)的低频区低频区,闭环幅频特性为闭环幅频特性为0 dB,相频特性也近似为零,说,相频特性也近似为零,说明在这个频段,明在这个频段,反馈信号很强反馈信号很强,这时闭环特性近,这时闭环特性近似于反馈回路特性的逆;第二点,在开环的幅频似于反馈回路特性的逆;第二点,在开环的幅频特性远远小于特性远远小于0 dB(例如(例如 20 dB以下)的以下)的高频区高频区,闭环与开环幅频特性和相频特性相重合,闭环与开环幅频特性和相频特性相重合,反馈几反馈几乎不起作用

50、乎不起作用。 例例8.15 奈奎斯特曲线及判稳奈奎斯特曲线及判稳1 设系统的传递函数为设系统的传递函数为这是一个开环不稳定的系统。画出其这是一个开环不稳定的系统。画出其Nyquist曲曲线,判别其闭环稳定性。在此系统上加一个线,判别其闭环稳定性。在此系统上加一个零点(零点(s0.5)后,再做同样的工作,并进行)后,再做同样的工作,并进行比较讨论。比较讨论。 解:解:编程思路编程思路 先用先用zpk函数建立系统的函数建立系统的LTI模型模型s1,调用,调用nyquist函数画出其曲线,再用函数画出其曲线,再用feedback函数函数得到它的闭环传递函数,用得到它的闭环传递函数,用margin函数

51、绘制函数绘制出简略的对数频率特性曲线。用求闭环脉冲出简略的对数频率特性曲线。用求闭环脉冲响应的方法再检验判稳的正确性。对系统响应的方法再检验判稳的正确性。对系统2做做同样的工作。同样的工作。)6)(1)(2 . 1(50)(ssssHclear,s1=zpk( ,-6,-1,1.2,50 ); % 生成连续系统s1figure(1)subplot(2,2,1),nyquist(s1) ,grid % 画nyquist图sb1=feedback(s1,1)subplot(2,2,2),impulse(s1),grid % 画开环脉冲响应图 subplot(2,2,3),margin(s1) ,g

52、rid % 画nichols图subplot(2,2,4),impulse(sb1),grid % 画闭环脉冲响应图s2=zpk(-.5,-6,-1,1.2,50 ); % 生成加微分的连续系统s2figure(2)subplot(2,2,1),nyquist(s2),grid % 画nyquist图sb2=feedback(s2,1)subplot(2,2,2),impulse(s2),grid % 画开环脉冲响应图 subplot(2,2,3),margin(s2), grid % 画nichols图subplot(2,2,4),impulse(sb2),grid % 画闭环脉冲响应图 q

53、815.m例例8.15 奈奎斯特曲线及判稳奈奎斯特曲线及判稳2开环、闭环都不稳定例例8.15 奈奎斯特曲线及判稳奈奎斯特曲线及判稳3开环不稳定闭环稳定8.4 系统的状态空间分析函数系统的状态空间分析函数 第一类函数是关于系统可观性、可控性判别的,第一类函数是关于系统可观性、可控性判别的, (1)可控性矩阵)可控性矩阵 Co = ctrb(sys) 或或Co = ctrb(A, B), (2)可观性矩阵)可观性矩阵 Ob = obsv(sys),Ob = obsv(A, C), (3)Gramian矩阵矩阵Wc = gram(sys,c) Wc = gram(sys,o) 它是系统可观性、可控性

54、的另一判据,可用于时变它是系统可观性、可控性的另一判据,可用于时变系统。系统。8.4 系统的状态空间分析函数系统的状态空间分析函数 第二类函数是关于系统相似变换的。第二类函数是关于系统相似变换的。(1)通用相似变换函数)通用相似变换函数 sysT = ss2ss(sys,T) (2)变为规范形式的函数)变为规范形式的函数 csys = canon(sys,type) (3)把系统分解为可控与不可控两部分的函数)把系统分解为可控与不可控两部分的函数 Abar,Bbar,Cbar,T,k = ctrbf(A,B,C)(4)把系统分解为可观与不可观两部分的函数)把系统分解为可观与不可观两部分的函数(

55、5)构成最小实现系统)构成最小实现系统rsys的函数。的函数。 等等等等具体的分析函数参见具体的分析函数参见p.285 表表8.8例例8.16 系统的可控可观结构分解系统的可控可观结构分解 设系统的状态空间方程为设系统的状态空间方程为将其作可控性与可观性结构分解。将其作可控性与可观性结构分解。 解:解:编程思路编程思路 先作可控性结构分解,得出状态方程系数矩阵的先作可控性结构分解,得出状态方程系数矩阵的秩秩rA和可控矩阵的秩和可控矩阵的秩rc。如果。如果rc=rA,则系统完全,则系统完全可控;如果可控;如果rcrA,则系统有,则系统有rA - rc个状态不可控,个状态不可控,可控阶梯型分解有效

56、可控阶梯型分解有效。用。用obscf函数可作可观性结函数可作可观性结构分解。构分解。221102011431111 xxuyxclear,A=2,2,-1;0,-2,0;1,-4,3;B=0;0;1;C=1,-1,1;D=0; %系数矩阵赋值s1=ss(A,B,C,D); % 构成LTI模型Abar,Bbar,Cbar,T,k=ctrbf(s1.a,s1.b,s1.c) % 化为可控阶梯型rA=rank(A) % 状态方程系数矩阵的秩rc=sum(k) % 判断可控矩阵的秩Abaro,Bbaro,Cbaro,To,ko=obsvf(s1.a,s1.b,s1.c); % 化为可观阶梯型ro=su

57、m(ko)Q816.mAbar = -2 0 0 -2 2 -1 4 1 3Bbar = 0 0 -1Cbar = -1 -1 -1T = 0 1 0 -1 0 0 0 0 -1k = 1 1 0rA = 3rc = 2ro = 3系统部分可控;可控性分解有效系统完全可观;例例8.17 系统的相似变换系统的相似变换 设系统的状态空间方程为设系统的状态空间方程为将它变换为两种规范形式。将它变换为两种规范形式。 解:解:编程思路编程思路 用用MATLAB中的中的canon函数。函数。 数据中有数据中有e-016或或e-015的乘子时的乘子时,可以把它取为零。可以把它取为零。得出的标准型中只有得出的标准型中只有a阵是唯一的,不同的变换方阵是唯一的,不同的变换方法得出的法得出的b和和c可以是不同的。可以是不同的。 2

温馨提示

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

评论

0/150

提交评论