控制系统的仿真精选PPT.ppt
《控制系统的仿真精选PPT.ppt》由会员分享,可在线阅读,更多相关《控制系统的仿真精选PPT.ppt(100页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、控制系统的仿真第1页,此课件共100页哦1本章教学目的及要求本章教学目的及要求熟悉熟悉MATLAB的基本应用的基本应用掌握利用掌握利用MATLAB建立数学模型的方法建立数学模型的方法熟悉控制系统的时域和频域分析熟悉控制系统的时域和频域分析掌握掌握MATLAB的仿真编程应用的仿真编程应用第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真第2页,此课件共100页哦2 7.1 控制系统的模型表示 MATLAB 提供了数学模型的建立函数和各模型之间的转换功能函数,可以分别采用传递函数、零极点增益、状态空间以及动态结构图等4种数学模型来表示控制系统,前3种是用数学表达式描述的系统模型,每种
2、模型都有连续系统及离散系统两种类别的表示;而动态结构图是基于传递函数的图形化形式,是采用MATLAB中提供的SIMULINK结构图来实现的。MATLAB中使用的数学模型之间的转换也很方便,使得采用MATLAB编制的程序更加简单、精炼而高效。第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真第3页,此课件共100页哦3 7.1.1 系统的传递函数模型表示系统的传递函数模型表示 传递函数模型通常表示线性定常时不变系统(LTI),可以是连续的时间系统,也可以是离散的时间系统。对于离散的时间系统,其脉冲传递函数可表示为:第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真 不
3、论是连续的还是离散的时间系统,其传递函数的分子/分母多项式均按s或z的降幂来排列。在MATLAB中可直接采用分子/分母多项式系数构成的两个向量num与den来表示系统,即:第4页,此课件共100页哦4 在MATLAB中,可用函数命令tf()来建立控制系统的传递函数模型,其调用格式和功能分别为:(1)sys=tf(num,den);(2)sys=tf(num,den,Ts);。(3)sys=tf(M);(4)tfsys=tf(sys);第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真第5页,此课件共100页哦5第第7章章7.1.2 零极点增益模型零极点增益模型 当连续系统的传递函
4、数表达式采用系统增益、系统零点与系统极点来表示时,称之为系统零极点增益模型。系统零极点增益模型是传递函数模型的一种特殊形式。离散系统的传递函数零极点增益模型:控制系统的控制系统的M MATLABATLAB仿真仿真第6页,此课件共100页哦6第第7章章 在MATLAB里,连续与离散系统都可直接用向量z、p、k构成的矢量组z,p,k来表示系统,即:控制系统的控制系统的M MATLABATLAB仿真仿真第7页,此课件共100页哦7第第7章章 在MATLAB中,可用函数命令zpk()来建立控制系统的零极点增益模型,其调用格式和功能分别为:(1)sys=zpk(num,den);(2)sys=zpk(n
5、um,den,Ts);(3)sys=zpk(M);(4)tfsys=zpk(sys);控制系统的控制系统的M MATLABATLAB仿真仿真第8页,此课件共100页哦8 7.1.3 状态空间模型 控制系统在主要工作区域内的一定条件下可近似为线性时不变(LTI)模型,连续LTI对象系统总是能用一阶微分方程组来表示,写成矩阵形式即为状态空间模型:第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真其中:式(a)系统的状态方程,是由n个一阶微分方程组成的微分方程组;式(b)系统的输出方程,是由1个线性代数方程组成的;第9页,此课件共100页哦9第第7章章离散系统的状态空间模型可表示为:控
6、制系统的控制系统的M MATLABATLAB仿真仿真式中:U系统的控制输入向量;X系统的状态向量;Y系统的输出向量;k特定时刻的采样点;A状态矩阵,由控制对象的参数决定;B控制矩阵;C输出矩阵;D直接传输矩阵。第10页,此课件共100页哦10 MATLAB中的函数ss()可用来建立控制系统的状态空间模型,或者将传递函数模型与零极点增益模型转换为系统状态空间模型。ss()函数的调用格式为:(1)sys=ss(a,b,c,d);(2)sys=ss(a,b,c,d,Ts);(3)sys=ss(d);该函数等价于sys=ss(,d)。(4)sys_ss=ss(sys);第第7章章控制系统的控制系统的M
7、 MATLABATLAB仿真仿真第11页,此课件共100页哦11第第7章章【例7.1】已知某系统的状态空间表达式为:控制系统的控制系统的M MATLABATLAB仿真仿真试采用MATLAB语言求出该系统的状态空间模型。第12页,此课件共100页哦12解:采解:采用状态空间模型表示时,可在MATLAB命令窗口中输入以下命令:A=1 0 0 0;0 1 0 0;0 0 1 0;-1-5 0-2;B=0;0;0;1;C=3 2 1 0;D=0;sys=ss(A,B,C,D)上述指令执行后可得指定系统的状态空间模型为:a=x1 x2 x3 x4 x1 1 0 0 0 x2 0 1 0 0 x3 0 0
8、 1 0 x4 -1 -5 0 -2第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真第13页,此课件共100页哦13第第7章章 b=u1 x1 0 x2 0 x3 0 x4 1 c=x1 x2 x3 x4 y1 3 2 1 0 d=u1 y1 0 Continuous-time model.控制系统的控制系统的M MATLABATLAB仿真仿真第14页,此课件共100页哦14 7.1.4 系统不同模型间的相互转换 在MATLAB 6.1的信号处理工具箱与控制系统工具箱中,提供了传递函数模型、零极点增益模型与状态空间模型之间转换的函数:ss2tf(),ss2zp(),tf2ss(
9、),tf2zp(),zp2ss(),zp2tf()。这些函数之间的转换功能如表7-1所示。第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真第15页,此课件共100页哦15第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真n表7-1 数学模型之间的转换函数及其功能函 数 名函 数 功 能ss2tf将系统状态空间模型转换为传递函数模型ss2zp将系统状态空间模型转换为零极点增益模型tf2ss将系统传递函数模型转换为状态空间模型tf2zp将系统传递函数模型转换为零极点增益模型zp2ss将系统零极点增益模型转换为状态空间模型zp2tf将系统零极点增益模型转换为传递函数模型
10、第16页,此课件共100页哦16【例7.2】已知某系统的传递函数为:第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真 试用MATLAB语言求出该系统的传递函数模型、状态空间模型和零极点增益模型。解:解:(1)求系统的传递函数模型在MATLAB命令窗口输入以下命令:num=12 24 12 20;den=2 4 6 2 2;sys=tf(num,den)第17页,此课件共100页哦17第第7章章执行以上语句后可得系统的传递函数模型为:12 s3+24 s2+12 s+20-2 s4+4 s3+6 s2+2 s+2(2)求系统的状态空间模型该系统的状态空间模型可以通过MATLAB的
11、模型转换函数来完成。在MATLAB命令窗口输入以下命令:a,b,c,d=tf2ss(num,den);sys=ss(a,b,c,d)控制系统的控制系统的M MATLABATLAB仿真仿真第18页,此课件共100页哦18执行完上述语句后,可得系统的状态空间模型的状态矩阵a,系统控制矩阵b,系统输出矩阵c,系统直接传输矩阵d分别为:a=x1 x2 x3 x4 x1 -2 -3 -1 -1 x2 1 0 0 0 x3 0 1 0 0 x4 0 0 1 0第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真第19页,此课件共100页哦19第第7章章 b=u1 x1 1 x2 0 x3 0
12、x4 0 c=x1 x2 x3 x4 y1 6 12 6 10 d=u1 y1 0 Continuous-time model.控制系统的控制系统的M MATLABATLAB仿真仿真第20页,此课件共100页哦20由以上数据可写出系统的状态空间模型为:第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真第21页,此课件共100页哦21第第7章章(3)求系统的零极点增益模型该系统的零极点增益模型也可以通过MATLAB的模型转换函数来完成。在MATLAB命令窗口输入以下命令:z,p,k=tf2zp(num,den);sys=zpk(z,p,k)执行以上语句后可得系统的零极点增益模型为:
13、Zero/pole/gain:6(s+1.929)(s2+0.07058s+0.8638)-(s2+0.08663s+0.413)(s2+1.913 s+2.421)控制系统的控制系统的M MATLABATLAB仿真仿真第22页,此课件共100页哦227.2 环节方框图模型的化简环节方框图模型的化简 7.2.1 环节串联连接的化简 多个环节串联的连接形式是控制系统最基本的组成结构形式之一。控制系统的环节串联及其化简就是模块方框图模型的串联及其化简。可以用MATLAB的函数命令series()将串联模块进行等效变换。使用series()函数命令不必做多项式的乘除运算即可实现两个环节传递函数的串联
14、连接。如果令sys1=tf(num1,den1),sys2=tf(num2,den2),其命令格式为:sys=series(sysl,sys2)第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真第23页,此课件共100页哦23如果已知两个环节的状态空间模型矩阵组分别为:(a1,b1,c1,d1)与(a2,b2,c2,d2),则求两个环节串联连接等效系统状态空间模型a,b,c,d矩阵组的命令格式为:a,b,c,d=series(a1,bl,cl,dl,a2,b2,c2,d2)series()函数命令还可以将多个环节按两两串联的形式多次递归调用加以连接,进行等效化简。sys=seri
15、es(sysl,sys2)命令可以用命令sys=sys1*sys2*sysn取代,不仅省掉“series()”字符,且可以实现多个环节的串联等效传递函数的求取。第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真第24页,此课件共100页哦24第第7章章【例7.3】已知双闭环调速系统电流环内的前向通道3个模块传递函数分别为:控制系统的控制系统的M MATLABATLAB仿真仿真试求串联连接的等效传递函数及其等效状态空间模型。第25页,此课件共100页哦25解:解:(1)根据MATLAB程序设计的基本方法和函数命令series(),可以编写出MATLAB程序如下:n1=0.0128
16、1;d1=0.04 0;sys1=tf(n1,d1);n2=30;d2=0.00167 1;sys2=tf(n2,d2);n3=2.5;d3=0.0128 1;sys3=tf(n3,d3);sys=sys1*sys2*sys3s1=ss(sys1);s2=ss(sys2);s3=ss(sys3);sys12=series(s1,s2);sys123=series(sys12,s3)第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真第26页,此课件共100页哦26第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真(2)在MATLAB命令窗口输入程序名,程序运行后得到如
17、下电流环内前向通道的等效传递函数及等效状态空间模型:Transfer function:0.96 s+75-8.55e-007 s3+0.0005788 s2+0.04 s a=x1 x2 x3 x1 -78.13 2246 0 x2 0 -598.8 800 x3 0 0 0 第27页,此课件共100页哦27 b=u1 x1 0 x2 40.96 x3 4 c=x1 x2 x3 y1 12.21 0 0 d=u1 y1 0Continuous-time model.第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真第28页,此课件共100页哦28第第7章章 7.2.2 环节并联
18、连结的化简 环节并联是指多个环节的输入信号相同,所有环节输出的代数和为其总输出。采用parallel()函数命令可以等效化简两个环节的并联连接。parallel()函数命令调用格式为:num,den=parallel(numl,denl,num2,den2)该命令已由命令sys=sysl+sys2+sysn所取代,省掉了“parallel()”字符,且可以实现多个环节的并联等效处理。parallel()函数命令调用格式还有:a,b,c,d=parallel(a1,bl,cl,dl,a2,b2,c2,d2)控制系统的控制系统的M MATLABATLAB仿真仿真第29页,此课件共100页哦29第第
19、7章章【例7.4】已知两个环节的传递函数分别为:试求两环节并联连接等效传递函数的num与den向量及等效的状态空间模型。控制系统的控制系统的M MATLABATLAB仿真仿真第30页,此课件共100页哦30第第7章章解:解:(1)采用函数命令parallel(),给出MATLAB程序如下:num1=1;den1=1 2;sys1=tf(num1,den1);num2=2 1;den2=1 1 2;sys2=tf(num2,den2);s1=ss(sys1);s2=ss(sys2);sys=sys1+sys2sys12=parallel(s1,s2)(2)在MATLAB命令窗口运行程序后得到等效
20、传递函数及等效状态空间模型为:Transfer function:3 s2+6 s+4-s3+3 s2+4 s+4 控制系统的控制系统的M MATLABATLAB仿真仿真第31页,此课件共100页哦31第第7章章a=x1 x2 x3 x1 -2 0 0 x2 0 -1 -1 x3 0 2 0b=u1 x1 1 x2 2 x3 0c=x1 x2 x3 y1 1 1 0.25d=u1 y1 0控制系统的控制系统的M MATLABATLAB仿真仿真第32页,此课件共100页哦32 7.2.3 环节反馈连结的化简 利用MATLAB中的feedback()函数命令可将两个环节按反馈形式进行连接后求其等效
21、传递函数。feedback()函数命令形式:(1)G=feedback(G1,G2,sign);(2)a,b,c,d=feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign)(3)num,den=feedback(num1,den1,num2,den2,sign);第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真第33页,此课件共100页哦33第第7章章 【例7.5】已知晶闸管-直流电机单闭环调速系统的动态结构图如图7-4所示,求该闭环系统的传递函数。控制系统的控制系统的M MATLABATLAB仿真仿真图7-4 直流单闭环调速系统第34页,此课件共100页
22、哦34第第7章章解:解:(1)给出MATLAB程序如下:n1=1;d1=0.017 1;s1=tf(n1,d1);n2=1;d2=0.075 0;s2=tf(n2,d2);sys1=feedback(s1*s2,1)n3=0.049 1;d3=0.088 0;s3=tf(n3,d3);n4=44;d4=0.00167 1;s4=tf(n4,d4);n5=1;d5=0.1925;s5=tf(n5,d5);n6=0.01178;d6=1;s6=tf(n6,d6);sysq=sys1*s3*s4*s5;sys=feedback(sysq,s6)控制系统的控制系统的M MATLABATLAB仿真仿真第
23、35页,此课件共100页哦35第第7章章 (2)程序运行结果为:Transfer function:1-0.001275 s2+0.075 s+1 Transfer function:2.156 s+44-3.607e-008 s4+2.372e-005 s3+0.001299 s2+0.04234 s+0.5183 控制系统的控制系统的M MATLABATLAB仿真仿真第36页,此课件共100页哦36第第7章章由以上运算数据可得单闭环系统的小闭环的传递函数为:单闭环系统的闭环的传递函数(略去分母的项)为:控制系统的控制系统的M MATLABATLAB仿真仿真第37页,此课件共100页哦37第
24、第7章章7.3 控制系统时域分析的MATLAB实现7.3.1 概述1系统时域响应仿真的主要问题时域分析法是根据系统微分方程用拉普拉斯变换求解系统的动态响应。典型的动态过程响应有单位阶跃响应、单位斜坡响应、单位加速度响应与单位脉冲响应等。时域分析的另外一个目的是求解响应的性能指标。通常将控制系统跟踪或复现阶跃输入信号响应的指标作为系统控制性能的指标。阶跃响应的一般性能指标有:峰值时间tp、超调量%、调节时间ts、及稳态误差ess。控制系统的控制系统的M MATLABATLAB仿真仿真第38页,此课件共100页哦38第第7章章控制系统的控制系统的M MATLABATLAB仿真仿真 2时域分析的MA
25、TLAB实现 时域响应的MATLAB仿真方法有两种,一种是在MATLAB的函数指令方式下进行时域仿真;另一种是在SIMULINK窗口菜单操作方式下进行时域仿真。对于连续系统,可利用MATLAB提供的求取单位阶跃响应函数step()、单位脉冲响应函数impulse()、零输入响应函数initial()等处理系统的响应。对于离散系统,可利用MATLAB提供的单位阶跃响应函数dstep()、单位脉冲响应函数dimpulse()、零输入响应函数dinitial()等来处理。第39页,此课件共100页哦39第第7章章 7.3.2 连续系统的单位阶跃响应 利用step()函数可求出连续系统的单位阶跃响应,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制系统 仿真 精选 PPT
限制150内