第3章控制系统模型与转换.ppt_第1页
第3章控制系统模型与转换.ppt_第2页
第3章控制系统模型与转换.ppt_第3页
第3章控制系统模型与转换.ppt_第4页
第3章控制系统模型与转换.ppt_第5页
已阅读5页,还剩59页未读, 继续免费阅读

下载本文档

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

文档简介

1、1,控制系统的数学模型在控制系统的研究中有着相当重要的地位,要对系统进行仿真处理,首先应当知道系统的数学模型,然后才可以对系统进行模拟。同样,如果知道了系统的模型,才可以在此基础上设计一个合适的控制器,使得系统响应达到预期的效果,从而符合工程实际的需要。 在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点增益模型和部分分式模型等。这些模型之间都有着内在的联系,可以相互进行转换。,2,系统的分类 按系统性能分:线性系统和非线性系统;连续系统和离散系统;定常系统和时变系统;确定系统和不确定系统。 1、线性连续系统:用线性微分方程式来描

2、述,如果微分方程的系数为常数,则为定常系统;如果系数随时间而变化,则为时变系统。今后我们所讨论的系统主要以线性定常连续系统为主。 2、线性定常离散系统:离散系统指系统的某处或多处的信号为脉冲序列或数码形式。这类系统用差分方程来描述。 3、非线性系统:系统中有一个元部件的输入输出特性为非线性的系统。,3,3.1 连续线性系统的数学模型,3.11 线性系统的传递函数 一、连续系统的传递函数模型 连续系统的传递函数如下: 对物理可实现系统来说,必须满足mn,这种情况下又称系统为正则(proper)的。若mn,则称系统是严格正则。对线性定常系统,式中s的系数均为常数,且a1不等于零,这时系统在MATL

3、AB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num和den表示。,4,num=b1,b2,bm,bm+1 den=a1,a2,an,an+1 G=tf(num, den) 注意:它们都是按s的降幂进行排列的。 还可以采用矩阵输入方式,即先用s=tf(s)定义传递函数算子,然后用数学表达式形式直接输入系统的传递函数。,5,例1 传递函数,6,当分子或分母为多项式的运算时,可采用conv( )函数求多项式的乘积。 例2:传递函数,7,例3:传递函数 或 s=tf(s); G=(s3+4*s2+3*s+2)/(s2*(s+1)*(s+4)2+4),8,使用set命令

4、可以获得tf( )函数的详细信息,9,若有传递函数G,也可用tfdata( )函数提取系统的分子和分母多项式。 如:上例中的G 当系统为多变量系统时,可用下面语句提取第1路输入和第1路输出的传递函数 num=G.num1,1;den=G.den1,1,10,3.1.2 线性系统的状态方程模型,线性时不变系统可以用一组一阶微分方程来描述,其矩阵形式即为现代控制理论中常用的状态空间表示法。状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,经典控制理论用传递函数将输入输出关系表达出来,而现代控制理论则用状态方程和输出方程来表达输入输出关系,揭示了系统内部状态对系统性能的影响。,在MATLA

5、B中,系统状态空间用(A,B,C,D)矩阵组表示: G=ss(A, B, C, D),x为状态向量;u为输入向量;y为输出向量 A为系统矩阵;B为输入矩阵; C为输出矩阵;D为前馈矩阵;,11,例4: 系统为一个两输入两输出系统 A=1 6 9 10; 3 12 6 8; 4 7 9 11; 5 12 13 14; B=4 6; 2 4; 2 2; 1 0; C=0 0 2 1; 8 0 2 2; D=zeros(2,2); G=ss(A, B, C, D),12,获取状态方程参数可使用ssdata( )函数。 带有时间延迟的状态方程 可使用语句: G=ss(A, B, C, D, ioDel

6、ay, ),13,3.1.3 线性系统的零极点模型,零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。 其中,K为系统增益,zi为零点,pj为极点。 在MATLAB中零极点增益模型zpk( )函数表示。即: Z=z1;z2;zm P=p1;p2;.;pn G=zpk(Z, P, K) 系统G的零极点可以直接调用pzmap(G)函数显示。,14,例5: 输入该零极点模型:,15,零极点增益模型: num=1,11,30,0; den=1,9,45,87,50; z,p,k=tf2zp(num,den) ,z

