1、2019/5/11,1,第 4 章 线性控制系统的计算机辅助分析,2019/5/11,2,系统的分析方法,充分利用计算机对线性系统进行分析 更新系统分析的观念 求解传统方法难以求解的问题 离散系统稳定性如何分析? Nyquist图、Nichols图没有频率信息,如何弥补? 高阶系统的根轨迹如何绘制?,2019/5/11,3,本章主要内容,线性系统定性分析 线性系统时域响应解析解法 线性系统的数字仿真分析 根轨迹分析 线性系统频域分析,2019/5/11,4,4.1 线性系统定性分析,主要内容 线性系统稳定性分析 线性反馈系统内部稳定性分析 线性系统的相似变换 线性系统可控性分析 线性系统可观测
2、性分析 Kalman分解 系统状态方程的标准型,2019/5/11,5,4.1.1 线性系统的稳定性分析,给定线性系统模型,如何分析稳定性?由控制理论可知,用Routh表可以判定该系统稳定性 Edward John Routh (1831-1907) 历史局限性,2019/5/11,6,状态方程系统的稳定性,连续线性状态方程解析阶稳定性: 矩阵的特征根均有负实部,2019/5/11,7,离散系统的稳定性,离散系统状态方程离散系统时域响应解析阶稳定性判定:所有特征根均在单位圆内,2019/5/11,8,Routh 判据的历史局限性,Routh判据提出时,没有求多项式根的方法 现在求解矩阵特征根、
3、求解多项式方程的根轻而易举,无需间接方法 Routh判据只能得出是否稳定,进一步信息得不出来,如系统是否振荡 离散系统无法由Routh方法直接判定,得借助于Jury判据,更复杂 稳定性分析方法不统一,2019/5/11,9,基于 MATLAB 的稳定性判定方法,直接判定 状态方程模型 由 可以求出所有特征根 离散系统: 传递函数模型:完全同样方法 图解判定法 连续系统: 离散系统: ,同时画出单位圆,2019/5/11,10,例4-1 高阶系统稳定性判定直接分析方法零极点模型,2019/5/11,11,例4-2 高阶离散单位负反馈系统模型MATLAB 求解,2019/5/11,12,4.1.2
4、 线性反馈系统的内部稳定性,输入、输出稳定是不够的,因为若内部信号可能过大,对系统的硬件破坏 应该引入内部稳定性概念,保证内部信号也是稳定的。,2019/5/11,13,由给定稳定输入 到内部信号都稳定的系统称为内部稳定系统 传递函数矩阵其中 逐一判定每个子传递函数的稳定性很烦琐 内部稳定性定理,2019/5/11,14,内部稳定性定理,闭环系统内部稳定的充要条件为没有不稳定零点没有不稳定零极点对消 第一个条件等效于输入输出稳定性 判定第2条件即可 可以编写MATLAB函数判定内部稳定性,2019/5/11,15,判定的 MATLAB 函数,2019/5/11,16,4.1.3 线性系统的线性
5、相似变换,系统的状态方程表示称为系统实现 不同状态选择下,状态方程不惟一 相似变换 非奇异矩阵 状态变换 新状态方程模型,2019/5/11,17,状态变换公式MATLAB 求解方法,2019/5/11,18,例4-3 已知系统和转换矩阵MATLAB 求解,2019/5/11,19,变换结果可见,相似变换能改变系统的结构 引入相似变换矩阵,可以将已知系统转换成其他的形式,2019/5/11,20,4.1.4 线性系统的可控性分析,可控性定义系统的可控性就是指系统内部的状态是不是可以由外部输出信号控制的性质,,2019/5/11,21,线性系统的可控性判定,可控性判定矩阵基于 MATLAB 的判
6、定方法构造可控性判定矩阵,2019/5/11,22,例4-4 离散状态方程的可控性MATLAB 求解,2019/5/11,23,判定矩阵判定矩阵构造方法这样的判定方法同样适合于连续系统和离散系统。也适用于多变量模型,2019/5/11,24,由 Gram 矩阵判定可控性,引入可控 Gram 矩阵该矩阵满足 Lyapunov 方程MATLAB 求解矩阵构造,2019/5/11,25,例4-5 求 Gram 矩阵MATLAB 命令Gram 矩阵,2019/5/11,26,可控性阶梯分解,对于不完全可控的系统阶梯分解 阶梯标准型MATLAB 函数调用若原系统状态方程完全可控,则不必分解,2019/5
7、/11,27,例4-6 不完全可控系统,2019/5/11,28,4.1.5 线性系统的可观测性分析,可观测性定义系统的可观测性就是指系统内部的状态是不是可以由系统输出信号重建起来的性质,2019/5/11,29,可观测性判定,判定矩阵等同于 系统可控性判定 Gram 矩阵MATLAB 求解,2019/5/11,30,Gram 矩阵满足 Lyapunov 方程对偶问题,2019/5/11,31,4.1.6 Kalman 规范分解,Kalman 规范分解,2019/5/11,32,子空间示意图,2019/5/11,33,4.1.6 系统状态方程标准型的MATLAB 求解,常用标准型 单变量系统的
8、标准型 MATLAB 默认的标准型 可控标准型实现 可观测标准型实现 和 Jordan 标准型实现 多变量系统 Leunberge 标准型 侧重点:如何用 MATLAB 直接获取标准型,2019/5/11,34,单变量系统的标准型,可控标准型可观测标准型,2019/5/11,35,可控可观测标准型转换,2019/5/11,36,可控标准型和可观测标准型,对偶关系,2019/5/11,37,Jordan 标准型,MATLAB 变换,2019/5/11,38,多变量系统的 Leunberge 标准型,由可控性判定矩阵构造矩阵,2019/5/11,39,得出 Leunberge 变换矩阵编写 leu
9、nberge.m 函数,2019/5/11,40,MATLAB 函数清单,2019/5/11,41,2019/5/11,42,标准型的变换方法总结,可控标准型可观测标准型Jordan 标准型Leunberge 标准型,2019/5/11,43,例4-7求解可观测标准型标准型,2019/5/11,44,例4-8 已知模型,2019/5/11,45,4.2 线性系统时域响应解析解法,给线性系统一个激励信号,输出是什么? 有两大类方法 解析解方法 求解微分方程、差分方程解析解 数值解方法 主要内容 基于状态方程的解析解方法 基于传递函数部分方式展开的解析解方法 二阶系统的解析解方法,2019/5/1
10、1,46,4.2.1 基于状态方程的解析解方法,状态方程模型解析解求解难点,2019/5/11,47,状态增广方法,消除B 矩阵,变成自治系统增广状态方程自治系统 可以直接求解析解,2019/5/11,48,一般输入信号的系统增广,一般输入信号模型引入增广状态变量,2019/5/11,49,增广状态方程模型其中解析解,2019/5/11,50,MATLAB 实现函数,2019/5/11,51,调用格式信号描述,2019/5/11,52,例4-10 连续系统模型初值 输入信号 求解析解,2019/5/11,53,系统增广增广模型,2019/5/11,54,解析解求解解析解求解结果稳定性,2019
11、/5/11,55,4.2.2 基于部分分式展开方法求解,连续系统的解析解法无重根时部分方式展开,2019/5/11,56,由 Laplace 反变换求解析解有重根时相应项的解析解为,2019/5/11,57,部分分式的 MATLAB 求解例4-10 输入信号为阶跃信号 输出信号计算,2019/5/11,58,MATLAB 求解解析解解析解精确值(rat()),2019/5/11,59,例4-11 带有复数极点的系统阶跃响应解析解解析解,2019/5/11,60,解析解的进一步化简,基于 Euler 公式的化简其中新 MATLAB 函数,2019/5/11,61,新 MATLAB 函数清单,20
12、19/5/11,62,例4-12 仍考虑MATLAB 求解解析解,2019/5/11,63,基于 Laplace 变换的求解,参附录 A 步骤: 定义符号变量 描述原函数表达式 调用 laplace( ) 函数或 ilaplace( ) 函数求解 结果化简,如 simple( ) 函数 求解举例,2019/5/11,64,例1MATLAB 求解解析解,2019/5/11,65,例2MATLAB 求解解析解,2019/5/11,66,离散系统的解析解法,Z 变换 无重根时部分分式展开解析解,2019/5/11,67,考虑采样周期例4-13,2019/5/11,68,输出信号解析解Z变换求解步骤
13、定义符号变量 调用 iztrans( )函数求解 化简,2019/5/11,69,利用符号运算工具箱求解求解结果方法更规范,结果更简单,2019/5/11,70,有重根问题的解析解,部分分式表达式的Z反变换例4-15部分分式展开,2019/5/11,71,部分分式展开解析解,2019/5/11,72,符号运算求解解析解更直观,不建议用前者求解,而直接采用Z变换的符号运算方法求解,2019/5/11,73,时间延迟系统的解析解法,例4-16,2019/5/11,74,无延迟解析解有延迟解析解,2019/5/11,75,4.2.3 二阶系统的阶跃响应及 阶跃响应指标,二阶系统模型闭环模型记 则,2
14、019/5/11,76,阶跃响应的解析解,无阻尼振荡 欠阻尼振荡临界阻尼振荡 过阻尼振荡,2019/5/11,77,二阶系统阶跃响应曲线,2019/5/11,78,利用图形绘制功能,从新角度研究同样的问题,三维曲面绘制,2019/5/11,79,阶跃响应指标,超调量 稳态值 上升时间 调节时间好的伺服控制系统,应该具有稳态误差小或没有稳态误差、超调量小或没有超调量、上升时间短、调节时间短等性能,2019/5/11,80,4.3 线性系统的数字仿真分析,线性系统的解析解可以求解的条件 4 阶以上的系统需要求解 4 阶以上的多项式方程,根据 Abel 定理,无解析解。 解析解和数值解结合 实际应用
15、需要数值解,需要阶跃响应曲线 主要内容 线性系统的阶跃响应与脉冲响应 任意输入下系统的响应,2019/5/11,81,4.3.1 线性系统的阶跃响应与脉冲响应,阶跃响应曲线绘制函数多系统曲线绘制,2019/5/11,82,例4-16 延迟系统MATLAB 语句利用 MATLAB 提供的功能,可以从曲线上得到更多的信息,如超调量等,2019/5/11,83,MATLAB 求解解析解解析解数值解精度比较,2019/5/11,84,例4-17 离散化采样周期 求解,2019/5/11,85,ZOH 变换Tustin 变换,不同采样周期,2019/5/11,86,系统的脉冲响应曲线,MATLAB 下的
16、 impulse( ) 函数与 step( ) 函数调用结构完全一致 MATLAB 求解可以容易地研究系统的脉冲响应曲线,2019/5/11,87,4.3.2 任意输入下系统的响应,可以利用 step( ) 和 impulse( ) 函数求解 输出信号计算如 R(s) 已知,则可以直接求解例4 斜坡响应,2019/5/11,88,MATLAB 求解其他输入的响应可以由 lsim( ) 函数求取,2019/5/11,89,4.4 根轨迹分析,单位负反馈闭环系统特征方程对 K 的不同取值,则可能绘制出每个特征 根变化的曲线,这样的曲线称为系统的根轨迹。根轨迹用开环信息研究闭环特性,2019/5/1
17、1,90,MATLAB 求解该函数可以用于单变量不含有时间延迟的连续、离散系统的根轨迹绘制,也可以用于带有时间延迟的单变量离散系统的根轨迹绘制。,2019/5/11,91,例4-24 开环系统MATLAB 求解如何求解临界增益? 闭环系统稳定性如何变化,2019/5/11,92,例4-25 根轨迹求解求出阻尼在 处的增益 临界增益处阶跃响应,2019/5/11,93,例4-26 离散系统根轨迹根轨迹绘制,2019/5/11,94,例4-27 离散系统模型MATLAB 求解 临界增益求取,2019/5/11,95,延迟系统用 Pade 近似处理例4-29 正反馈系统MATLAB 求解,2019/
18、5/11,96,4.5 线性系统频域分析,频域分析Nyquist 1932Bode ,Nichols 提出的新图形方法 主要内容 单变量系统的频域分析 利用频率特性分析系统的稳定性 系统的幅值裕度和相位裕度 多变量系统的频域分析,2019/5/11,97,4.5.1 单变量系统的频域分析,三种表示方法实部与虚部关系曲线即为 Nyquist 图Nyquist 图的缺陷:无对应频率信息横轴对数坐标 rad/s,纵轴分贝、度,Bode 图幅值与相位关系,Nichols 图,无频率信息,2019/5/11,98,Nyquist 曲线绘制grid 命令绘制等 M 和等 N 圆,2019/5/11,99,
19、Bode 图绘制Nichols 图由 nichols( ) 函数绘制 可以同样处理连续、离散、延迟、多变量系统,格式不变,2019/5/11,100,例4-30 开环传递函数Nyquist 曲线绘制MATLAB 曲线特色读取频率信息;频率范围,2019/5/11,101,Bode 图绘制快捷菜单读取特性Nichols 图的绘制用鼠标读取频率信息 弥补了传统 Nichols 图的不同,其他频域响应曲线,2019/5/11,102,例4-31 对下面模型离散化,MATLAB 求解不同采样周期的离散模型 Bode 图,2019/5/11,103,例4-32 离散系统Nyquist 图与 Nichol
20、s 图,2019/5/11,104,例4-33 延迟系统模型MATLAB 求解,2019/5/11,105,4.5.2 利用频率特性分析系统 的稳定性,Nyquist 定理可以进一步解释为,2019/5/11,106,可以用开环的系统模型,绘制 Nyquist 图并以此分析闭环系统的稳定性。,2019/5/11,107,例4-34 Nyquist 图闭环阶跃响应,2019/5/11,108,4.5.3 系统的幅值裕度和相位裕度,幅值裕度和相位裕度,相位裕度,幅值裕度,2019/5/11,109,稳定性裕度分析,如果系统的 Nyquist 图不与负实轴相交,则系统的幅值裕度为无穷大。如果系统的
21、Nyquist 图不与单位圆相交,则系统的相位裕度为无穷大。,2019/5/11,110,如果系统的 Nyquist 图在第三象限与单位圆有若干个交点,则系统的相位裕度以与离负实轴最近的为准。 MATLAB 求解方法如果某个裕度为无穷大,则返回 Inf,相应的频率值为 NaN。,2019/5/11,111,例4-35MATLAB 求解由于幅相裕度小,系统闭环响应有强振荡,2019/5/11,112,本章主要内容,MATLAB 的使用为控制系统的分析提供了有力的工具,在控制系统发展初期,由于没有这样的强有力工具,出现了很多间接的方法,例如控制系统的稳定性分析以往的 Routh 判据可以完全由直接
22、求根的方法取代,对控制系统来说,用 eig( ) 就可以直接求出系统的特征根,并给出了反馈控制系统的内部稳定性概念与判定方法。,2019/5/11,113,利用 MATLAB 这样 的工具还可以直接对控制系统的可控性、可观测性等进行直接判定,还介绍了系统的可控性、可观测性阶梯分解、Kalman 分解、Leunberge 标准型转换等,并介绍系统的范数测度及计算。 本章介绍了线性系统的解析解算法,包括基于状态方程的解析解方法和基于部分分式展开技术的解析解方法,分别就连续系统和离散系统等问题进行了探讨,还介绍了改进的部分分式展开方法,从而可以得出更可读的解析解。 由典型二阶系统的阶跃响应定义了系统
23、的一些响应指标,如超调量、调节时间等,还介绍了这些指标的求解方法。,2019/5/11,114,连续和离散系统的阶跃响应曲线可以直接由MATLAB 给出的 step( ) 函数直接绘制出来,还可以用函数就可以绘制出系统的脉冲响应曲线,还可以用函数都可以用于系统在任意输入下的时域响应,这些函数均可以用于所有能用 MATLAB 下线性时不变对象描述的线性系统时域分析。 根轨迹分析是单变量系统稳定性分析与控制系统校正的一种有用方法,用 rlocus( ) 函数就可以直接绘制出单变量连续与离散系统的根轨迹曲线,并可以直接从根轨迹上读取临界稳定增益值。这样的方法还可以直接应用于绘制带有时间延迟的离散系统根轨迹绘制中。,2019/5/11,115,从频域响应中复数的几种表示方法引入了 Nyquist图、Bode 图和 Nichols 图,并介绍了在 MATLAB控制系统工具箱中如何绘制这些图形的方法,介绍了应用频域响应进行闭环系统稳定性分析的方法,还介绍了幅值裕度和相位裕度的求取函数 margin( ) ,这些方法可以直接求解连续和离散单变量系统的频域响应分析。,