系统仿真-30 -时域离散相似法_第1页
系统仿真-30 -时域离散相似法_第2页
系统仿真-30 -时域离散相似法_第3页
系统仿真-30 -时域离散相似法_第4页
系统仿真-30 -时域离散相似法_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字计算机对连续系统仿真――时间离散,只能计算各计算步距点上的数值。“离散相似法”――对状态方程离散化得时域离散相似模型――时域离散相似法――对传递函数作离散化处理得离散传递函数,称为频域离散相似模型――频域离散相似法

信号重构TT

图3.1连续系统的离散化处理解析解:(2)离散化处理:(1)3.1时域离散相似法基本原理3.1.1基本方法系统状态方程:第三章时域离散相似法输入端:加上虚拟采样开关和虚拟信号重构器;输出端:加一个虚拟采样开关虚拟采样周期:T,两者同步。对离散化处理后的系统,设kT及(k+1)T为两个依次相连的采样瞬间,则有:

x[

(k+1)T]=eA(k+1)Tx(0)+

将(4)-(3)*eAT,可得:

若信号重构器使kT与(k+1)T之间的不变,积分式中的保持常数那么

(3)(4)x(kT)=eAkTx(0)+x[

(k+1)T]=eATx(kT)+(5)(5)式右端的积分与k无关,故可令k=0。x[

(k+1)T]=eATx(kT)+×(5)式可改写为:

x[(k+1)T]]=eATx

(kT)+

((T-)若令(T-)=m(T),则有:

x[

(k+1)T]=(T)x(kT)+m(T)u(kT)为一斜坡函数(梯形近似),则在原基础上增加对应,对

x[

(k+1)T]]引起的变化量为:x[(k+1)T]eA(T-)BdeA(T-)Bd)令eA(T-)Bd

=则:x[(k+1)T]=(T)x(kT)+m(T)u(kT)+m(T)信号重构器使(8)(7)(9)m(T)(10)(6)=(T)x(kT)+

(T)=eAT(状态转移矩阵)

(T-)Bd

(输入信号采用零阶重构器引入的系数矩阵)m(T)=

每做一步积分只要计算一次右端函数,无须迭代,速度快每做一步积分要多次计算右端函数,迭代,速度慢,A0=I(12)m(T)=eA(T-)Bd(输入信号采用一阶重构器后叠加的系数矩阵)比较:离散相似法:方程系数

可以一次求出3.1.2状态转移矩阵的计算泰勒级数展开法由Lion提出eAT=数值积分方法:

eAT=要求:其中rij和mij对应为R与M的元素,rmax为rij中最大元素。

(13)式中mmin是容易求出的,但rmax却无法求出,因为R仍是一个无穷项的和。需要估计rmax:为矩阵R的1范数,根据矩阵范数的定义,,有若级数在i=L处截断=M+R(13)E=10-d

,d为正整数或(14)令由

令(16)(15)则有如果,则因此,若则满足(14)式,eAT可以按照以下迭代过程来计算:

(1)选择初始L;(2)计算矩阵M及│mmin│;(3)用式(16)求ε;

(4)用式(17)判别是否满足精度的要求。若满足,则用M来代替eAT,否则L=L+1,并重新计算。,令│mmin│(17)系数Φm(T)的计算:因为Φm(T)=

mbaT2.eAT加速收敛算法eAT计算:在有些情况下,泰勒级数展开法收敛性较差,即需要取很多项才能达到精度要求。然而项数增加,大量矩阵乘法计算,矩阵计算引入的舍入误差大大增加,影响计算精度。以一阶系统为例,分别令aT等于0.1,0.5,1.0,2.0,泰勒展开式取前m项所达到的计算精度用10-b表示:123456789100.12357810121416180.5112345789111.01123456782.01122345m(T)的计算公式自行推导。可以看到,aT<1才有较好的收敛性。然而,在某些情况下,全部满足该条件比较困难(比如病态系统),如何加速收敛就成为状态转移矩阵计算中一个必须解决的关键问题。等效转移法,取时间比例尺由相似定理若

