《计算机仿真技术及CAD控制系统的数学模型及其转换ppt精选课件》由会员分享,可在线阅读,更多相关《计算机仿真技术及CAD控制系统的数学模型及其转换ppt精选课件(54页珍藏版)》请在金锄头文库上搜索。
1、 1 第2章控制系统的数学模型及其转换 本章内容 1 利用MATLAB描述在控制系统中常见的几种数学模型 2 利用MATLAB实现任意数学模型之间的相互转换 3 利用MATLAB求解系统经过串联 并联和反馈连接后的系统模型 4 利用MATLAB获取一些典型系统的模型 5 利用MATLAB实现连续系统的离散化和离散系统的连续化 以及离散模型按另一采样周期的重新离散化 6 利用MATLAB求取系统的特性函数 2 控制系统计算机仿真是建立在控制系统数学模型基础之上的一门技术 需对系统进行仿真 首先应该知道系统的数学模型 然后才可以在此基础上设计一个合适的控制器 使得原系统的响应达到预期的效果 3 2
2、 1线性系统数学模型的基本描述方法 2 1 1传递函数传递函数在MATLAB下可以方便的由其分子和分母多项式系数所构成的两个向量唯一确定出来 即num b0b1 bm den 1a1a2 an 4 例2 1若给定系统的传递函数为解可以将其用下列MATLAB语句表示 num 612610 den 12311 printsys num den 执行结果为num den 5 当传递函数的分子或分母由若干个多项式乘积表示时 它可由MATLAB提供的多项式乘法运算函数conv 来处理 以便获得分子和分母多项式向量 此函数的调用格式为c conv a b 其中a和b分别为由两个多项式系数构成的向量 而c为
3、a和b多项式的乘积多项式系数向量 conv 函数的调用是允许多级嵌套的 6 例2 2若给定系统的传递函数为解则可以将其用下列MATLAB语句表示 num 4 conv 12 166 den conv 10 conv 11 conv 11 conv 11 1325 7 对具有r个输入和m个输出的多变量系统 可把m r的传递函数阵G s 写成和单变量系统传递函数相类似的形式 即 2 5 式中B0 B1 Bn均为m r实常数矩阵 分母多项式为该传递函数阵的特征多项式 在MATLAB控制系统工具箱中 提供了表示单输入多输出系统的表示方法 即num B0B1 Bn den 1a1a2 an 其中分子系数
4、包含在矩阵num中 num行数与输出y的维数一致 每行对应一个输出 den是行向量 为传递函数阵公分母多项式系数 8 例2 3对于单输入多输出系统解则可将其用下列MATLAB语句表示 num 0032 1025 den 3521 9 2 1 2零极点增益形式单输入单输出系统的零极点模型可表示为式中zj j 1 2 m 和pi i 1 2 n 称为系统的零点和极点 它们既可以为实数又可以为复数 而K称为系统的增益 在MATLAB下零极点模型可以由增益K和零 极点所构成的列向量唯一确定出来 即Z z1 z2 zm P p1 p2 pn 10 对于单输入多输出系统 列向量P中储存为系统的极点 零点储
5、存在矩阵Z的列中 Z的列数等于输出向量的维数 每列对应一个输出 对应增益则在列向量K中 11 MATLAB工具箱中的函数poly 和roots 可用来实现多项式和零极点间的转换 例如在命令窗口中进行如下操作可实现互相转换 P 1352 R roots P R 1 2267 1 4677i 1 2267 1 4677i 0 5466 P1 poly R P1 1 00003 00005 00002 0000 12 2 1 3部分分式形式传递函数也可表示成部分分式或留数形式 即 2 8 式中pi i 1 2 n 为该系统的n个极点 与零极点形式的n个极点是一致的 ri i 1 2 n 是对应各极点
6、的留数 h s 则表示传递函数分子多项式除以分母多项式的余式 若分子多项式阶次与分母多项式相等 h s 为标量 若分子多项式阶次小于分母多项式 该项不存在 在MATLAB下它也可由系统的极点 留数和余式系数所构成的向量唯一确定出来 即P p1 p2 pn R r1 r2 rn H h0h1 hm n 13 2 1 4状态空间表达式设线性定常连续系统的状态空间表达式为 2 9 式中A n n B n r C m n D m r如果传递函数 阵 各元素为严格真有理分式 则D 0 此时上式可写为 2 10 它们可分别简记为 A B C D 和 A B C 14 例2 5设系统的状态空间表达式为解此系
7、统可由下面的MATLAB语句唯一地表示出来 A 001 3 2 2 1 2 30 4 B 11 1 1 1 3 C 100 010 D zeros 2 2 15 2 2系统数学模型间的相互转换 2 2 1状态空间表达式到传递函数的转换在MATLAB控制系统工具箱中 给出一个根据状态空间表达式求取系统传递函数的函数ss2tf 其调用格式为 num den ss2tf A B C D iu 其中A B C D为状态空间形式的各系数矩阵 iu为输入的代号 即用来指定第几个输入 对于单变量系统iu 1 对多变量系统 不能用此函数一次地求出对所有输入信号的整个传递函数阵 而必须对各个输入信号逐个地求取传
8、递函数子矩阵 最后获得整个的传递函数矩阵 16 例2 6对于例2 5中给出的多变量系统 可以由下面的命令分别对各个输入信号求取传递函数向量 然后求出这个传递函数阵 解利用下列MATLAB语句 num1 den1 ss2tf A B C D 1 num1 01 00005 00006 00000 1 0000 5 0000 6 0000den1 16116 17 num2 den2 ss2tf A B C D 2 num2 01 00003 00002 00000 1 0000 4 0000 3 0000den2 16116则可得系统的传递函数阵 18 2 2 2状态空间形式到零极点形式的转换M
9、ATLAB函数ss2zp 的调用格式为 Z P K ss2zp A B C D iu 其中A B C D为状态空间形式的各系数矩阵 iu为输入的代号 对于单变量系统iu 1 对于多变量系统iu表示要求的输入序号 返回量列矩阵P储存传递函数的极点 而零点储存在矩阵Z中 Z的列数等于输出y的维数 每列对应一个输出 对应增益则在列向量K中 19 2 2 3传递函数到状态空间表达式的转换如果已知系统的传递函数模型 求取系统状态空间表达式的过程又称为系统的实现 由于状态变量可以任意地选取 所以实现的方法并不是唯一的 这里只介绍一种比较常用的实现方法 对于单输入多输出系统 20 适当地选择系统的状态变量
10、则系统的状态空间表达式可以写成 2 16 在MATLAB控制系统工具箱中称这种方法为能控标准型实现方法 并给出了直接实现函数 该函数的调用格式为 A B C D tf2ss num den 其中num的每一行为相应于某输出的按s的降幂顺序排列的分子系数 其行数为输出的个数 行向量den为按s的降幂顺序排列的公分母系数 返回量A B C D为状态空间形式的各系数矩阵 21 2 2 4传递函数形式到零极点形式的转换MATLAB函数tf2zp 的调用格式为 Z P K tf2zp num den 2 2 5零极点形式到状态空间表达式的转换MATLAB函数zp2ss 的调用格式为 A B C D zp
11、2ss Z P K 2 2 6零极点形式到传递函数形式的转换MATLAB函数zp2tf 的调用格式为 num den zp2tf Z P K 22 2 2 7传递函数形式与部分分式间的相互转换MATLAB的转换函数residue 调用格式为 R P H residue num den 或 num den residue R P H 其中列向量P为传递函数的极点 对应各极点的留数在列向量R中 行向量H为原传递函数中剩余部分的系数 num den分别为传递函数的分子分母系数 23 2 2 8相似变换由于状态变量选择的非唯一性 系统传递函数的实现不是唯一的 即系统的状态空间表达式也不是唯一的 在实际
12、应用中 常常根据所研究问题的需要 将状态空间表达式化成相应的几种标准形式 MATLAB控制系统工具箱给出了一个直接完成线性变换的函数ss2ss 该函数的调用格式为通过上式不仅可求得系统的各种标准型实现 也可利用系统的结构分解来求取系统的最小实现 24 另外利用MATLAB控制系统工具箱提供的minreal 函数可直接求出一个给定系统状态空间表达式的最小实现 该函数的调用格式为 Am Bm Cm Dm minreal A B C D tol 其中A B C D为原状态空间表达式的各系数矩阵 而tol为用户任意指定的误差限 如果省略此参数 则会自动地取作eps 而Am Bm Cm Dm为最小实现的
13、状态空间表达式的各系数矩阵 25 最小实现是一种模型的实现 它消除了模型中过多的或不必要的状态 对传递函数或零极点增益模型 这等价于将可彼此对消的零极点对进行对消 利用MATLAB控制系统工具箱提供的minreal 函数可直接求出一个给定系统状态空间表达式的最小实现 该函数的调用格式为 Am Bm Cm Dm minreal A B C D tol zm pm minreal z p numm denm minreal num den 其中A B C D为原状态空间表达式的各系数矩阵 而tol为用户任意指定的误差限 如果省略此参数 则会自动地取作eps 而Am Bm Cm Dm为最小实现的状态
14、空间表达式的各系数矩阵 2 2 9最小实现 26 例2 12已知系统的状态空间表达式为求出系统最小实现的状态空间表达式的各系数矩阵 解利用下列MATLAB语句 A 5800 4700 0004 00 26 B 4 2 2 1 C 2 2 22 D 0 Am Bm Cm Dm minreal A B C D 27 结果显示2statesremovedAm 1 00000 0000 0 00002 0000Bm 4 24262 2361Cm 2 8284 0 8944Dm 0 28 如果原系统模型由传递函数形式num den给出 则可以直接调用minreal 函数来获得零极点对消最小实现的传递函数
15、NUMm DENm这里的调用格式为 NUMm DENm minreal num den tol 例2 13对于例2 12中给出的状态空间表达式 可以容易地得出系统的传递函数 然后由传递函数直接进行最小实现运算 解利用下列MATLAB语句 A 5800 4700 0004 00 26 B 4 2 2 1 C 2 2 22 D 0 num den ss2tf A B C D 1 NUMm DENm minreal num den 29 结果显示num 010 0000 96 0000302 0000 312 0000den 1 8172 242pole zeroscancelledNUMm 0 0
16、00010 0000 26 0000DENm 1 0000 1 0000 2 0000则可得出零极点对消后的传递函数 30 2 3系统模型的连接 在一般情况下 控制系统常常由若干个环节通过串联 并联和反馈连接的方式而组成 对在各种连接模式下的系统能够进行分析就需要对系统的模型进行适当的处理 在MATLAB的控制系统工具箱中提供了大量的对控制系统的简单模型进行连接的函数 31 2 3 1串联连接在MATLAB的控制系统工具箱中提供了系统的串联连接处理函数series 它既可处理由状态方程表示的系统 也可处理由传递函数阵表示的单输入多输出系统 其调用格式为 A B C D series A1 B1 C1 D1 A2 B2 C2 D2 和 num den series num1 den1 num2 den2 32 2 3 2并联连接在MATLAB的控制系统工具箱中提供了系统的并联连接处理函数parallel 该函数的调用格式为 A B C D parallel A1 B1 C1 D1 A2 B2 C2 D2 和 num den parallel num1 den1 num2 den2 其中前