线性控制系统分析与设计

上传人:汽*** 文档编号:487186942 上传时间:2023-04-11 格式:DOC 页数:37 大小:485KB
返回 下载 相关 举报
线性控制系统分析与设计_第1页
第1页 / 共37页
线性控制系统分析与设计_第2页
第2页 / 共37页
线性控制系统分析与设计_第3页
第3页 / 共37页
线性控制系统分析与设计_第4页
第4页 / 共37页
线性控制系统分析与设计_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《线性控制系统分析与设计》由会员分享,可在线阅读,更多相关《线性控制系统分析与设计(37页珍藏版)》请在金锄头文库上搜索。

1、第6章 线性控制系统分析与设计MATLAB的控制系统工具箱(Control System Toolbox)可以提供对线性系统分析、设计和建模的各种算法。6.1线性系统的描述6.1.1状态空间描述法状态空间描述法是使用状态方程模型来描述控制系统,MATLAB中状态方程模型的建立使用ss和dss命令。语法:G=ss(a,b,c,d) %由a、b、c、d参数获得状态方程模型G=dss(a,b,c,d,e) %由a、b、c、d、e参数获得状态方程模型【例6.1】写出二阶系统,当=0.707,=1时的状态方程。 zeta=0.707;wn=1; A=0 1;-wn2 -2*zeta*wn; B=0;wn

2、2; C=1 0; D=0; G=ss(A,B,C,D) %建立状态方程模型 a = x1 x2 x1 0 1 x2 -1 -1.414 b = u1 x1 0 x2 1 c = x1 x2 y1 1 0 d = u1 y1 0 Continuous-time model. 6.1.2传递函数描述法MATLAB中使用tf命令来建立传递函数。语法:G=tf(num,den) %由传递函数分子分母得出说明:num为分子向量,num=b1,b2,bm,bm+1;den为分母向量,den=a1,a2,an-1,an。【例6.1续】将二阶系统描述为传递函数的形式。 num=1; den=1 1.414

3、1; G=tf(num,den) %得出传递函数 Transfer function: 1-s2 + 1.414 s + 1 6.1.3零极点描述法MATLAB中使用zpk命令可以来实现由零极点得到传递函数模型。语法:G=zpk(z,p,k) %由零点、极点和增益获得说明:z为零点列向量;p为极点列向量;k为增益。【例6.1续】得出二阶系统的零极点,并得出传递函数。 z=roots(num) z = Empty matrix: 0-by-1 p=roots(den) p = -0.7070 + 0.7072i -0.7070 - 0.7072i zpk(z,p,1) Zero/pole/gai

4、n: 1-(s2 + 1.414s + 1) 程序分析:roots函数可以得出多项式的根,零极点形式是以实数形式表示的。部分分式法是将传递函数表示成部分分式或留数形式:【例6.1续】将传递函数转换成部分分式法,得出各系数。 r,p,k=residue(num,den) r = 0 - 0.7070i 0 + 0.7070ip = -0.7070 + 0.7072i -0.7070 - 0.7072ik = 6.1.4离散系统的数学描述1. 状态空间描述法状态空间描述离散系统也可使用ss和dss命令。语法:G=ss(a,b,c,d,Ts) %由a、b、c、d参数获得状态方程模型G=dss(a,b

5、,c,d,e,Ts) %由a、b、c、d、e参数获得状态方程模型说明:Ts为采样周期,为标量,当采样周期未指明可以用-1表示。【例6.2】用状态空间法建立离散系统。 a=-1.5 -0.5;1 0; b=1;0; c=0 0.5; d=0; G=ss(a,b,c,d,0.1) %采样周期为0.1s a = x1 x2 x1 -1.5 -0.5 x2 1 0 b = u1 x1 1 x2 0 c = x1 x2 y1 0 0.5 d = u1 y1 0 Sampling time: 0.1Discrete-time model. 2. 脉冲传递函数描述法脉冲传递函数也可以用tf命令实现。语法:G