则令若步长T<1,,即原时间t,经等效转移后的时间为

,则并略加整理,可得:伸展!得到新的状态方程:A*、B*阵的各元素ai*、bi*与原来的ai、bi相比较,分别乘以Ti+1、Ti,时间常数加大,状态矩阵计算的收敛性则大大加快。需要注意的是,仿真结果的时间比例尺也放大了1/T倍。缩方与乘方根据eAT的特性,若设T=T×2-m,m为大于零的整数,则有先利用泰勒级数法来计算eAΔT

,那么可以取较少的级数项而能获得较高的精度;然后再将它进行2m次方相乘,即可计算出eAT。需要指出的是,m也不能太大,一般m应小于4~8,否则计算eAT时会产生很大的舍入误差。P62页算法3.2增广矩阵法转化为齐次常微分方程组:对线性定常系统,离散模型:(1)尽管这种方法的误差来源于:(1)eAT的计算误差;(2)u(t)误差可归结为eAT的计算,而且eAT的计算误差可以通过缩方与乘方的方法减少,然而,虚拟采样后的信号带来的误差却无法消除。将输入信号也能作为系统的状态对待,那么只需要着眼于提高eAT的计算精度就能达到仿真精度的提高――增广矩阵法。增广矩阵法将(2)等价的离散模型就变成其中,仿真只有一项误差――计算增广状态方程及输出方程为:

初始条件:考虑一般情形,设作用函数u(t)可以表示成如下形式:

(m>l≥0)(3)(4)的误差。例如,阶跃输入时,,定义第n+1个状态变量为:(5)视u(t)为上述m阶系统的自由响应。设该m阶系统的状态变量为xu,(6)其中(8)将该m阶系统增广到原n阶系统,增广状态方程如下:

(7)(9)AuAXXu图3.5增广状态系统结构图(10)

基于结构图的非线性系统

及时域离散算法仿真实例

MATLAB的控制系统工具箱中提供了实现连续系统和离散系统之间相互转换的函数,最常用的是将连续系统转换成离散系统的函数c2d和c2dm,其调用格式分别为[Ad,Bd]=c2d(A,B,T)[Ad,Bd,Cd,Dd]=c2dm(A,B,C,D,T,‘method’)c2d将用矩阵A、B描述的连续系统按照(2.62)式转换成离散系统,T为离散化步长。c2dm将用矩阵A、B、C、D描述的连续系统按照指定的离散化方法转换成离散系统,其中method为转换时所选用的离散化方法,其选项主要有以下几种:zoh

假设对输入信号加一个零阶保持器;foh假设对输入信号加一个一阶保持器

tustin

采用双线性变换法(Tustin法)

prewarp

采用改进的Tustin法;

matched

采用根匹配法。

c2dm函数还可以实现连续系统传递函数到离散系统脉冲传递函数之间的转换,调用格式为

[numd,dend]=c2dm(num,den,T,‘method’)用于根据method所指定的转换方法,将由num和den描述的传递函数G(s)转换成由numd和dend描述的脉冲传递函数G(z)

。【例2.8】考虑如图2.23所示的非线性控制系统,试用时域离散相似算法研究其单位阶跃响应。【解】图中的传递函数对应的状态空间模型为

在该模型前加上虚拟的采样开关和零阶保持器,如图2.24所示。图2.23对应的离散化状态空间模型为式中相应的仿真模型如图2.25所示。图2.24图2.25为了避免手工计算和,采用如图2.26所示的Simulink模型,并将DiscreteState-Space模块的四个参数Parameters分别设置为:a1,b1,c1,d1,Sampletime为:0.05。在MATLAB命令窗口运行下列指令>>a=[00;1-1];b=[1;0];c=[01];d=0;T=0.05;>>[a1,b1,c1,d1]=c2dm(a,b,c,d,T,‘zoh’);

并分别键入K=1,10,30。选择定步长的discrete(nocontinuousstates)算法,步长为0.05。启动仿真后,得

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论