反馈控制系统的数学模型及设计工具(共18页).doc
《反馈控制系统的数学模型及设计工具(共18页).doc》由会员分享,可在线阅读,更多相关《反馈控制系统的数学模型及设计工具(共18页).doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上反馈控制系统的数学模型及设计工具反馈系统的数学模型在系统分析和设计中起着很重要的作用,基于系统的数学模型,就可以用比较系统的方法对之进行分析,同时,一些系统的方法也是基于数学模型的,这就使得控制系统的模型问题显得十分重要。1数学模型的表示方法 线性时不变(LTI)系统模型包括传递函数模型( tf ),零极点增益模型( zpk ),状态空间模型( ss )和频率响应数据模型 ( frd ) 1.1 传递函数模型线性系统的传递函数模型可以表示成复数变量s的有理函数式:调用格式: G =tf (num, den)其中,分别是传递函数分子和分母多项式的系数向量,按照s的降幂排
2、列.返回值G是一个tf 对象,该对象包含了传递函数的分子和分母信息。例1 一个传递函数模型 可以由下面命令输入到MATLAB工作空间去. num=1 2 3;den=1 2 3 4 5;G=tf(num,den) Transfer function: s2 + 2 s + 3-s4 + 2 s3 + 3 s2 + 4 s + 5对于传递函数的分母或分子有多项式相乘的情况, MATLAB提供了求两个向量的卷积函数conv( )函数求多项式相乘来解决分母或分子多项式的输入。conv( )函数允许任意地多层嵌套,从而表示复杂的计算.应该注意括号要匹配,否则会得出错误的信息与结果。例2 一个较复杂传递
3、函数模型 该传递函数模型可以通过下面的语句输入到MATLAB工作空间去。 num=2*conv(1 2,1 3);den=conv(conv(conv(1 1,1 1),1 6),1 2 3 4);G=tf(num,den) Transfer function: 2 s2 + 10 s + 12-s6 + 10 s5 + 32 s4 + 60 s3 + 83 s2 + 70 s + 24对于一个tf 对象,它有自己的属性(域元素),属性值既可以直接获取也可以通过函数get来获取。另外可以用函数set设置属性值。tf对象的属性有: set(tf) num: Ny-by-Nu cell of ro
4、w vectors (Nu = no. of inputs) den: Ny-by-Nu cell of row vectors (Ny = no. of outputs) Variable: s | p | z | z-1 | q Ts: Scalar (sample time in seconds) ioDelay: Ny-by-Nu array (I/O delays) InputDelay: Nu-by-1 vector OutputDelay: Ny-by-1 vector InputName: Nu-by-1 cell array of strings OutputName: Ny
5、-by-1 cell array of strings InputGroup: M-by-2 cell array for M input groups OutputGroup: P-by-2 cell array for P output groups Notes: Array or cell array of strings UserData: Arbitrary将例2传递函数算子符号变为p,延迟时间设为0.5,可以使用两种MATLAB语句来实现:G.Variable=P;G.Td=0.5;或set(G,Variable,p,Td,0.5);这时再显示G时,将得到: G Transfer
6、function: 2 p2 + 10 p + 12exp(-0.5*p) * - p6 + 10 p5 + 32 p4 + 60 p3 + 83 p2 + 70 p + 24 也可用get()语句来获取属性: get(G)num: 0 0 0 0 2 10 12 den: 1 10 32 60 83 70 24 Variable: p Ts: 0 ioDelay: 0 InputDelay: 0.5 OutputDelay: 0 InputName: OutputName: InputGroup: 0x2 cell OutputGroup: 0x2 cell Notes: UserData:
7、 1.2 零极点模型零极点模型是描述单变量线性时不变系统传递函数的另一种常用方法,一个给定传递函数的零极点模型一般可以表示为 其中, , k 分别是系统的零点、极点和根轨迹增益。调用格式: G=zpk (z,p,k)注意:对单变量系统来说,系统的零极点应该用列向量来表示。同样,zpk对象有自己的属性值,该属性值可以用 get()函数来获取,用set()来设置。具体操作同tf对象属性的操作。zpk对象的属性有: set(zpk) z: Ny-by-Nu cell of vectors (Nu = no. of inputs) p: Ny-by-Nu cell of vectors (Ny = n
8、o. of outputs) k: Ny-by-Nu array of double Variable: s | p | z | z-1 | q DisplayFormat: roots | time-constant | frequency Ts: Scalar (sample time in seconds) ioDelay: Ny-by-Nu array (I/O delays) InputDelay: Nu-by-1 vector OutputDelay: Ny-by-1 vector InputName: Nu-by-1 cell array of strings OutputNam
9、e: Ny-by-1 cell array of strings InputGroup: M-by-2 cell array for M input groups OutputGroup: P-by-2 cell array for P output groups Notes: Array or cell array of strings UserData: Arbitrary 例3 假设系统的零极点模型为 则该模型可以由下面语句输入到MATLAB工作空间去。 k=2;z=-2;-1+j;-1-j;p=-1.4142+1.4142*j;-1.4142-1.4142*j;3.9765+0.043
10、2*j;3.9765-0.0432*j;G=zpk(z,p,k) Zero/pole/gain: 2 (s+2) (s2 + 2s + 2)-(s2 - 7.953s + 15.81) (s2 + 2.828s + 4)1.3 状态方程模型状态方程式描述系统动态模型的另外一种方法,它不但适合于线性模型,也适于描述非线性模型。由一个例子引出状态方程模型:其微分方程为:若令,则有对于线性时不变系统来说,其状态方程为在Matlab下只需将各系数矩阵输到工作空间即可。 调用格式: G=ss(A,B,C,D)同样可以用set(ss)得到状态方程的所有域元素细节,get(G)得到模型的域值。例4 双输入双
11、输出系统的状态方程表示为,该状态方程可以由下面语句输入到MATLAB工作空间去。 A=1,2,0,4;3,-1,6,2;5,3,2,1;4,0,-2,7;B=2,3;1,0;5,2;1,1;C=0,0,2,1;2,2,0,1;D=zeros(2,2);G=ss(A,B,C,D)a = x1 x2 x3 x4 x1 1 2 0 4 x2 3 -1 6 2 x3 5 3 2 1 x4 4 0 -2 7 b = u1 u2 x1 2 3 x2 1 0 x3 5 2 x4 1 1 c = x1 x2 x3 x4 y1 0 0 2 1 y2 2 2 0 1 d = u1 u2 y1 0 0 y2 0 0
12、 Continuous-time model.2 模型的基本结构 在实际应用中,系统的模型通常是由相互连接的模块构成的,本节将介绍相互连接的系统结构的总模型求取方法。2.1 串联连接结构图1 模块的信号连接 在串联连接下(如图1(a)所示),整个系统的传递函数为。对单变量系统来说,这两个模块是可以互换的,对多变量系统来说,一般不具备这样的关系。 假设在MATLAB下第一个模块的LTI对象为G1(它可以由tf,ss和zpk中任意的形式给出),而第二个模块的LTI对象为G2,则整个串联系统的LTI模型可以由下列MATLAB命令得出 G=G1*G2;2.2 并联连接结构 在并联连接下(如图1(b)所
13、示),整个系统的传递函数为。假设在MATLAB下第一个模块的LTI对象为G1(它可以由tf,ss和zpk中任意的形式给出),而第二个模块的LTI对象为G2,则整个串联系统的LTI模型可以由下列MATLAB命令得出 G=G1+G2;图13.2 反馈连接结构2.3 反馈连接结构两个模块和正、负反馈连接后(如图2所示),系统总的模型分别为: 控制系统工具箱提供了feedback()函数,用来求取反馈连接下总的系统模型。调用格式:G=feedback (G1,G2,sign)其中变量sign为-1(或+1)表示负反馈(或正反馈),缺省为负反馈结构。G1、G2分别为前向、反向模型的LTI对象,G为总系统
14、模型。例5 有两个模型,如果采用负反馈结构可以用下面的MATLAB语句得到整个系统的传递函数模型。 G1=tf(1,1,2,1);G2=tf(1,2,1,7,12);G=feedback(G1,G2) Transfer function: s2 + 7 s + 12-s4 + 9 s3 + 27 s2 + 32 s + 14若采用正反馈连接结构,则得出下面结果G=feedback(G1,G2,+1) Transfer function: s2 + 7 s + 12-s4 + 9 s3 + 27 s2 + 30 s + 102.4 复杂系统的传递函数求取: 控制系统工具箱提供了一个.m函数con
15、nect( )和一个.m文件blkbuild来求取含有相互连接模块的模型.具体的求取过程如下:1. 将通路排号;2. 用blkbuild文件建立原始模型的增广状态方程模型;3. 建立连接关系矩阵Q;4. 用connect建立整个系统的模型。3 不同模型对象的相互转换和模型数据的还原3.1 模型对象的相互转换 LTI对象模型可以用不同形式描述,它们之间可以相互转换,转换关系如图3所示。图3 模型对象之间转换关系3.2模型数据的还原前面我们学习了建立连续LTI系统模型的tf ,zpk,ss函数,MATLAB还提供了相应的函数可以把建立模型时的数据(输入参数)还原出来.这些函数的用法如下,num,d
16、en=tfdata( G )z,p,k=zpkdata( G )A,B,C,D=ssdata(G)显示还原变量的数据用num,den=tfdata( G ,v)z,p,k=zpkdata( G ,v)A,B,C,D=ssdata(G,v)例6 还原例5负反馈模型数据,可用下面的MATLAB语句 num,den=tfdata( G ,v)num = 0 0 1 7 12den = 1 9 27 30 10 z,p,k=zpkdata( G ,v)z = -4 -3p = -3.6180 -3.4142 -1.3820 -0.5858k = 14 控制系统分析与设计.4.1 控制系统的线性分析1.
17、 线性时不变系统浏览器LTI Viewer介绍图4 系统响应曲线绘制选择在默认情况下,使用LTI Viewer进行系统的线性分析时,LTI Viewer浏览器窗口所显示的图形为系统在单位阶跃信号作用下的系统响应。其实,LTI Viewer浏览器提供了极其丰富的功能,它可以使用户对系统进行非常详细的线性分析。下面以传递函数为为例对LTI Viewer进行详细的介绍与说明。 绘制系统的不同响应曲线图5 控制系统单位脉冲响应曲线在默认的情况下,LTI Viewer绘制系统在单位阶跃信号输入下的系统响应曲线(即阶跃响应)。其实使用LTI Viewer可以绘制不同的系统响应,在LTI Viewer图形绘
18、制窗口中单击鼠标右键,选择弹出菜单Plot Type下的子菜单,可以在LTI Viewer图形绘制窗口中绘制不同的系统响应曲线,如图4所示。如果用户选择Impulse命令,则可以绘制系统的单位脉冲响应曲线,如图5所示。除此之外,使用LTI Viewer还可以绘制系统的波特图(Bode)、波特图幅值图(Bode Mag)、奈奎斯特图(Nyquist)、尼科尔斯图(Nichols)、奇异值分析(Sigma)以及零极点图(PoleZero)等,其方法与绘制脉冲响应一致。 改变系统响应曲线绘制布局在默认的情况下,LTI Viewer图形绘制窗口中仅仅绘制一个系统响应曲线。如果用户需要同时绘制多个系统响
19、应曲线图,则可以使用LTI Viewer窗口中Edit菜单下的Plot configurations对LTI Viewer图形绘制窗口的布局进行改变,并在指定的位置绘制指定的响应曲线。图6为响应曲线绘制布局设置对话框,以及采用图中给出的设置同时绘制6幅不同的响应曲线。用户可以选择LTI Viewer所提供的6种不同的绘制布局,在指定的区域绘制自己感兴趣的响应曲线。LTI Viewer相应曲线绘制布局不同绘制区域的相应曲线类型选择图6 响应曲线布局设计及绘制结果 系统时域与频域性能分析使用LTI Viewer不仅可以方便地绘制系统的各种响应曲线,还可以从系统响应曲线中获得系统响应信息,从而使用户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 反馈 控制系统 数学模型 设计 工具 18
限制150内