系统时间响应和动态仿真Read.docx
- 文档编号:25278
- 上传时间:2022-10-01
- 格式:DOCX
- 页数:23
- 大小:308.09KB
系统时间响应和动态仿真Read.docx
《系统时间响应和动态仿真Read.docx》由会员分享,可在线阅读,更多相关《系统时间响应和动态仿真Read.docx(23页珍藏版)》请在冰豆网上搜索。
系统时间响应和动态仿真Read
第二章系统时间响应和动态仿真
2.1概述
系统的时间响应是指系统在输入信号或初始状态作用下,系统的输出随时间变化的情况。
系统的时间响应反映了系统的特征和性能,如系统的快速性,稳定性及阻尼性能等。
充分了解和分析系统的响应,以及与系统结构、参数之间关系,是设计和校正系统的基础。
系统的时间响应可以借助数学解析法获得。
对于低阶系统来说,解析法是可行的,但对高阶系统来说,解析法求解系统的响应是十分困难的。
数字仿真,即借助计算机完成获得系统时间响应的任务,是根据被研究的真实系统的模型,利用计算机进行实验研究的一种方法。
系统动态仿真指的是计算机仿真或数字仿真。
仿真的主要过程是:
建立模型、仿真运行和分析研究仿真结果。
仿真运行就是借助一定的算法,获得系统的有关信息,特别是系统输入和输出响应的变化情况。
由于连续时间系统和离散时间系统的数学模型不同,仿真算法也不相同。
对于连续时间系统的常微分方程,有不同求解计算方法,MATLAB工具箱提供了这些数值积分方法的函数。
离散时间系统仿真可直接由其数学模型完成,十分简单。
基于离散相似法的连续系统仿真和数值积分法不同,它首先将连续时间系统模型离散化,再借用离散系统仿真算法。
2.2基于数值积分的连续系统仿真
2.2.1数值积分基本原理简介
考察一阶微分方程,形如
(2.2-1)
式(2.2-1)的解y(t)在区间[a,b]上是连续变化的。
将区间[a,b]分成若干个小区间,时间间隔为h,在区间
内积分,则有
(2.2-2)
这样在
对应于每个离散时间点
,均可求出对应的
,并将这些离散的
作为
的近似值。
式(2.2-2)中的积分项很难求得,但由Taylor公式,存在:
(2.2-3)
式中,h为积分步长。
式(2.2-3)是一个递推公式,借助计算机按一定算法可以求出
各点的值。
当h很小时,这些点的值可作为方程(2.2-1)的近似解。
常用的数值积分方法:
欧拉、梯度法、龙格—库塔法、阿达姆斯法和吉尔法等。
2.2.1.1几个基本概念
1.单步法和多步法
单步法是指计算某时刻数值
,只需前一时刻
有关信息,它是一种能自启动的算法。
多步法是指计算某时刻数值
,需要
时刻有关信息,它是一种不能自启动的算法。
2.显式法和隐式法
显式是指计算
时所需数据均已算出。
隐式是指计算
的算式中含有
时刻的数据。
在使用隐式公式中,需要用另一公式估计这里未知数据,然后用隐式公式进行迭代,称为预估—校正法。
该方法不能自启动。
3.定步长和变步长
定步长为积分步长h在仿真运行过程中始终不变。
而积分步长在仿真运行过程中自动修正改变为变步长。
2.2.1.2欧拉法
对一阶微分方程,欧拉法取泰勒公式的前两项,是用前一点的斜率值
确定下一点的
的值,用一条过各点的切线取代曲线来逼近精确解。
该算法计算工作量小,且为单步长显式法,可自启动,但精度较低。
2.2.1.3梯度法
相比欧拉法,梯度法是两个点斜率的平均值来确定下一点的y值。
2.2.1.4龙格-库塔法
2.2.1.5阿达姆斯法
2.2.1.6Gear法
对病态系统的仿真十分有效。
2.2.2数值积分方法的选择
1.计算精度
2.积分步长的选择与控制
3.积分计算稳定性
4.Stiff方程
2.2.3基于数值积分法的连续系统仿真
一个连续时间系统模型要用一个高阶微分方程加以描述。
对于一个n阶微分方程描述的连续系统,可以转化为用n个一阶微分方程组来表示,形式如:
或写成矩阵形式为:
(2.2-4)
其中,
对于线性时不变系统,n阶微分方程可转化为状态空间表达式:
(2.2-5)
式中,状态变量
状态方程实质上是一阶微分方程组。
2.2.4数值积分方法的MATLAB函数
MATLAB工具箱提供了各种数值积分方法的常用函数,这些函数的基本功能是用数值计算方法求解常系数微分方程或微分方程组。
MATLAB提供了七种解函数,ODE45,ODE23,ODE113,ODE15S,ODE23T,ODE23TB。
(1)ODE45为一种显式R-K(4,5)公式,它属于单步法,即计算
的值,只需要前一时刻
的值。
变步距数值计算,误差估计为Dorman-Prince公式。
通常为首先选用的最好函数,用于求解非刚性微分方程。
对于大多数问题能获得满意的解。
(2)ODE23为一种显式R-K(2,3)公式,采用Bogacki-Shampine公式,它也属于单步法,变步距,适用于求解非刚性微分方程。
在允许计算误差较大和解具有轻微刚性方程时效果比ODE45更好。
(3)ODE113为变阶Adams-Bashforth-MoultonPECE算法,适用于求解非刚性微分方程,在允许误差较严格的场合,它比ODE45更有效。
它属于多步法,需要前几步值计算当前值。
(4)ODE15s是基于数值微分公式(NDFs)变阶变步距算法,它常比反向差分公式(BDFs)即Gear算法更有效,ODE15s函数允许在两种方法之间进行选择。
它属于多步法,适用于刚性方程。
当所求微分方程是刚性方程或用ODE45函数求解失败情况下,可尝试试用ODE15s函数求解。
(5)ODE23s基于二阶修正的Rosebrock公式的一种算法。
它属于单步法,因为在计算精度不高场合下,比ODE15s更有效。
若在使用函数ODE15s无效情况下,可尝试ODE23s来求解某些刚性微分方程。
(6)ODE23t采用“自由插值”实现梯度规则算法,适用于存在中等刚性微分方程并要求解无数值衰减的情况。
(7)ODE23tbTR-BDF方法的一种实现,即隐式RK法。
第一阶段采用梯度法(TR),第二阶段采用二阶BDF公式。
结构上,两阶段采用相同的迭代矩阵。
以上七种解常微分方程MATLAB函数的调用格式完全相同:
其中:
solver为解函数名,即ode23,ode45,ode113,ode23s,ode23t,ode23tb,ode15s;
‘F’为常微分方程(组)(或系统模型)文件名,字符串,它应该是一个MATLABm函数来描述。
所有这些解函数用以求解一阶微分方程(2.2-1)或一阶微分方程组(2.2-4)或(2.2-5)。
高阶微分方程必须首先化为一阶微分方程组或状态方程。
,t0为积分时间初值,tfinal为时间终值。
或写成一个给定时刻向量,即
。
为初值;
是选择项,由函数
进行设定。
选择项包括相对允许误差
和绝对允许误差
。
缺省时,
。
在MATLAB中,每一步的计算误差
必须满足
,该步计算结果才被接受。
T为计算点的时间向量。
Y为相应的微分方程向量或矩阵。
[例2-1]已知一个刚体在无外力作用下运动方程及初始条件为:
……..
仿真时间区间为[0,15]。
这是个一阶微分方程组。
利用MATLAB微分方程解函数对该系统进行仿真有两个步骤:
(1)建立描述系统微分方程的m-函数文件rigid.m:
(2)在MATLABCOMMAND窗口下直接运行下面命令:
[t,y]=ode45(‘rigid’,[0,15],[001])
或建立一个m文件并在MATLABCOMMAND窗口下运行该文件,均可得到仿真结果,amp201.m。
[例2-2]已知二阶微分方程
,初始条件:
,令
,求时间区间
微分方程的解。
分三步骤求解:
(1)将微分方程表示为一阶微分方程组
(2)建立描述系统微分方程的m-函数文件vdp.m。
(3)建立一个m文件并在MATLABCOMMAND窗口下运行,得到方程解,amp202.m。
2.3离散时间系统仿真
离散时间系统的数学模型有差分方程、z传递函数和离散状态空间表达式,它们可以相互转换。
离散时间系统的状态空间模型形式如下:
(2.3-1)
此方程本身就是递推公式,当已知初始条件X(0)及输入U(k),则可由式(2.3-1)计算各离散点的值。
[例2-3]已知离散系统的状态表达式:
,计算点N=80,计算系统的单位阶跃响应,amp203.m。
#
2.4基于离散相似法的连续系统仿真
2.4.1连续系统离散化基本方法
对连续系统仿真有两种方法,一种是前述的数值积分法,另一种是离散相似法。
离散相似法是首先将连续系统模型离散化,得到等价的或相似的离散化的模型,然后对相似的离散模型按2.3节算法进行仿真计算。
根据这一原理,首先应将连续时间系统模型转化为等价的离散时间系统模型。
连续离散化处理是通过采样保持器来实现的。
连续时间系统转换为离散时间模型,两个模型的等价特性取决于采样周期和采样保持器。
设一个连续系统传递函数为G(s),为了实现离散化,如图所示,在输入端加入一个虚拟采样开关,采样周期为T,这样输入u(t)离散化为u(k)。
为了使输入信号不失真,在采样开关后面加一采样保持器
,使离散信号u(k)恢复为连续信号
,系统输出为连续信号
,输出端加入一个虚拟开关,采样周期也为T,将
离散化为
。
这时,若以
为系统输入,
为系统输出,系统为离散系统。
图2.2连续系统的离散化处理
由z变换理论可知离散系统传递函数为:
(2.4-1)
为原连续系统
离散化模型,离散化系统模型
应该和连续系统模型
等价或相似,其近似的程度取决于采样周期T和保持器
的特性。
连续系统离散化的方法有脉冲响应法、双线性置换法、根匹配法和状态转移法。
1.脉冲响应法
由式(2.4-1),求连续系统
等价的离散化模型
,只要对
求z变换,这时可借助于z变换得到
的表达式。
求
的另一种方法是根据控制原理,若一个系统传递函数为
,则其脉冲响应函数为
(2.4-2)
2.双线性置换法
由z变换公式,s和z的关系是
,但它是一个超越函数,无法直接利用这一关系将
置换为
。
下面推导s和z之间的置换关系。
设系统微分方程为
,用尤拉公式求解,则有:
(2.4-3)
式中,T为采样周期,两边进行z变换,得
(2.4-4)
即
(2.4-5)
又由于:
(2.4-6)
比较式(2.4-5)和(2.4-6)可得:
即
(2.4-7)
或
(2.4-8)
式(2.4-7)和式(2.4-8)称为双线性置换公式,它们可实现s域和z域系统模型的相互转换。
已知连续时间系统模型
,由式(2.4-7)可将s置换成z,求得
,将连续时间系统模型离散化。
双线性置换法比较简单。
若连续系统是稳定的,用置换法获得的离散化模型也是稳定的,且与采样周期无关,有一定精度,计算速度快。
3.零极点匹配法
用零极点匹配法将连续系统模型转换为离散系统模型的基本指导思想是转换前后系统传递函数的零点和极点要匹配。
设连续时间系统的传递函数以零极点形式给出,即:
(2.4-9)
获得等效离散化模型
直接方法是利用
的关系确定
的零点和极点并且有下面形式:
(2.4-10)
上式中,增益
可根据典型输入下连续系统
的终值与离散化系统
的终值相等的原则来确定,即:
(2.4-11)
这就是DC增益匹配原则。
至于选择何种典型输入信号,应根据
的形式来确定。
若式(2.4-9)极点的个数多于零点,即
,这相当于s平面在负无穷远处存在(n-m)个零点,因此,在z平面上还有(n-m)个相应的零点与之相“匹配”。
这(n-m)个附加零点的配置有三种处理方法:
(1)零点配置在z平面原点处z=0,因为和s平面上无穷远处的零点相匹配的z平面上的零点
。
这样,包含有(n-m)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 时间 响应 动态 仿真 Read