1.86k likes | 2.02k Views
第 4 章 控制系统数字仿真. 返回总目录. 数字仿真是在数字机上建立系统模型并利用模型做实验,所以,进行数字仿真首先要建立描述被仿真系统的数学模型,并将此模型转换成计算机可接受的、与原模型等价的仿真模型,然后编制程序,使模型在计算机上运行。本章主要讲述数字仿真的基本理论与方法。. 连续系统数值积分方法. 连续系统的数学模型,一般都能以微分方程的形式给出,所以,连续系统数学仿真算法问题通常可归结为如何用计算机来求解微分方程的问题。数值积分法是解决该问题的重要方法之一,例如已知. (4.1). 求. 连续系统数值积分方法. 解:对式 (4.1) 两边积分,则. 当. 时.
E N D
第4章控制系统数字仿真 返回总目录
数字仿真是在数字机上建立系统模型并利用模型做实验,所以,进行数字仿真首先要建立描述被仿真系统的数学模型,并将此模型转换成计算机可接受的、与原模型等价的仿真模型,然后编制程序,使模型在计算机上运行。本章主要讲述数字仿真的基本理论与方法。数字仿真是在数字机上建立系统模型并利用模型做实验,所以,进行数字仿真首先要建立描述被仿真系统的数学模型,并将此模型转换成计算机可接受的、与原模型等价的仿真模型,然后编制程序,使模型在计算机上运行。本章主要讲述数字仿真的基本理论与方法。
连续系统数值积分方法 连续系统的数学模型,一般都能以微分方程的形式给出,所以,连续系统数学仿真算法问题通常可归结为如何用计算机来求解微分方程的问题。数值积分法是解决该问题的重要方法之一,例如已知 (4.1) 求
连续系统数值积分方法 解:对式(4.1)两边积分,则 当 时 令 则 (4.2) 数值积分法是解决在已知初值的情况下,对 进行近似积分,对 进行数值求解的方法,在数学上称为微分方程初值问题的数值方法。
连续系统数值积分方法 一.欧拉法 表示函数 在 和 相邻两次采样时刻之间的积分。 若将此定积分中的 近似看成常数,即 则 由式(4.2)得 即 (4.3)
连续系统数值积分方法 式中, ,1,2,… 为计算步距。 式为(4.3)著名的欧拉积分公式。欧拉公式计算简单,但精度较低,其原因是将 看成常数 ,从而用矩形面积代替准确的曲面面积 ,形成了较大的误差面积。为了提高计算精度产生了梯形法。
连续系统数值积分方法 二. 梯形法 梯形法是用梯形的面积近似代替定积分 ,即 式中, ; ,所 以 即 (4.4)
连续系统数值积分方法 从式(4.4)可以看出,用梯形法进行数值积分,会出现一个问题:在计算 时,先要用 去计算式(4.4)右端的 ,而此时 还未求出, 显然,这是不可能实现的。所以,一般采用欧拉公式先预报一个 然后将预报 的代入式(4.4)进行校正,求出 ,即 (4.5) 式中, 一般称式(4.5)为预报–校正公式。显然,梯形法比欧拉法精度要高,同时,每前进一个步距,计算工作量也比欧拉法约多一倍。
连续系统数值积分方法 三. 龙格-库塔法 对于微分方程式(4.1),若在其初值附近展开成泰勒级数,并只取前三项,则有 (4.6) 设式(4.1)的解可以写成如下形式 (4.7)
连续系统数值积分方法 将用 二元函数泰勒级数展开式展开,并只取前三项,则 将 、 代入式(4.7) (4.8) 比较式(4.6)与式(4.8),得
连续系统数值积分方法 三个方程中有四个未知数,因而解不是唯一的。所以,限定 ,则求出 。代入式(4.7)得 写成一般形式 (4.9)
连续系统数值积分方法 若在 的假设下, 时的准确解为 , 为用式(4.9)求得的近似解,则它们之差 ,称为此 时计算的截断误差。 式(4.6)只取到泰勒级数展开式中 的二阶导数项,略去了三阶以上高阶导数项。为纪念提出该方法的德国数学家C. Runge和M. W .Kutta,称这种计算方法为二阶龙格-库塔法。其截断误差正比于步长 的三次方,同理若在式(4.6)的计算中,取到的 三阶或四阶导数项,则有相应的三阶或四阶龙格-库塔法,相应的截断误差也应正比于 或 。
连续系统数值积分方法 一般在计算精度要求较高的情况下,多使用四阶龙格-库塔法。其计算公式为 (4.10)
连续系统数值积分方法 将欧拉公式与 的泰勒级数展开式比较可知,欧拉公式即泰勒级数展开式只取前两项。而将预报–校正公式与二阶龙格–库塔公式比较,发现它们完全是一样的。这样,通过对龙格库–塔法的介绍,可将前面讲的几种数值积分方法统一起来,都可看成是 在初值附近展开成泰勒级数所产生的,只是其泰勒级数所取项数的多少不同。欧拉法只取前两项,梯形法与二阶龙格–库塔法取了前三项,四阶龙格–库塔法取了前五项。从理论上说,取的项数越多,计算精度越高,但相应的计算公式更复杂,计算工作量也更大。
连续系统数值积分方法 以上介绍的几种数值积分公式,有一个共同的特点,在计算 时只用到 ,而不直接用 , ,… 各项的值,即在本次计算中,仅仅用到前一次的计算结果,而不需要利用更前面各步的结果。这类计算方法称为单步法。单步法运算有下列优点: (1) 需要存储的数据量少,占用的存储空间少。 (2) 只需要知道初值,就可启动递推公式进行运算,具有这种能力的计算方法称为自启动的计算方法。 (3) 容易实现变步长运算。 与单步法相对应的还有一类数值积分方法,在它的数值积分公式中,本次计算不仅利用前一次的计算结果,还必须利用更前面各次结果,此类方法称为多步法。如四阶阿达姆斯(Adams)积分公式
连续系统数值积分方法 (4.11) 即是多步法计算公式。 多步法与单步法相比,欲达到相同精度,计算工作量较小,从式(4.11)和四阶龙格–库塔式(4.10)的比较中可明显看出。在计算 时,式(4.11)只需计算 ,而 , , 已由前三次计算求出,而四阶龙格–库塔公式每前进一步都要计算 , , , ,相当于四次计算右端函数 ,因此在相同的条件下多步法比单步法要快。
连续系统数值积分方法 四. 微分方程数值积分的矩阵分析方法 前面介绍的数值积分公式,都是以求解单个典型微分方程 进行介绍的。而工程实际系统中大量的仿真对象是以一阶微分方程组或矩阵微分方程的形式给出,如 或
连续系统数值积分方法 式中, 在这种情况下,各数值积分公式显然应采用相应的矩阵形式
连续系统数值积分方法 (1) 欧拉公式 (4.12) (2) 梯形公式 (4.13) (3) 二阶龙格-库塔公式 (4.14)
连续系统数值积分方法 (4) 四阶龙格-库塔公式 (4.15)
连续系统数值积分方法 对一个 维向量 ,每前进一个步距 ,至少要求 个 之值。 对常见的线性定常系统 ,四阶龙格–库塔法的四个可表示为
连续系统数值积分方法 对 维向量 ,取 是有四个分量的一维矢量,其中 再取 为一零向量,其中 , 。 则四个求 的公式可合并为一个公式 (4.16) 在以后介绍的程序中,四阶龙格–库塔法的计算将建立在上式的基础上。
连续系统数值积分方法 五. 数值积分方法的计算稳定性 这里所说的数值积分方法的计算稳定性,在数学上是指微分方程初值问题算法的数值稳定性或计算稳定性。由于在系统仿真运算阶段大量求解微分方程问题时,实际上是用不定数值积分方法求解微分方程的问题。如欧拉法就是在已知 时,用 完成对微分方程 的求解。习惯上将这些方法称为数值方法。 从稳定性理论中,可以知道如何从系统的微分方程或传递函数去判断该系统的稳定性。那么,对于一个稳定的连续系统,当用某数值积分方法进行仿真计算时,是否仍然稳定呢?先看下面的例子。
连续系统数值积分方法 【例4.1】 已知微分方程 其精确解为 取 ,用欧拉法和四阶龙格-库塔法计算 时的 :
连续系统数值积分方法 欧拉法 四阶龙格-库塔法 精确解
连续系统数值积分方法 显然,此时数值积分法计算的结果是错误的。为什么会出现这种情况呢?这是因为数值积分方法只是一种近似方法,它在反复的递推运算中将引入误差。若误差的积累越来越大,将使计算出现不稳定,从而得出错误的结果。所以,原系统的稳定性与数值积分法计算的稳定性是不同的两个概念。前者用原系统的微分方程、传递函数来讨论,后者用逼近微分方程的差分方程来讨论。由于选用的数值积分法不同,即使对同一系统,差分方程也各不相同,稳定性也各不一样。如何分析数值积分法的数值计算稳定性呢?一般来讲,对高阶微分方程的数值计算稳定性作全面分析是比较困难的,通常用简单的一阶微分方程来考查其相应差分方程的计算稳定性。
连续系统数值积分方法 微分方程 (4.17) 称测试方程。据稳定性理论,当其特征方程的根在平面的左半平面,即根的实部 时,则原系统稳定。此时相应的数值积分法的计算稳定性如何呢?
连续系统数值积分方法 1. 欧拉法的计算稳定性 对式(4.17)按欧拉公式计算有 (4.18) 用式(4.18)计算的 ,并不是 时的真值,而只是真值包含了各种误差的近似值。随着递推次数的增加,此误差是否会不断扩大,使 完全不能表示此时的真值呢?这决定了此差分方程计算的稳定性。为简化问题的讨论,假设只在 时刻有误差引入,这样 的误差 仅由 的误差引起,所以 (4.19)
连续系统数值积分方法 式(4.19)减式(4.18)得误差方程 同理 当 ,则 ,表明此算法若在计算中的某步引入了误差,随着计算步数的增加,这个误差将逐渐扩大,以致差分方程的解完全失真。
连续系统数值积分方法 反之,当,则随着计算步数的增加,误差逐渐减小并趋于零或有界,在这种情况下,称此差分方程的算法是计算稳定的。显然,合理的选择步长使其满足,是保证欧拉法计算稳定的重要条件。
连续系统数值积分方法 2. 梯形法的计算稳定性 对测试方程按梯形法计算公式,则 (4.20) (4.21) 所以
连续系统数值积分方法 若原系统稳定,则根据稳定性理论, 应是小于零的实数。对式(4.21), 取任何正数都可以保证下式成立: 所以 这就表明,某步计算引入的误差,将随着计算步数的增加而减小。也就是说,梯形法的计算在任何步长下都是稳定的,是一种绝对稳定的计算方法。
连续系统数值积分方法 六. 数值方法的计算精度、速度、稳定性与步距的关系 从上面的分析可以看出,一般数值积分方法的稳定性与所选用的计算步距有关。各种数值积分方法的差分方程是对原微分方程的近似逼近,存在明显的截断误差。且计算机的字长有限,计算只能限制在有限位,将引入舍入误差。这些误差都和计算步距密切相关,所以计算步距是影响计算精度、速度和稳定性的重要因素。若步距取得较大,截断误差就会相应地增大;反之,若步距取得较小,截断误差就会减小,但在给定时间范围内,计算次数必然增加,使舍入误差积累,相应地增加。
连续系统数值积分方法 这两种误差与步距的关系可用图4.1表示。从图中可知,两种误差对步距的要求是矛盾的,但两者之和有一个最小值,步距最好能选在最小值。然而,实际要做到这一点是很困难的。一般只能根据经验确定一个 附近的合理步长区,如可将 限制在系统的最小时间常数数量级上。 图4.1 误差与步距关系
控制系统的结构及其描述 一. 控制系统的典型结构形式 1. 单输入-单输出开环控制结构 控制系统结构如图4.2所示。其中控制器、控制对象等环节可用第3章所述任何一种数学模型描述, 为参考输入量, 为控制量, 为输出量。 图4.2 单输入-单输出开环控制结构图
控制系统的结构及其描述 2. 单输入-单输出前馈控制结构 控制系统结构如图4.3所示。这种结构形式本身仍为开环控制形式,但为补偿输入引起的误差,在已知误差变化规律的情况下,加入补偿环节,对误差作提前修正。补偿环节同样可用任一种数学模型描述。 图4.3 单输入-单输出前馈控制结构图
控制系统的结构及其描述 3. 单输入-单输出闭环控制结构 这是控制系统中应用最广泛的控制结构形式,大多数控制系统为保证其控制精度、性能指标要求,都采用这种闭环负反馈形式,如图4.4所示。 该系统控制原理主要是根据偏差(或误差)确定控制量,使输出量按希望的精度变化,减小或消除偏差,即所谓的偏差控制系统。图中 为偏差量(或误差量), 为反馈量。 反馈环节可用任一种数学模型描述。当反馈为单位反馈时,有 则偏差
控制系统的结构及其描述 图4.4 单输入-单输出闭环控制结构图 称作误差,而此时的闭环系统称作单位反馈系统。
控制系统的结构及其描述 凡是单输入-单输出控制系统结构均能方便地表示为图论中的拓扑结构形式,即使系统环节再增多,反馈和前馈联系再复杂,表述也很清晰,如图4.5所示。图中各环节用序号表示,每个环节都有自己的输入和输出变量 和 (=1,2,...,6),对应其相互关系的数学描述,可以是第3章所述形式的任一种。 图4.5 控制系统拓扑结构图
控制系统的结构及其描述 4. 多输入-多输出控制系统结构 若干个单输入-单输出控制系统结构形式通过一定方式组合在一起,构成了多输入-多输出控制系统结构形式,用来描述较复杂的多变量控制系统。 根据不同的环节组合形式,也有不同的控制结构。如变量和环节有单向耦合作用关系的结构形式[见图4.6(a)]、交叉反馈耦合作用关系的结构形式[见图4.6(b)]等。
控制系统的结构及其描述 (a) 单向耦合结构 (b) 交叉反馈耦合结构 图4.6 多输入-多输出控制结构图
控制系统的结构及其描述 二.控制系统的典型环节描述 任何一个复杂的控制系统,都是由一些简单的不同类型的典型环节采用串联、并联、反馈等形式组合而成的。若对常见的一些典型环节能准确地加以定量描述,则复杂系统的描述也只是复杂在各部分的相互连接关系上。采用前述系统关系描述,把这种连接关系用相应的数学关系表达出来,就可以得到在计算机上能方便运行的“仿真模型”。经典控制理论中常见的典型环节如下所述:
控制系统的结构及其描述 (1) 比例环节 (2) 惯性环节
控制系统的结构及其描述 (3) 惯性比例环节 (4) 积分环节
控制系统的结构及其描述 (5) 比例积分环节 (6) 二阶振荡环节 式中,为阻尼比,01时,系统为欠阻尼二阶振荡情况; 为无阻尼自然振荡频率。
控制系统的结构及其描述 (7) 纯滞后环节 式中, 为纯滞后时间。 (8) 高阶线性环节
控制系统的结构及其描述 式中, , 为分母多项式系数,亦称特征多项式系数; , ,为分子多项式系数;它们均为反映高阶线性环节动态响应性能的重要参数。 以上典型环节,无论其阶次高低,均可应用MATLAB语言方便地求出输入量作用下输出量的响应性能。 和 之间的数学表达关系可以由传递函数 方便地转化为其他各种形式,如状态方程、零极点增益、部分分式等。
控制系统的结构及其描述 三. 控制系统的连接矩阵 对图4.7所表示的线性系统,各环节均为线性的,在各自的输入量 作用下,给出各自的输出量 ,这种作用关系是通过各环节的数学描述体现出来的,其数学关系可以是(4.2.2)节所述的任何一种。但各环节之间存在相互作用, 不是孤立的,只要与其他环节有连接关系,就要受到相应 变化的影响。因此,要完整地将系统描述出来,还应该分析各环节输出 对其他环节有无输入作用,才能完整地进行仿真分析。