6、=tf(num,den,Ts) %由分子分母得出脉冲传递函数说明:Ts为采样周期,为标量,当采样周期未指明可以用-1表示,自变量用z表示。【例6.2续】创建离散系统脉冲传递函数。 num1=0.5 0; den=1 -1.5 0.5; G1=tf(num1,den,-1) Transfer function: 0.5 z-z2 - 1.5 z + 0.5 Sampling time: unspecified MATLAB中还可以用filt命令产生脉冲传递函数。语法:G=filt(num,den,Ts) %由分子分母得出脉冲传递函数说明:Ts为采样周期,当采样周期未指明Ts可以省略,也可以用-1

7、表示,自变量用z-1表示。【例6.2续】使用filt命令产生脉冲传递函数。 num2=0 0.5; G2=filt(num2,den) Transfer function: 0.5 z-1-1 - 1.5 z-1 + 0.5 z-2 Sampling time: unspecified 程序说明:用filt命令生成的脉冲传递函数的自变量不是z而是z-1,因此分子应改为“0 0.5”。3. 零极点增益描述法离散系统的零极点增益用zpk命令实现。语法:G=zpk(z,p,k,Ts) %由零极点得出脉冲传递函数【例6.2续】使用zpk命令产生零极点增益传递函数。 G3=zpk(0,0.5 1,0.5

8、,-1) Zero/pole/gain: 0.5 z-(z-0.5) (z-1) Sampling time: unspecified 6.2线性系统模型之间的转换6.2.1连续系统模型之间的转换在MATLAB5.3版及以前的控制系统工具箱中有各种不同模型转换的函数,如下表6.1所示为线性系统模型转换的函数。表6.1 线性系统模型转换函数表函数调用格式功能tf2ssa,b,c,d=tf2ss(num,den)传递函数转换为状态空间tf2zpz,p,k=tf2zp(num,den)传递函数转换为零极点描述ss2tfnum,den=ss2tf(a,b,c,d,iu)状态空间转换为传递函数ss2zp

9、z,p,k=ss2zp(a,b,c,d,iu)状态空间转换为零极点描述zp2ssa,b,c,d=zp2ss(z,p,k)零极点描述转换为状态空间zp2tfnum,den=zp2tf(z,p,k)零极点描述转换为传递函数1. 系统模型的转换(1) 状态空间模型的获得由命令ss和dss实现将传递函数和零极点增益转换为状态空间模型。语法:G=ss(传递函数) %由传递函数转换获得G=ss(零极点模型) %由零极点模型转换获得【例6.3】将单输入双输出的系统传递函数转换为状态空间描述。 num=0 3 2;1 2 3; den=3 5 2 1; G11=tf(num(1,:),den) Transfe

10、r function: 3 s + 2-3 s3 + 5 s2 + 2 s + 1 G12=tf(num(2,:),den) Transfer function: s2 + 2 s + 3-3 s3 + 5 s2 + 2 s + 1 G=ss(G11;G12) a = x1 x2 x3 x1 -1.667 -0.3333 -0.08333 x2 2 0 0 x3 0 2 0 b = u1 x1 1 x2 0 x3 0 c = x1 x2 x3 y1 0 0.5 0.1667 y2 0.3333 0.3333 0.25 d = u1 y1 0 y2 0 Continuous-time model

11、. (2) 传递函数的获得由tf命令实现将系统的状态空间法和零极点增益模型转换为传递函数。语法:G=tf(状态方程模型) %由状态空间转换G=tf(零极点模型) %由零极点模型转换【例6.3续】由状态空间描述转换为传递函数。 G1=tf(G) Transfer function from input to output. s + 0.6667 #1: - s3 + 1.667 s2 + 0.6667 s + 0.3333 0.3333 s2 + 0.6667 s + 1 #2: - s3 + 1.667 s2 + 0.6667 s + 0.3333 (3) 零极点模型的获得由zpk命令实现将状态空间法、传递函数转换为零极点模型。语法:G=zpk(状态方程模型) %由状态方程模型转换G=zpk(传递函数) %由传递函数转换【例6.3续】由传递函数和状态方程模型转换零极点模型。 G2=zpk(G) %由状态方程模型转换 Zero/pole/gain from input to output. (s+0.6667) #1: - (s+1.356) (s2 + 0.3103s + 0.2458)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号