7、= 0 -6 -5,p= -3.0000+4.0000i -3.0000-4.0000i -2.0000 -1.0000,k= 1,结果表达式:,16,3.1.4 多变量系统的传递函数矩阵模型,多变量系统的状态方程可由ss( )函数输入,也可直接给出传递函数矩阵,17,例6: 其输入命令如下 或 g11=tf(0.1134,1.78,4.48,1); g12=tf(0.924,2.07,1); g21=tf(0.3378,0.361,1.09,1); g22=tf(-0.318,2.93,1); G=g11,g12;g21,g22; G.ioDelay=0.72,0;0.3,1.29,18,3

8、.2 离散系统模型,3.2.1 离散系统传递函数模型 可以用tf( )函数输入。 num=b0,b1,bn-1,bn; den=1,a1,a2,an; H=tf(num, den, Ts,T); 其中,T为时既采样周期。 也可定义算子z=tf(z,T),然后用数学表达式形式输入传递函数。,19,例7:离散系统传递函数为 其采样周期T=0.1s,则输入命令为,20,Notice:该模型还可用 z=tf(z,0.1); H=(0.31*z3-0.57*z2+038*z-0.088)/ (z4-3.23*z3+3.98*z2-2.22*z+0.47) 若将离散系统的传递函数分子和分母同时除以zn,则

9、系统可变换为 用q取代z-1,则有,21,对于这种多用于表示滤波器的形式,其输入命令有 num= bn, bn-1, , b1, b0; den=an, an-1, , a1, 1; H=tf(num, den, Ts,T, Variable, q); 例8: 输入采用如下语句 z=0.67+0.35i; 0.67-0.35i; 0.48; p=0.85+0.18i; 0.85-0.18i; 0.75+0.19i;0.75-0.19i; H=zpk(z, p, 1, Ts, 0.1),22,3.2.2 离散状态方程模型,离散系统的状态方程 可用ss( )函数输入,即 H=ss (F, G, C

10、, D, Ts, T) 若系统带有时间延迟 则其输入语句为 H=ss (F, G, C, D, Ts, T, ioDelay, m),23,3.3 框图描述系统的化简,3.3.1 控制系统的典型连接机构 串联 系统模型由G=G2*G1求出。,24,b) 并联 系统模型由G=G2+G1求出。,25,c) 反馈 但这样得出的模型阶次可能高于实际的阶次,需要用minreal( )函数求取得出模型的最小实现形式。或:,26,a,b,c,d=feedback(a1,b1,c1,d1,a2,b2,c2,d2) 将两个系统按反馈方式连接,一般而言,系统1为对象,系统2为反馈控制器。 a,b,c,d=feed

11、back(a1,b1,c1,d1,a2,b2,c2,d2,sign) 系统1的所有输出连接到系统2的输入,系统2的所有输出连接到系统1的输入,sign用来指示系统2输出到系统1输入的连接符号,sign缺省时,默认为负,即sign= -1。总系统的输入/输出数等同于系统1。,系统2,27,num,den=feedback(num1,den1,num2,den2,sign) 可以得到类似的连接,只是子系统和闭环系统均以传递函数的形式表示。sign的含义与前述相同。 G=feedback(G1,G2),28,例9:考虑下图的系统框图,试求系统的总模型,Y(S),29,例10:上例的反馈系统,假设受控

12、对象模型为双输入、双输出的状态方程模型控制器为传递函数矩阵,为对角矩阵,其子传递函数为g11(s)=(6s+2)/s,g22 (s)=(3s+5)/s,反馈环节为单位矩阵,试求系统模型。,30,思考题: 1)exp3_2.m 系统1为: 系统2为: 求按串联、并联、正反馈、负反馈连接时的系统状态方程及系统1按单位负反馈连接时的状态方程。,31,3.3.3 节点移动的等效变换,1、分支点等效移动规则,前向移动节点,后向移动节点,32,(1) 相加点前移,2、相加点等效移动规则,相加点前移,在移动支路中串入所越过的传递函数的倒数方框,(2) 相加点后移,相加点后移,在移动支路中串入所越过的传递函数

