《建模与仿真 控制系统模型及转换》由会员分享,可在线阅读,更多相关《建模与仿真 控制系统模型及转换(176页珍藏版)》请在金锄头文库上搜索。
1、第3章 控制系统模型及转换第3章 控制系统模型及转换 3.1 系统数学模型及其转换 3.2 系统模型的连接 3.3 状态空间模型实现 第3章 控制系统模型及转换控制系统常用数学模型 根据系统输入、输出与内部状态变量之间关系,控制系统模型可分为外部模 型和内部模型。通常,把着眼于建立系统输入输出关系的数学模型称为外部 模型,包括时域模型(微分方程、差分方程)和频域模型(S传递函数或Z传递 函数)。着眼于建立系统输入、输出与内部状态变量之间关系的数学模型称 为内部模型,相应的数学模型称为系统的状态空间方程(连续状态空间方程 或离散状态空间方程)。数学模型分类如图所示。第3章 控制系统模型及转换3.
2、1 系统数学模型及其转换 3.1.1 系统统的时时域模型常微分方程是控制系统模型的基本形式之一。般来讲,利用机械学、电学、流体力学和热力学等物理规律,便可以得到控制系统的动态方程,这些方程通常用常系数线性微分方程来描述。通过拉普拉斯变换和反变换,可以得到线性时不变方程的解析解,也可以用状态方程转换矩阵(t)求解。这些分析方法通常只限于常系数的线性微分方程。解析解是精确的,然而通常寻找解析解是很困难的,甚至不太可能,而数值分析方法直接在时域求解微分方程,不仅适用于线性时不变方程,也适用于非线性以及时变微分方程。 第3章 控制系统模型及转换MATLAB提供了两个求解微分方程数值解的函数,它们采 用
3、龙格库塔法。ode23()和ode45()分别表示采用2阶和4阶龙格库塔公式,后者具有更高的精度。连续时间系统用微分方程描述。对于单输入单输出(SISO)系统,其微分方程的一般形式为 其中,y和u分别为系统的输出与输入,和分别表示输出和输入各导数项系数。 第3章 控制系统模型及转换离散时间系统用差分方程描述。其差分方程的一般形式为 其中,y和u分别为系统的输出和输入,和分别为输出、输入各项系数。若式(3-1)和式(3-2)的输入和输出各项系数为常数,则它 们所描述的系统称为线性时不变系统(LTI)。MATLAB控制 工具箱对LTI线性时不变系统的建模分析和设计提供大量完 善的工具函数。 第3章
4、 控制系统模型及转换3.1.2 系统的传递函数模型传递函数是经典控制论描述系统数学模型的一种方法,它表达了系统输入量和输出量之间的关系。它只和系统本身的结构、特性和参数有关。而与输入量的变化无关。传递函数是研究线性系统动态响应和性能的重要工具。 线性时不变系统的传递函数定义为,在零初始条件下系 统输出量的拉普拉斯变换函数与输入量的拉普拉斯变换 函数之比。尽管传递函数只能用于线性系统,但它比微 分方程提供了更为直观的信息。 第3章 控制系统模型及转换若令传递函数的分母多项式等于0,便得到特征方程。特征方程的根是系统的极点,而分子多项式的零解为系统零点。传递函数也可由常数项与系统的零、极点来确定,
5、常数项通常记作k,是系统的增益。利用传递函数,便可以方便地研究系统参数的变化对响应的影响,通过拉普拉斯反变换可以得到系统的时域响应, 通常需要用有理函数的部分分式展开。 第3章 控制系统模型及转换对于一个单输入单输出连续系统,系统相应的微分方程 如式(31)所示。对此微分方程作拉普拉斯变换,则该连续系统的传递函数为线性定常系统的传递函数,传递函数G(s)一般表示为 (33) 其中令 分别为分子多项式与分母多项式。bj(j0,1,2,,m)和 ai(i0,1,2,,n)均为常系数。 第3章 控制系统模型及转换9线性系统的微分模型为阶次, 为常数, 物理可实现第3章 控制系统模型及转换10例电路图
6、如下,R=1.4欧,L=2亨,C=0.32法,初始状态 :电感电流、电容电压为零求其微分表达式及传递函 数。第3章 控制系统模型及转换11传递函数的引入Pierre-Simon Laplace (1749-1827),法国数学家Laplace变换 Laplace变换的一条重要性质:若则传递函数描述第3章 控制系统模型及转换12Matlab 的拉氏与反拉氏变换拉氏变换: laplace( )反拉氏变换:ilaplace( )课件 例3-1exp_3-1 syms t y; y=laplace(1/13*(2*exp(-3*t)+3*sin(2*t)-2*cos(2*t), b=simple(y)
7、第3章 控制系统模型及转换在MATLAB中,用函数TF(Transfer Function)可以建立一个连续系统传递函数模型,其调用格式为 sys=tf(num,den) 其中,num为传递函数分子系数向量,den为传递函数分母系数向量。 numerator denominator第3章 控制系统模型及转换14MATLAB中的传递函数表示数学方式 对线性定常系统,式中s的系数均为常数,且a1不等于零, 这时系统在MATLAB中可以方便地由分子和分母系数构成 的两个向量唯一地确定出来,这两个向量分别用num和den 表示。 num=b1,b2,bm,bm+1 den=a1,a2,an,an+1
8、注意:它们都是按s的降幂进行排列的。第3章 控制系统模型及转换15MATLAB输入语句num=b1,b2,bm,bm+1 den=a1,a2,an,an+1 sys=tf(num,den) 用函数TF(TransferFunction)可以建立一个连续系统 传递函数模型,开环传递函数闭环传递函数第3章 控制系统模型及转换对于单输入单输出离散时间系统,对式(32)进行Z变换,则可得到该离散系统的脉冲传递函数(或z传递函数): (34) 其中,对线性时不变离散系统来讲,式(34)中fi和 gi均为常数。在MATLAB中,可用函数多项式模型来建立系统函数模型 ,调用格式为: sys=tf(num,d
9、en,Ts ) 其中,num为z传递函数分子系数向量,den为z传递函数分 母系数向量,Ts为采样周期。第3章 控制系统模型及转换17传递函数输入举例Exp3_2 输入传递函数模型 MATLAB输入语句 在MATLAB环境中建立一个变量 G第3章 控制系统模型及转换3.1.3 系统的状态空间模型微分方程和传递函数均是描述系统性能的数学模型,它只能反映出系统输入和输出之间的对应关系,通常称之为外部模型。而在系统仿真时,常常要考虑到系统中各变量的初 始状态,这样就要用到系统的内部模型状态变量描述。给定一个线性连续系统,其微分方程描述为 (35) 式中:u为系统的输入量;y为输出量。 第3章 控制系
10、统模型及转换现引入n个状态变量,即x1,x2,,xn,各个状态变量的一阶导数与状态变量和式(35)原始方程中的各导数项的对应关系 为系统状态变量矩阵。 第3章 控制系统模型及转换为状态变量的一阶导数矩阵。 第3章 控制系统模型及转换第3章 控制系统模型及转换将上述n个一阶微分方程组成矩阵形式,可以表示为 第3章 控制系统模型及转换为状态变量系数矩阵。 为输入变量系数矩阵。 第3章 控制系统模型及转换对一特定系统(可以是线性或非线性的、定常或时变的),当引入n个状态变量时,将其化为n个一阶微分方程组的形式,再对其采用矩阵描述,可以得到: (38) 式中:x为状态向量,u为输入向量,y为输出向量;
11、A为状态变量系数矩阵,简称为系统矩阵;B为输入变量系数矩阵,简称为输入矩阵;C为输出变量系数矩阵,简称为输出矩阵;D为直接传递矩阵。 第3章 控制系统模型及转换系统的状态方程 系统的输出方程 两者组合后称为系统的状态空间描述。在MATLAB中,用函数ss可以建立一个连续系统状态空 间模型,调用格式为:sys=ss(A,B,C,D) 其中,A,B,C,D为系统状态方程系数矩阵。 第3章 控制系统模型及转换(39) 在MATLAB中,用函数ss也可以建立一个离散时间系统的传递函数模型,其调用格式为 sys=ss(F,G,C,D,Ts) 其中,F,G,C,D为离散系统状态方程系数矩阵; Ts为采样周
12、期第3章 控制系统模型及转换【例3.1】 线性系统的状态变量方程为 其各个系数矩阵分别为 第3章 控制系统模型及转换【例3.2】写出下列系统的状态变量方程在MATLAB中的矩阵表示: 第3章 控制系统模型及转换第3章 控制系统模型及转换3.1.4 系统模型的其他形式1系统的零极点增益模型零极点模型(ZP,ZeroPole)实际上是传递函数模型的另一种形式,其方法是对原系统传递函数的分子和分母多项式进行分解,以获得系统的零极点表达形式。对于单输入单输出连续系统来讲,其零极点模型为 (310) 式中,zi(i1,2,m)和pj(j1,2,n)分别为系统的零点和极点,K为系统增益。 第3章 控制系统
13、模型及转换 u在MATLAB中,可以用函数zpk来直接建立连续系统的零极点增益 模型,其调用格式为 u对于离散时间系统,也可以用函数zpk建立零极点增益模 型,其调用格式为 u同时,MATLAB提供了多项式求根函数roots来求系统的零极点, 调用格式为 sys=zpk(z,p,k) sys=zpk(z,p,k,Ts) z=roots(num) 或 p=roots(den) 其中,num、den分别为传递函数模型的分子和分母多项式系数向 量。 其中,Ts为采样周期其中,z、p、k分别为系统的零点向量、极点向量和增益。第3章 控制系统模型及转换32Exp3_3 零极点模型MATLAB输入方法Z=
14、-5; P=-1,-2,-3,-4; G=zpk(Z,P,6)第3章 控制系统模型及转换33Exp3_4 如何处理如下的传递函数?定义算子 ,再输入传递函数第3章 控制系统模型及转换34Exp3_5 输入混合运算的传递函数模型显然用第一种方法麻烦,所以根据给出传递函数形式选择输入方法第3章 控制系统模型及转换图31 传递函数的零、极点分布图 第3章 控制系统模型及转换图31中系统的传递函数为 可见,系统传递函数的零点为s=-2,传递函数的极点分别为s1=-3,s2,3=1j。对于多输入多输出系统,函数zpk也可建立其零极点增益模型,调用格式与单输入单输出系统相同,但z,p,k不再是一维向量,而
15、是矩阵。 第3章 控制系统模型及转换2传递函数的部分分式展开控制系统中常用到并联系统,这时就要对系统函数进行分解,使其表现为一些基本控制单元的和的形式。在 MATLAB中经常用到函数z,p,k=residue(num,den)对两个多项式的比进行部分展开或把传递函数分解为微分单元的形 式,其中b和a是按照s降幂排列的多项式的系数。部分分式展开后,余数返回到向量r,极点返回到列向量p,常数项返回到k。通过num,den=residue(z,p,k)可以将部分分式转化为多项式的比p(s)/q(s)的形式。 第3章 控制系统模型及转换【例3.3】求下列传递函数的MATLAB描述:(1) 在MATLA
16、B中,该传递函数可以用如下的语句来描述:num=12,24,0,20;den=2 4 6 2 2Sys=tf(num,den)第3章 控制系统模型及转换(2) 在MATLAB中,也可以借助多项式乘法函数conv来描述传递函数,例如该传递函数可以用如下的语句来描述:num=4*conv(1,2,conv(1,6,6,1,6,6);den=conv(1,0,conv(1,1,conv(1,1,conv(1,1,1,3,2,5);Sys=tf(num,den) 第3章 控制系统模型及转换【例3.4】求下列传递函数的零极点增益模型。 num=1 4 6 den=3 4 7 9 z,p,k=tf2zp(num,den)z=0-6-5p=-3.0000+4.0000j-3.0000-4.0000j-2.0