概述
《matlab仿真第五章控制系统模型的建立》由会员分享,可在线阅读,更多相关《matlab仿真第五章控制系统模型的建立(32页珍藏版)》请在人人文库网上搜索。
1、第五章 控制系统模型的建立,控制系统模型 控制系统的典型连接 系统模型的连续化与离散化,1 控制系统模型,1.1 控制系统的组成符号及术语 输入信号R:系统的外部输入量,即系统的给定值。 输出信号C:系统的输出量,即系统被控量。 主反馈信号B:主反馈环节的输出信号。 偏差信号E:输入信号与主反馈信号之差e=r-b,控制信号M:控制器的输出量。 干扰信号N:内部和外部的干扰量。 控制器G1:系统中承担信号放大、传动和执行作用的装置。 被控对象G2:系统中的控制对象。 反馈环节H:用于检测输出状况的测量装置,前向通道:从系统输入端到输出端的正向传输通道,且每个节点只通一次。 反馈通道:从输出端c反。
2、馈到输入端b的传输通道。 反馈回路:信号从前向通道与反馈通道连续传输的闭合回路。 比较环节:在系统中进行信号叠加的作用点,以产生偏差信号。 在控制系统仿真中,主要用四种形式的数学模型:传递函数模型、零极点模型、状态方程模型和结构图模型,1.2 传递函数模型(tf模型) 对系统的微分方程在零初始条件下做拉氏变换,则可得系统的传递函数(SISO) 对线性时不变(线性定常)系统(LTI)来说,a、b均为常数,a10。 num=bm,bm-1,b1, b0 den=an,an-1,a1, a0 注意:构成分子、分母的向量按降幂排列的顺序,缺项部分用0补齐。 很多时候,传递函数的分子、分母均为多项式相乘。
3、的形式,不能直接写出,可借助多项式运算函数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,如果是MIMO系统,则用传递矩阵描述。例如: 可表示为: num=1,1;1 1; den=1 2 2;1,1.3 零极点模型(zpk模型) 零极点模型是传递函数的另一种表现形式,其原理是分别对原系统的分子和分母进行因式分解处理,以获得系统的零极点表示形式,对SISO系统: 将零点、极点及K值输入即。
4、可建立零极点模型: z=z1, z2, z3,zm p=p1, p2, p3,pm k=k,函数residue()可将分式多项式分解如下: 函数增益k即为原传递函数分子的最高项系数与分母最高项系数的比值。对于给出的传递函数来说,分子分母作因式分解可以通过求出分子、分母多项式的根roots()函数来实现,例:已知系统传递函数: 求零极点模型。 可表示为: num=2 0 9 1 den=1 1 4 4; z,p,k=residue(num,den,1.4 状态方程模型(ss模型) LTI系统的状态方程: 例:用ss模型描述两输入两输出系统。 可表示为: A=1 6 9 10;3 12 6 8;4。
5、 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,1.5 建立LTI对象 控制系统工具箱将LTI系统的各种描述封装成一个对象,即用一个变量来描述。在控制系统工具箱中,有以上讲述的三种对象,即ss对象,tf对象和zpk对象。 (1)tf()函数。tf()函数生成传递函数模型,或将零极点模型及状态空间模型转换成传递函数模型。格式为: sys=tf(num,den):生成连续时间系统传递函数模型。 sys=tf(num,den,Ts):生成离散时间系统传递函数。 tfsystf(sys):将任意的LTI对象转换。
6、成传递函数模型,2)ss()函数。ss()函数生成状态空间模型,或者将传递函数及零极点模型转换成状态空间模型。格式为: sys=ss(a,b,c,d):生成连续系统的状态空间模型。 sys_ss=ss(sys):将任意的LTI对象sys转换成状态空间模型 (3) zpk()函数。zpk()函数生成零极点函数或者将其他模型转换成零极点模型。格式为: sys=zpk(z,p,k):连续系统的零极点增益模型。 sys=zpk(z,p,k,Ts):离散时间系统的零极点增益模型。 zsys=zpk(sys):将任意LTI对象转换成零极点增益模型,1.6 系统模型的转换 MATLAB中用于控制系统模型转换。
7、的函数包括一下几种。 ss2tf():状态空间模型转换为传递函数模型。 ss2zp():状态空间模型转换为零极点增益模型。 tf2ss():传递函数模型转换为状态空间模型。 tf2zp():传递函数模型转换为零极点增益模型。 zp2ss():零极点增益模型转换为状态空间模型。 zp2tf():零极点增益模型转换为传递函数模型,例:已知系统传递函数 将模型转换为状态方程模型和零极点模型。 命令为: num=0 6 42 72; den=1 6 11 6; A,B,C,D=tf2ss(num,den) z,p,k=tf2zp(num,den,程序执行后得到的状态方程模型为: 零极点增益模型G(s)。
8、为,给定系统的状态空间描述如下所示: 要求将状态空间模型转换为传递函数模型和零极点模型。 命令 A=0 1;1 -2;B=0;1; C=1,3;D=1; num,den=ss2tf(A,B,C,D) z,p,k=ss2zp(A,B,C,D,已知系统的零极点模型如下所示: 求其传递函数模型和状态空间模型。 命令和输出结果为: z=-3;p=-1,-2,-5;k=6; num,den=zp2tf(z,p,k) a,b,c,d=zp2ss(z,p,k,已知系统的部分分式如下所示: 求其状态传递函数模型 命令 r=-0.25i,0.25i,-2; p=2i,-2i,-1;k=2; num,den=re。
9、sidue(r,p,k) 注意余式一定要与极点相对应,2 控制系统的典型连接,MATLAB中既可以采用运算符重载的方法,又提供了大量的函数来建立控制系统模型,并可进行并联、级(串)联、反馈和单位反馈连接等。 2.1 系统模型的连接 可以对LTI对象进行加法、减法和串并联的运算,这样的运算是通过运算符重载的方法得以实现的。在运算中,如果有不同数据类型的对象,系统先将级别低的转化为级别最高的那一种,再进行运算。定义3种LTI对象的运算级别如下: sszpktf,在具体的使用上,要么在运算中先将不同对象强制转换为同一类型,要么在运算后将结果统一转换为所需类型。请看下例(sys1与sys2为不同对象类。
10、型): sys=sys1+tf(sys2) 它等效于 sys=sys1+sys2 tf(sys) LTI对象类型的算术运算主要有加法、减法、乘法与求逆。其中加减法相当于系统并联,乘法相当于系统串连,求逆则是求出系统的逆系统,2.2 连接函数 除了运算符连接外,在MATLAB中,也提供了子系统的连接处理函数,它们与对应的运算符连接方式等效。 series()函数:系统串连实现。格式为: sys=series(sys1,sys2) parallel()函数:系统并联实现。格式为: sys=parallel(sys1,sys2) feedback()函数:系统反馈连接。格式为: sys=feedba。
11、ck(sys1,sys2,例:两个子系统如下所示 按反馈方式连接,求闭环系统的传递函数。 命令和输出结果为: num1=2 5 1; den1=1 2 3; num2=5 10; den2=1 10; num,den=feedback(num1,den1,num2,den2) printsys(num,den,num1=2 5 1; den1=1 2 3; sys1=tf(num1,den1); num2=5 10; den2=1 10;sys2=tf(num2,den2); sys=feedback(sys1,sys2,控制系统方框图如图所示,(1)求此系统的传递函数;(2)求该系统的特征值。
12、并判断其稳定性; (3)求该系统的单位阶跃响应曲线。 (1) G1=tf(1,0.5 1); G2=tf(1,1 2 2); H1=2; H2=tf(0.5 1,0.2 1); GH1=feedback(G2,H2); G=GH1*G1; GH=feedback(G,H1) (2) A,B,C,D=tf2ss(GH.num1,GH.den1); eig(A) 如果A矩阵的所有特征值实部小于0,则系统稳定。 (3) step(GH,2.3 延迟系统的模型 pade():求取时间延迟环节近似传递函数 其中n6阶的pade近似的系数pi在下表中给出,表 pade近似系数表 MATLAB中,pade(。
13、)函数的调用格式np,dp=pade(tau,n),其中tau为延迟时间,n为pade近似的阶次。Pade近似后得到的有理传递函数模型的分子、分母系数分别在np,dp变量中返回,例: 求阶跃响应响应。 den=1 10 35 50 24; num=1 7 24 24; g=tf(num,den) tau=0.5; y1=; t=0:0.1:10; for i=1:5 np,dp=pade(tau,i) g1=tf(np,dp); gg=g*g1; ggg=feedback(gg,1) y,t,x=step(ggg,t); y=y; y1=y1;y; end plot(t,y1,den=1 10。
14、 35 50 24; num=1 7 24 24; g=tf(num,den) tau=0.5; y1=; t=0:0.1:10; for i=1:5 np,dp=pade(tau,i) g1=tf(np,dp); gg=feedback(g,g1) set(gg,Td,tau) y,t,x=step(gg,t); y=y; y1=y1;y; end plot(t,y1,在初始时刻段pade近似并不精确,为了消除初始时间段pade的振荡,在实际应用中,一般只对分母中的延迟项进行pade近似,近似的系统闭环传函为,3 系统模型的连续化与离散化,控制系统工具箱中提供了连续域与离散域的相互转化的调用。
15、函数,如函数c2d可将连续系统离散化,相反d2c将离散系统向连续域转化。工具箱支持常用的几种转化方法,包括带零阶保持器的离散化方法、带一阶保持器的离散化方法、Tustin变换和带预修正的Tustin变换以及零极匹配法,3.1 连续系统的离散化 将连续系统离散化使用c2d函数,其调用格式为: sysd=c2d(sysc,fp) sysc为连续系统的数学模型,sysd为离散系统的数学模型,选项fp的具体内容如下: zoh:假设对输入信号加一个零阶保持器 foh:假设对输入信号加一个一阶保持器 tustin:采用双线性变换方法(Tustin算法) prewarp:采用改进的Tustin变换方法 ma。
16、tched:SISO系统的零极点匹配法,3.2 离散化系统的连续化 将离散化系统连续化使用d2c函数,其调用格式为: sysc=c2d(sysd,fp) 用法与c2d相似。 3.3 连续系统离散化数字仿真的特点 将连续系统离散化进行数字仿真具有以下特点: 将连续系统离散化后进行仿真,可以用得到的离散方程递推求解状态和输出,避免了数值积分方法中繁琐的龙格库塔系数(导函数)的求取过程,计算方便,按环节离散化仿真,每步都可求出各环节输入、输出,很容易推广用以解决非线性系统的仿真问题。 离散化过程中对原连续系统引入虚拟采样开关和零阶(一阶)保持器,造成的滞后使得仿真计算误差增大,严重时会引起系统数值计算的不稳定。
最后
以上就是甜美耳机为你收集整理的matlab中的sysc,matlab仿真第五章控制系统模型的建立的全部内容,希望文章能够帮你解决matlab中的sysc,matlab仿真第五章控制系统模型的建立所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复