13、方框。,33,34,35,注:以上语句要调用自定义feedback( )函数 function H=feedback(A,B,key) if nargin=2;key=-1;end H=A/(sym(1)-key*A*B);H=simple(H); 将其放置在work目录下的sym子目录,则可以直接处理符号模型的化简问题。,36,3.3.3 纯时间延迟环节的处理,对于带有时间延迟的模块G1(s)和G2(s),若两模块串联,则系统模型是两个模块的延时相加。但当两模块并联时,要求其延迟必须相同。若不同,可先对模块进行近似,将纯时间延迟近似为高阶有理式。 作者编写了paderm( )函数(见附录1)

14、 num,den=paderm(T, r, m) 其中,T为延迟时间常数,r,m分别为近似传递函数分子和分母的阶次。,37,完全近似: 分母近似: 注:分母近似比完全近似的结果更加精确。,38,例12:假设系统的开环传函为 且整个系统为单位负反馈结构构成,试选择分子0阶、分母2阶的Pade近似,其闭环系统模型为,39,3.4系统模型的相互转换,3.4.1 连续模型和离散模型的相互转换 如果连续系统由传函给出,可用s=2(z-1)/(T(Z+1)代入连续系统的传函模型,获得离散系统的传递函数模型。在MATLAB中,可采用c2d( )函数将系统离散化。 格式:Gd=c2d(G, Ts),40,例1

15、3:多变量系统模型如下,假设采样周期T=0.1s,求离散化的状态方程。,41,42,例14:假设连续系统的数学模型为 采样周期T=0.1s,求离散化的状态方程。 G=tf(1,1 3 3 1,ioDelay,0.5); G1=c2d(G,0.1,zoh) %零阶保持器变换 Transfer function: 0.0001547 z2 + 0.000574 z + 0.0001331 z(-5) * - z3 - 2.715 z2 + 2.456 z - 0.7408 Sampling time: 0.1,43, G2=c2d(G,0.1,foh) %一阶保持器变换 Transfer func

16、tion: 3.925e-005 z3 + 0.0004067 z2 + 0.000383 z + 3.278e-005 z(-5) * - z3 - 2.715 z2 + 2.456 z - 0.7408 Sampling time: 0.1 G3=c2d(G,0.1,tustin) %Tustin变换 Transfer function: 0.000108 z3 + 0.0003239 z2 + 0.0003239 z + 0.000108 z(-5) * - z3 - 2.714 z2 + 2.456 z - 0.7406 Sampling time: 0.1,44,由离散系统变换连续系

17、统,可代入 z=(1+sT/2)/(1-sT/2)。 在MATLAB中可采用d2c( )函数。 例15:采用d2c( )函数还原例13中的连续系统。, A=0 1 0;0 0 1;-6 -11 -6; B=1 0;2 -1;0 2;C=1 -1 0;2 1 -1; D=zeros(2,2); G=ss(A,B,C,D); T=0.1;Gd=c2d(G,T); G1=d2c(Gd) a = x1 x2 x3 x1 4.025e-015 1 7.98e-016 x2 -1.804e-015 -1.527e-015 1 x3 -6 -11 -6 b = u1 u2 x1 1 -5.204e-017

18、x2 2 -1 x3 -5.551e-016 2 c = x1 x2 x3 y1 1 -1 0 y2 2 1 -1 d = u1 u2 y1 0 0 y2 0 0 Continuous-time model.,45,3.4.2 系统传递函数的获取,已知系统的状态方程,可通过tf( )函数获得系统的传递函数。 例16:已知例13中的系统状态方程,求其传递函数。, A=0 1 0;0 0 1;-6 -11 -6;B=1 0;2 -1;0 2; C=1 -1 0;2 1 -1; D=zeros(2,2);G=ss(A,B,C,D); G1=tf(G) Transfer function from i

19、nput 1 to output. -s2 - 4 s + 29 #1: - s3 + 6 s2 + 11 s + 6 4 s2 + 56 s + 52 #2: - s3 + 6 s2 + 11 s + 6 Transfer function from input 2 to output. s2 + 3 s - 4 #1: - s3 + 6 s2 + 11 s + 6 -3 s2 - 17 s - 14 #2: - s3 + 6 s2 + 11 s + 6,46,3.4.3 控制系统的状态方程实现,系统的状态方程可由ss( )函数实现。 例17:系统传函为 试将其转换为状态方程形式。 g11=

20、tf(0.1134,1.78,4.48,1); g12=tf(0.924,2.07,1); g21=tf(0.3378,0.361,1.09,1); g22=tf(-0.318,2.93,1); G=g11,g12;g21,g22; G.ioDelay=0.72,0;0.3,1.29 G1=ss(G),47,3.4.4 状态方程的最小实现,当系统存在相同的零极点时,可以进行对消,完全对消相同零极点的形式称为系统的最小实现。 如: 最后得到的一阶模型G(s)=5/(s+4),即为系统的最小实现。在MATLAB中,可采用minreal( )函数获得。,48,A=-6 -1.5 2 4 9.5;-6

21、 -2.5 2 5 12.5;-5 0.25 -0.5 3.5 9.75;-1 0.5 0 -1 1.5;-2 -1 1 2 3; B=6 4;5 5;3 4;0 2;3 1; C=2 0.75 -0.5 -1.5 -2.75;0 -1.25 1.5 1.5 2.25; D=0 0;0 0; G=ss(A,B,C,D);G1=minreal(G),49,3.5 线性系统的模型辨识,3.5.1 连续系统的模型辨识 用数值分析的手段,根据系统输入输出的实测数据,构造其数学模型的方法称为系统辨识。 对给定的离散频率采样点 若已知系统的频率响应为Pi,Qi, ,而连续系统传递函数为,50,其中, (1

22、) 则可以用下面几个表达式定义中间数值 (2),51,引入拟合的性能指标 式中 e(jk)=G(jk)-G(jk)为频率拟合的误差, G(jk)为辨识出来的模型计算出的频率响应数据,D(jk)为加权系数。若对性能指标取导数 (3) 则获得性能指标J的最小值。由式(3)可推导出线性代数方程 (4),52,式中 = 可见,有了式(2)中定义的各个参数后,待辨识系统的传函可通过求解方程(4)获得。,53,MATLAB信号处理箱中,提供了辨识系统传函模型的invfreqs( )函数: num,den=invfreqs(H,w,nn,nd) 其中,H为频域响应数据,w为离散频率点构成的向量,nn和nd分

23、别为待辨识系统的分子和分母阶次。如果给出系统的幅频mag和相频响应数据phase,则可以由下面的方式来调用invfreqs( )函数 num,den=invfreqs(mag.*exp(sqrt(-1)*phase),w,nn,nd) 例18:系统的频域响应已知(见教材p100表3-1),且传函模型的分子、分母阶次分别为3和4,求其系统的传函。 w=0.01,0.0374,72.79,100; H=0.9999-0.01083i,0.9998-0.01488i,0.0002989-0.009981i; B,A=invfreqs(H,w,3,4);G1=tf(B,A),54,3.5.2 离散系统

24、的模型辨识,离散系统的传递函数可写为 其对应的差分方程为,对测出的各组输入和响应数据,可写为下面的矩阵形式,即 YM=XM,(5),55,这样得出的系数矩阵一般情况下有Mn,故该方程为超定方程,可用最小二乘法求解,此外,MATLAB的系统辨识工具箱还提供了各种系统辨识函数,ARX(Auto-Regressive exogenous, 自回归遍历)模型,可采用arx( )函数实现 T=arx(y, u,m, n, d) 其中,y、u分别为输出、输入信号列向量;m、n分别为系统分子、分母多项式阶次;d为纯滞后;T为一个结构体,T.A和T.B分别表示辨识出的分母和分子多项式。,(6),56,下面分别

25、用两种方法辨识系统参数。,例19:系统的实测输入/输出数据(教材p102表3-2),系统分子和分母的阶次分别为3、4。 利用式(5)、(6)辨识系统参数 y=0, 0.1374, 0.2978,., 3.3669, 3.4131; u=0.4398, 0.3400, 0.3142,., 0.5527, 0.4001, 0.1988; Phi=0;y(1:end-1) 0;0;y(1:end-2) ,. 0;0;0;y(1:end-3) 0;0;0;0;y(1:end-4),. 0;u(1:end-1) 0;0;u(1:end-2),. 0;0;0;u(1:end-3) 0;0;0;0;u(1:

26、end-4); T=Phi y; T; Gd=tf(T(5:8),1, -T(1:4), Ts, 0.1),57,试采用arx( )函数辨识系统参数 先输入y,u列向量,然后直接调用arx( )函数 y=0, 0.1374, 0.2978,3.3669, 3.4134; u=0.4398, 0.34,0.4001, 0.1988; t1=arx(y,u,4,4,1) Notice:要确定准确的采样信息,可采用iddata( )函数创建数据对象。然后调用arx( )函数。 U=iddata(y, u, 0.1); T=arx(U,4, 4, 1); H=tf(T); G=H(1) %H为双输入传

27、函矩阵,H(2)是由误差信号(k)到输入的传函。,58,另:输入和输出数据的精确性,对于辨识系统的准确性影响很大。 y=0, 0.1374, 0.2978, 1.576, 1.743, 1.979, 2.33, 2.734, 2.965, 3.109, 3.402, 3.508, 3.673, 3.921, 4.099, 4.327, 4.296, 4.205, 4.244, 4.171, , 3.146, 3.288, 3.367, 3.413; u=0.4398, 0.34,0.4001,0.1988; Transfer function: 0.312 z3 - 0.4151 z2 + 0

28、.1892 z - 0.01747 - z4 - 2.723 z3 + 2.64 z2 - 1.014 z + 0.1068 输入、输入数据保留小数点后4位时,辨识系统的传函为 Transfer function: 0.3126 z3 - 0.581 z2 + 0.3955 z - 0.09168 - z4 - 3.254 z3 + 4.04 z2 - 2.266 z + 0.4854,59,3.5.3 离散系统辨识信号的生成,idinput( )函数可生成指定的输入信号。 如:u=idinput(N,rgs ) %生成N个点的Random, Gaussian Signal。 例20:生成31

29、个点的PRBS信号,u=idinput(31,PRBS); %生成31个PRBS(pseudo-random binary sequence)信号。 t=0:.1:3; stairs(u), set (gca, Xlim, 0,31,Ylim,-1.1 1.1) %gca获得当前坐标轴句柄,60,利用上述信号,可获得指定系统的输入和输入数据。 num=0.3124 -0.5743 0.3879 -0.0889; den=1 -3.233 3.9869 -2.2209 0.4723; G=tf(num,den,Ts,.1); t=0:.1:3; u=idinput(31,PRBS); y=lsi

30、m(G,u,t); % LTI(linear time invariable 线性时不变)系统在给定输入下的时间响应。 T1=arx(y,u,4 4 1) Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t) A(q) = 1 - 3.233 q-1 + 3.987 q-2 - 2.221 q-3 + 0.4723 q-4 B(q) = 0.3124 q-1 - 0.5743 q-2 + 0.3879 q-3 - 0.0889 q-4 Estimated using ARX Loss function 3.2187e-030 and FPE 5.45779e-030 Sampling interval: 1,61,3.5.4 多变量离散系统的辨识,p路输入、q路输出的多变量系统的数学模型的差分方程为,其中,A(z-1)和B(z-1)均为pq多项式矩阵。,arx( )函数还可用于多变量系统的辨识,并可以直接辨识系统的A、B矩阵。 例21:设系统的传函为,由PRB

温馨提示

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

评论

0/150

提交评论