资源描述
*,*,控制系统计算机辅助设计-MATLAB语言与应用,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第 3 章线性控制系统的数学模型,薛定宇著控制系统计算机辅助设计-MATLAB语言与应用第二版,清华大学出版社2006,11/27/2024,1,控制系统计算机辅助设计-MATLAB语言与应用,系统的数学模型,系统数学模型的重要性,系统仿真分析必须已知数学模型,系统设计必须已知数学模型,本课程数学模型是基础,系统数学模型的获取,建模方法:从已知的物理规律出发,用数学推导的方式建立起系统的数学模型,辨识方法:由实验数据拟合系统的数学模型,11/27/2024,2,控制系统计算机辅助设计-MATLAB语言与应用,系统数学模型的分类,系统,模型,非线性,线性,连续,离散,混合,单变量,多变量,定常,时变,11/27/2024,3,控制系统计算机辅助设计-MATLAB语言与应用,主要内容,线性连续系统的数学模型与MATLAB表示,线性离散时间系统的数学模型,方框图描述系统的化简,系统模型的相互转换,线性系统的模型降阶,线性系统的模型辨识,本章要点简介,11/27/2024,4,控制系统计算机辅助设计-MATLAB语言与应用,3.1.1 线性连续系统数学模型及MATLAB 表示,线性系统的传递函数模型,为阶次, 为常数, 物理可实现,11/27/2024,6,控制系统计算机辅助设计-MATLAB语言与应用,传递函数的引入,Pierre-Simon Laplace,(1749-1827),法国数学家,Laplace变换,Laplace变换的一条重要性质:,若,则,11/27/2024,7,控制系统计算机辅助设计-MATLAB语言与应用,传递函数表示,数学方式,MATLAB输入语句,11/27/2024,8,控制系统计算机辅助设计-MATLAB语言与应用,另外一种传递函数输入方法,例3-2 如何处理如下的传递函数?,定义算子 ,再输入传递函数,11/27/2024,10,控制系统计算机辅助设计-MATLAB语言与应用,应该根据给出传递函数形式选择输入方法,例3-3 输入混合运算的传递函数模型,显然用第一种方法麻烦,所以,11/27/2024,11,控制系统计算机辅助设计-MATLAB语言与应用,传递函数属性修改,例3-4 延迟传递函数 ,即,若假设复域变量为 ,则,11/27/2024,13,控制系统计算机辅助设计-MATLAB语言与应用,3.1.2 线性系统的状态方程模型,状态方程模型,状态变量 , 阶次,n,,输入和输出,非线性函数:,一般非线性系统的状态方程描述,11/27/2024,15,控制系统计算机辅助设计-MATLAB语言与应用,线性状态方程,时变模型,线性时不变模型 (linear time invariant, LTI),11/27/2024,16,控制系统计算机辅助设计-MATLAB语言与应用,例3-5,11/27/2024,18,控制系统计算机辅助设计-MATLAB语言与应用,带时间延迟的状态方程,数学模型,MATLAB输入语句,其他延迟属性:ioDelay,11/27/2024,19,控制系统计算机辅助设计-MATLAB语言与应用,3.1.3 线性系统的零极点模型,零极点模型是因式型传递函数模型,零点 、极点 和增益,零极点模型的,MATLAB表示,11/27/2024,20,控制系统计算机辅助设计-MATLAB语言与应用,例3-5 零极点模型,MATLAB输入方法,另一种输入方法,11/27/2024,21,控制系统计算机辅助设计-MATLAB语言与应用,3.1.4 多变量系统传递函数矩阵模型,传递函数矩阵,为第 i 输出对第 j 输入的传递函数,可以先定义子传递函数,再由矩阵定义,11/27/2024,22,控制系统计算机辅助设计-MATLAB语言与应用,3.2 线性离散时间系统的数学模型,单变量系统:差分方程取代微分方程,主要内容,离散传递函数,离散状态方程,11/27/2024,24,控制系统计算机辅助设计-MATLAB语言与应用,3.2.1 离散传递函数模型,数学表示 (Z变换代替Laplace变换),MATLAB表示,(采样周期 ),算子输入方法:,11/27/2024,25,控制系统计算机辅助设计-MATLAB语言与应用,例3-8 离散传递函数,采样周期,MATLAB输入方法,另一种输入方法,11/27/2024,26,控制系统计算机辅助设计-MATLAB语言与应用,滤波器型描述方法,滤波器型离散模型,分子、分母除以,记 ,则,11/27/2024,28,控制系统计算机辅助设计-MATLAB语言与应用,MATLAB表示方法,例3-9,11/27/2024,29,控制系统计算机辅助设计-MATLAB语言与应用,离散延迟系统的状态方程,数学模型,MATLAB表示方法,11/27/2024,31,控制系统计算机辅助设计-MATLAB语言与应用,3.3 方框图描述系统的化简,单环节模型前面已经介绍了,实际系统为多个环节互连,如何解决互连问题,获得等效模型?,主要内容,控制系统的典型连接结构,节点移动时的等效变换,复杂系统模型的简化,11/27/2024,32,控制系统计算机辅助设计-MATLAB语言与应用,3.3.1 控制系统的典型连接结构,系统串、并联,串联传递函数,并联传递函数,11/27/2024,33,控制系统计算机辅助设计-MATLAB语言与应用,串、并联状态方程模型,串联系统的状态方程,并联系统的状态方程,11/27/2024,34,控制系统计算机辅助设计-MATLAB语言与应用,串、并联系统的MATLAB求解,若一个模型为传递函数、另一个为状态方程,如何处理?,将二者变换成同样结构再计算,基于MATLAB的计算方法,串联 注意次序:多变量系统,并联,优点,无需实现转换,11/27/2024,35,控制系统计算机辅助设计-MATLAB语言与应用,系统的反馈连接,反馈连接,正反馈,负反馈,11/27/2024,36,控制系统计算机辅助设计-MATLAB语言与应用,状态方程的反馈等效方法,其中,若,11/27/2024,37,控制系统计算机辅助设计-MATLAB语言与应用,反馈连接的MATLAB求解,LTI 模型,符号运算 (置于sym目录),11/27/2024,38,控制系统计算机辅助设计-MATLAB语言与应用,例3-10,11/27/2024,39,控制系统计算机辅助设计-MATLAB语言与应用,例3-11,控制器为对角矩阵,11/27/2024,40,3.3.2 节点移动时的等效变换,考虑模型,难点:A点在回路间,移至输出端,11/27/2024,41,控制系统计算机辅助设计-MATLAB语言与应用,节点移动,11/27/2024,42,控制系统计算机辅助设计-MATLAB语言与应用,3.3.3 复杂系统模型的简化,例3-12 原系统可以移动,新支路模型,11/27/2024,43,控制系统计算机辅助设计-MATLAB语言与应用,得出,11/27/2024,44,控制系统计算机辅助设计-MATLAB语言与应用,例3-13 电机拖动模型,11/27/2024,45,控制系统计算机辅助设计-MATLAB语言与应用,信号单独输入,得出另一个传递函数,11/27/2024,46,控制系统计算机辅助设计-MATLAB语言与应用,最终得出传递函数矩阵,11/27/2024,47,控制系统计算机辅助设计-MATLAB语言与应用,3.4 系统模型的相互转换,前面介绍的各种模型之间的相互等效变换,主要内容,连续模型和离散模型的相互转换,系统传递函数的获取,控制系统的状态方程实现,状态方程的最小实现,传递函数与符号表达式的相互转换,11/27/2024,48,控制系统计算机辅助设计-MATLAB语言与应用,3.4.1 连续模型和离散模型的相互转换,连续状态方程的解析阶,采样周期,选择,11/27/2024,49,控制系统计算机辅助设计-MATLAB语言与应用,这样可以得出离散模型,记,则可以得出离散状态方程模型,MATLAB函数直接求解,11/27/2024,50,控制系统计算机辅助设计-MATLAB语言与应用,还可以采用Tustin变换(双线性变换),例3-14 双输入模型,,11/27/2024,51,控制系统计算机辅助设计-MATLAB语言与应用,输入模型、变换,模型,11/27/2024,52,控制系统计算机辅助设计-MATLAB语言与应用,例3-15 时间延迟系统的离散化,MATLAB求解,零阶保持器变换,变换结果,11/27/2024,53,控制系统计算机辅助设计-MATLAB语言与应用,Tustin变换,数学表示,其他转换方法,FOH 一阶保持器,matched 单变量系统零极点不变,imp 脉冲响应不变准则,11/27/2024,54,控制系统计算机辅助设计-MATLAB语言与应用,离散模型连续化,对前面的变换求逆,Tustin反变换,MATLAB求解 (无需 ),11/27/2024,55,控制系统计算机辅助设计-MATLAB语言与应用,例3-16 对前面的连续状态方程模型离散化,对结果再连续化,则,可以基本上还原连续模型,11/27/2024,56,控制系统计算机辅助设计-MATLAB语言与应用,3.4.2 系统传递函数的获取,已知状态方程,两端Laplace变换,则,11/27/2024,57,控制系统计算机辅助设计-MATLAB语言与应用,因此可以得出传递函数,难点,基于Fadeev-Fadeeva算法能得出更好结果,由零极点模型,直接展开分子分母,用MATLAB统一求解,11/27/2024,58,控制系统计算机辅助设计-MATLAB语言与应用,例3-17 多变量模型,求传递函数矩阵,11/27/2024,59,控制系统计算机辅助设计-MATLAB语言与应用,3.4.3 控制系统的状态方程实现,由传递函数到状态方程的转换,不同状态变量选择,结果不唯一,默认变换方式,采用MATLAB函数,G可以是传递函数、状态方程和零极点模型,适用于有延迟的、离散的或多变量模型,11/27/2024,60,控制系统计算机辅助设计-MATLAB语言与应用,例3-18 连续多变量模型,状态方程获取,11/27/2024,61,控制系统计算机辅助设计-MATLAB语言与应用,得出的状态方程模型,ioDelay矩阵,11/27/2024,62,控制系统计算机辅助设计-MATLAB语言与应用,该模型可以转换回传递函数矩阵,得出的转换结果,11/27/2024,63,控制系统计算机辅助设计-MATLAB语言与应用,均衡实现 (banlanced realization),由一般状态方程输入输出关系显著程度不明显,需要进一步变换,均衡实现是一种很有用的方式,用MATLAB直接求解,得出均衡实现的模型,得出排序的 Gram 矩阵,11/27/2024,64,控制系统计算机辅助设计-MATLAB语言与应用,例,原系统模型,引入 (内部坐标变换),11/27/2024,65,控制系统计算机辅助设计-MATLAB语言与应用,3.4.4 状态方程的最小实现,例3-19 观察传递函数模型,未见有何特殊,求取零极点模型,11/27/2024,66,控制系统计算机辅助设计-MATLAB语言与应用,得出结果,相同位置的零极点,可以对消,问题:状态方程如何处理?,MATLAB解决方法,11/27/2024,67,控制系统计算机辅助设计-MATLAB语言与应用,例3-20 多变量模型,不能直接看出是否最小实现,11/27/2024,68,控制系统计算机辅助设计-MATLAB语言与应用,MATLAB求解,11/27/2024,69,控制系统计算机辅助设计-MATLAB语言与应用,3.4.5 传递函数与符号表达式的相互转换,传递函数到符号表达式,表达式到传递函数,置于sym目录下,11/27/2024,70,控制系统计算机辅助设计-MATLAB语言与应用,3.5 线性系统模型降阶,用低阶模型近似高阶模型,和最小实现不同,最早由Edward J. Davison提出(1966),主要内容,与Routh算法,时间延迟模型的 近似,带有延迟的最优降阶算法,状态空间的降阶算法,11/27/2024,71,控制系统计算机辅助设计-MATLAB语言与应用,3.5.1 降阶算法 与 Routh 降阶算法,原始模型,寻求降阶模型,假设,11/27/2024,72,控制系统计算机辅助设计-MATLAB语言与应用,展开原模型,其中时间矩量 可以递推求出,若已知状态方程模型,11/27/2024,73,控制系统计算机辅助设计-MATLAB语言与应用,时间矩量的MATLAB求解,降阶思想:保留前 时间矩量,11/27/2024,74,控制系统计算机辅助设计-MATLAB语言与应用,对比系数,则,11/27/2024,75,控制系统计算机辅助设计-MATLAB语言与应用,这样可以得出,11/27/2024,76,控制系统计算机辅助设计-MATLAB语言与应用,降阶求解函数,11/27/2024,77,控制系统计算机辅助设计-MATLAB语言与应用,例3-21 原始模型,Pad,近似,结果,11/27/2024,78,控制系统计算机辅助设计-MATLAB语言与应用,例3-22 反例,零极点模型求取,稳定模型,11/27/2024,79,控制系统计算机辅助设计-MATLAB语言与应用,Pad,近似,不稳定降阶模型,Pad,不能保证降阶模型的稳定性,不稳定降阶模型可能得出稳定降阶模型,11/27/2024,80,控制系统计算机辅助设计-MATLAB语言与应用,Routh 降阶方法与实例,Routh算法(较烦琐,从略),11/27/2024,81,控制系统计算机辅助设计-MATLAB语言与应用,Routh算法的最大特色:稳定系统降阶后能保证降阶模型稳定性,例3-23 仍考虑稳定模型,11/27/2024,82,控制系统计算机辅助设计-MATLAB语言与应用,3.5.3 时间延迟模型的,Pad,近似,纯延迟的Pad,近似方法,近似函数,纯滞后逼近,11/27/2024,83,控制系统计算机辅助设计-MATLAB语言与应用,编写 MATLAB 函数,其中 r/m 任意选择,可以选择 0/m ,以避免非最小相位模型,11/27/2024,84,控制系统计算机辅助设计-MATLAB语言与应用,例3-24 纯延迟模型,MATLAB求解,拟合结果,11/27/2024,85,控制系统计算机辅助设计-MATLAB语言与应用,例3-25 已知带有延迟的线性模型,可以得出近似模型,11/27/2024,86,控制系统计算机辅助设计-MATLAB语言与应用,3.5.4 带有时间延迟系统的 次最优降阶算法,降阶模型的降阶效果,误差定义,ISE准则,11/27/2024,87,控制系统计算机辅助设计-MATLAB语言与应用,原模型,降阶模型,降阶误差定义,11/27/2024,88,控制系统计算机辅助设计-MATLAB语言与应用,参数向量,误差,MATLAB实现(从略),调用格式,11/27/2024,89,控制系统计算机辅助设计-MATLAB语言与应用,例3-26 对给出的传递函数进行降阶研究,可以给出下面的语句,得出的降阶模型为,11/27/2024,90,控制系统计算机辅助设计-MATLAB语言与应用,例3-27 已知高阶模型,可以给出如下命令,得出的降阶模型,11/27/2024,91,控制系统计算机辅助设计-MATLAB语言与应用,3.5.4 状态方程模型的降阶算法,均衡实现模型的降阶算法,11/27/2024,92,控制系统计算机辅助设计-MATLAB语言与应用,MATLAB求解函数,例3-28,11/27/2024,93,控制系统计算机辅助设计-MATLAB语言与应用,基于 Schur 均衡实现模型的降阶算法,MATLAB求解函数,例3-29 高阶传递函数,思路:先转换成状态方程,再降阶,11/27/2024,94,控制系统计算机辅助设计-MATLAB语言与应用,模型输入与降阶,Schur 降阶模型,11/27/2024,95,控制系统计算机辅助设计-MATLAB语言与应用,最优 Hankel 范数的降阶模型近似,MATLAB求解函数,例3-30 仍采用前面模型,11/27/2024,96,控制系统计算机辅助设计-MATLAB语言与应用,降阶算法综述,状态方程方法不能任意选择分母分子阶次,而很多传递函数方法可以,降阶效果比较,下章给出,时域响应比较,频域响应比较,降阶模型的应用,仿真应用(用途越来越小),控制器设计应用,11/27/2024,97,控制系统计算机辅助设计-MATLAB语言与应用,3.6 线性系统的模型辨识,模型辨识,由已知实测数据获得系统模型的方法,实测数据,时域响应数据、频率响应数据,主要内容,离散系统辨识方法,辨识信号生成,多变量系统辨识,离散系统在线辨识,11/27/2024,98,控制系统计算机辅助设计-MATLAB语言与应用,3.6.1 离散系统的模型辨识,离散传递函数模型,对应的差分方程模型,11/27/2024,99,控制系统计算机辅助设计-MATLAB语言与应用,已知实测信号,输入,输出,由数据可以得出,11/27/2024,100,控制系统计算机辅助设计-MATLAB语言与应用,矩阵形式,定义残差最小指标,最小二乘解,11/27/2024,101,控制系统计算机辅助设计-MATLAB语言与应用,系统辨识工具箱求解,T,为结构体变量,,T,.a,T,.b, tf(,T,),当然由前面的公式也能直接求解,11/27/2024,102,控制系统计算机辅助设计-MATLAB语言与应用,例3-31 实测数据,11/27/2024,103,控制系统计算机辅助设计-MATLAB语言与应用,基于MATLAB的求解,11/27/2024,104,控制系统计算机辅助设计-MATLAB语言与应用,数学形式,辨识模型的提取,还可以写成,11/27/2024,105,控制系统计算机辅助设计-MATLAB语言与应用,还可以由下面语句求解,辨识结果,11/27/2024,106,控制系统计算机辅助设计-MATLAB语言与应用,直接辨识方法,辨识结果,辨识界面:ident,11/27/2024,107,控制系统计算机辅助设计-MATLAB语言与应用,3.6.2 离散系统辨识信号的生成,问题:什么样信号激励系统,辨识效果最好?,有丰富频率信息的信号最好,如 PRBS,伪随机二进制序列,pseudo-random binary sequence,频率丰富,值为,可重复构建,MATLAB直接生成,11/27/2024,108,控制系统计算机辅助设计-MATLAB语言与应用,例3-32 生成63个点的PRBS信号,辨识效果,残差明显减小,11/27/2024,109,控制系统计算机辅助设计-MATLAB语言与应用,连续系统的辨识,可以考虑的方法,连续频率拟合方法,不惟一,离散方法,再转换成连续模型,例3-33,11/27/2024,110,控制系统计算机辅助设计-MATLAB语言与应用,正弦信号激励,辨识结果,问题原因:输入频率单一,11/27/2024,111,控制系统计算机辅助设计-MATLAB语言与应用,3.6.3 多变量离散系统的辨识,离散传递函数矩阵模型,其中,例3-34,11/27/2024,112,控制系统计算机辅助设计-MATLAB语言与应用,MATLAB求解,11/27/2024,113,控制系统计算机辅助设计-MATLAB语言与应用,得出的高阶模型,应该最小实现,辨识结果,11/27/2024,114,控制系统计算机辅助设计-MATLAB语言与应用,3.6.4 离散系统的递推最小二乘辨识,在系统运行过程中实时获取系统参数,而不是象前面介绍的方法那样一次性获得模型,适合于变参数模型的实时控制,广泛应用于自适应控制,渐近地逼近参数真值,这里介绍算法,仿真研究将在后面介绍,11/27/2024,115,控制系统计算机辅助设计-MATLAB语言与应用,递推最小二乘辨识,传递函数模型,差分方程模型,待辨识参数,11/27/2024,116,控制系统计算机辅助设计-MATLAB语言与应用,递推初值 和加权矩阵,输入输出数据向量,递推公式,11/27/2024,117,控制系统计算机辅助设计-MATLAB语言与应用,本章要点小结,线性连续系统可以用传递函数、状态方程和零极点形式描述,多变量系统可以由状态方程和传递函数矩阵来描述。在MATLAB下提供了tf( ) 函数、ss( )函数和 zpk( )函数来描述这些模型。带有时间延迟的系统模型也可以用这样的函数直接描述,需要设定 ioDelay 属性。传递函数模型还可以用数学表达式形式输入。,离散系统也可以用传递函数、传递函数矩阵和状态方程表示,也有对应的零极点模型,在 MATLAB下也可以用和连续系统相同的函数进行表示。,11/27/2024,118,控制系统计算机辅助设计-MATLAB语言与应用,具有三种基本连接结构(串联、并联和反馈)的系统模型及其在 MATLAB 下的求解方法,复杂结构的控制系统方框图化简的数值解法和解析解方法,引入了基于 MATLAB 的方框图化简的推导方法。对含有纯时间延迟的系统,还可以采用 Pade 近似的方法,获得整个系统的近似模型。,不同的系统数学模型可以进行相互转换,连续模型与离散模型直接可以通过 c2d( )和 d2c( )函数进行转换,转换成传递函数或传递函数矩阵需要用tf( ) 函数,转换成状态方程可以通 ss( ) 函数,零极点模型需要调用 zpk( ) 函数。,11/27/2024,119,控制系统计算机辅助设计-MATLAB语言与应用,如果系统模型的阶次过高,会使得系统分析与设计变得困难,本章介绍了基于 Pade 近似和基于Routh 表的模型降阶算法和各种基于状态空间的模型降阶方法,并介绍了时间延迟模型的次最优降阶算法,可以用低阶模型较好地近似高阶模型。降阶模型和原模型的时域、频域比较将在后面章节中给出。,通过实测的系统响应数据则可以重构出系统的数学模型,本书介绍了连续系统的辨识方法和离散模型的最小二乘辨识算法,并介绍了多变量系统辨识及 PRBS 辨识信号生成等主题的内容,还介绍了递推最小二乘辨识的算法,第 5 章中将介绍该算法的 Simulink 模型实现。,11/27/2024,120,控制系统计算机辅助设计-MATLAB语言与应用,本章的内容局限于线性系统模型的处理,更复杂的非线性系统模型的建模与处理,在 MATLAB 和 Simulink 下也可以容易地表示出来,这方面的内容请参见后续章节。另外,Laplace 变换和 Z 变换的定义及计算机求解方法请参见附录 A。,11/27/2024,121,控制系统计算机辅助设计-MATLAB语言与应用,
展开阅读全文