1、3.7 采样控制系统的仿真方法,随着计算机科学与技术的发展,人们逐渐采用数字计算机进行控制系统的分析与设计,形成数字控制系统(或称计算机控制系统)。这类系统中的被控对象的状态变量是连续变化的,然而它的输入变量和控制变量却是只在采样点(时刻)取值的间断的脉冲序列。其数学模型为差分方程或离散状态方程。这一类在一处或多处存在采样脉冲序列信号的控制系统称为采样控制系统。这类系统的特点是:抗干扰功能强调整灵活其研究和应用获得较快的发展,相应地对采样控制系统仿真实验的要求也愈来愈强烈。,3.7.1采样控制系统仿真概述,典型的采样控制系统有以下几个部分组成:连续的被控对象或被控过程;离散的数字控制器;采样开
2、关或模数转换器;数模转换器或保持器。,各部分的关系可用图所示的结构来表示。,由图1可以看到,误差信号e(t)经A/D转换后(包括采样和量化)输入给数字控制器,数字控制器进行某种控制规律的运算,运算结果u(kT)经D/A转换加到被控对象上。在采样间隔期间,由保持器保持控制信号u(t) 。一般地,D/A转换器要将计算机第k次的输出值保持一段时间,直到计算机第k+1次计算结果输出给它以后其值才改变一次。因而通常把D/A转换器看成零阶保持器。严格地来讲,A/D转换器、计算机处理、D/A转换器这三者并不是同步并行地工作的,而是一种串行流水的工作方式。通常三者完成各自的任务所花费的时间并非严格相等,但是如
3、果三个时间总和与采样周期相比可以忽略不计时,一般就认为数字控制器对控制信号的处理是瞬时完成的。采样开关是同步进行的。若把三者完成各自的任务所花费的时间考虑进去,等于在系统中增加了一个纯滞后环节。显然DA转换的作用相当于一个零阶的信号重构器。,比较图1所示的采样控制系统与离散相似法所得到的系统,(b)系统离散化模型,不难看到,两者的结构是相近的,在对连续系统进行离散化时,其采样开关是虚拟的,即其采样间隔、采样器所处位置及保持器的类型是用户根据仿真精度和仿真速度的要求加以确定的。通常,在连续系统仿真时,仿真所用的离散化模型中的虚拟采样间隔与仿真步距是一致的,对整个系统来说是唯一的,且是同步的。而采
4、样控制系统的采样周期,采样器所处位置及保持器的类型侧是实际存在的。因此,在对采样控制系统进行仿真时,连续部分离散化模型中的仿真步距可能与实际采样开关的采样周期可能相同,也可能不同。对于给定的采样控制系统,首先必须解决的是:如何来确定仿真步距?,问题1:如何来确定仿真步距?,问题2:连续部分仿真与离散部分仿真的接口问题,对一个连续系统模型来讲,不同的仿真步距得到的离散仿真模型是不同的,其仿真精度也不同。仿真步距的选择与仿真方法的选择是紧密相连的。或者说,为实现一定精度与一定速度的仿真计算,仿真步距与方法的选择必须兼顾考虑。由于采样系统分为离散和连续两部分,从而得到的离散仿真模型也分成两部分。如何
5、处理这两部分模型之间的联系是采样控制系统仿真中的第二个必须解决的问题。,3.7.2 采样周期与仿真步距,图2 采样控制系统方块图,对于图1所示的典型采样控制系统,可用图2所示的方块图来表示。其中 G(s) 为被控对象的传递函数, H(s) 为保持器的传递函数, D(z) 为数字控制器的z传递函数。 Ts 是采样控制系统中实际的采样周期, X(s) 为输入信号, Y(s) 为输出信号。,对图2所示的采样系统进行仿真,仿真步距的选择必须根据被控对象的结构、采样周期的大小、保持器的类型以及仿真精度和仿真速度的要求来综合考虑。一般来说,往往有三种情况:,(1) 采样周期Ts = 仿真步距h;,(2)
6、采样周期Ts 仿真步距h;,(3) 采样周期Ts 仿真步距h。,下面对每一种情况进行讨论。,(1) 采样周期Ts = 仿真步距h;,如果选择仿真步距与采样周期相同,那么在对系统进行仿真时,实际采样开关与虚拟的采样开关在整个系统中均是同步工作的。因此这种仿真与连续仿真完全相同,从而可大大简化仿真模型,缩短仿真程序,提高仿真速度。,如果实际系统中的采样周期Ts比较小,取h= Ts可满足仿真精度的要求时,应该尽可能选择两者相等。 在对系统中连续部分进行离散化时,虚拟采样开关及保持器的数目应尽量少,因为虚拟采样开关及保持器对信号幅度和相位引起畸变和延迟,从而带来误差。因此,在选择h= Ts进行仿真时,
7、一般宜采用只在连续部分入口加采样器和保持器,即将实际系统中的采样器和保持器与虚拟的采样保持器统一起来,而连续部分H(s),G(s)内部不再增加虚拟采样开关和保持器。这样在建立连续部分的差分模型或离散数值积分模型时,应计算,(2) 采样周期Ts 仿真步距h;,这是采样控制系统仿真中最常见的情况一般说来,采样间隔Ts是根据系统频带宽度、实际采样开关硬件的性能和实现数字控制器计算程序的执行时间长短来确定的。由于种种原因(如控制算法比较复杂,数字控制器完成所要求的控制算法需要较长的时间等等),采样间隔Ts比较大,系统中连续部分若按采样间隔选择仿真步距h,将出现较大的误差,因此有必要使,h Ts,系统仿
8、真模型中将会有两种频率的采样开关: 离散部分的采样周期为Ts, 连续部分的仿真步距为h。为了便于仿真程序的实现,一般取Ts=kh ,其中k为正整数。对这一类仿真系统,要分两部分分别进行仿真计算, 对离散部分用采样周期Ts进行仿真, 对连续部分用仿真步距h进行仿真。离散部分每计算一次仿真模型,将其输出按保持器的要求保持,然后对连续部分的仿真模型计算k次,将第k次计算的结果作为连续部分该采样周期的输出。,(3) 采样周期Ts 仿真步距h。,前面已经讨论过,在对数字控制系统进行仿真时,依据仿真的目的不同对仿真步长作了两种考虑:即仿真步距h与数字控制器采样周期Ts相同或仿真步距h小于数字控制器采样周期
9、Ts。在上述两种情况下,数值控制器的仿真模型无需修改。有时候,为了减少计算量,加快仿真进程,希望采用比数字控制器采样周期Ts大于计算步长h进行仿真。这时,需要对数字控制器部分的仿真模型作必要的修改。这是因为当离散部分仿真模型的计算步长与原来的实际采样周期不同时会导致仿真模型与原型二者脉冲传递函数在S平面上的对应着不同的零点、极点和终值,以致于仿真结果与原来的实际情况不符,所以必须修改仿真模型的脉冲传递函数。那么,如何确定在新的采样周期下数字控制器的脉冲传递函数呢?,在控制系统的Z域分析中已经知道,如果两个脉冲传递函数映射到s平面上具有相同的零、极点且具有相同的稳态值,则这两个系统等价。可以根据
10、这一原则来确定在新的采样周期下数字控制器的脉冲传递函数。设原采样系统的脉冲传递函数为D(z) ,其采样周期为Ts。首先将D(z)映射到s平面上,求得D(z)在s平面上相应的零极点。然后按新的采样周期Ts将s平面上的这些零极点再映射到z平面上,求得新的脉冲传递函数D(z) ,最后根据稳态增益相等这一原则确定D(z)的增益因子。这样便实现了仿真模型的等价转换。下面以一个例子来说明数字控制器模型的等价转换。,D(z),s平面,例 设数字控制器的脉冲传递函数为,采样周期为,,现希望用,仿真,试确定数字控制器的新的脉冲传递函数,。,的仿真步距进行,在s平面上的零点和极点分别为,解:,当用,的仿真步距进行
11、仿真时,再将,z平面上,可得z平面上的新零、极点:,映射到,所以,在单位阶跃信号作用下的稳态值为,最后,根据稳态值相等的原则确定k。必须确定是何种输入信号作用下的稳态值且保证稳态值非零。由终值定理,,同样,,在单位阶跃函数作用下的终值为,根据,可得,。因此,,3.7.3 采样系统仿真的方法(解决离散部分与连续部分接口的问题),对采样系统进行仿真时可参考连续系统的离散化方法。 1)首先将系统中的连续部分离散化处理,求得它的离散相似差分方程,或者求取它的脉冲传递函数,然后通过Z逆变换得到离散相似差分方程; 2)而系统中的数字部分本来就已经给出其脉冲传递函数或其差分方程。因而,采样系统仿真同连续系统
12、的离散相似法仿真在思想方法上是类似的,只是在具体处理上略有不同。,下面以数字控制系统为例说明采样系统仿真的一般方法。如果仿真的目的只是为了求得采样时刻的系统输出值,那么可根据系统的闭环脉冲传递函数求出系统的差分方程,然后利用它建立仿真模型,并进行仿真。系统闭环脉冲传递函数的一般形式为,(1),式中,,为系统的输出量,,方程为:,为系统的输入量。其差分,(2),根据式(2)便可求得采样时刻的输出。,另一种方法是分别求出控制器与被控对象的数字仿真模型的差分方程,在每一个响应时刻分别对这两部分进行一次计算,然后对数字控制器的输入信号进行综合,以便得到数字控制器下一时刻的输入。这一方法同前面方法相比,
13、其运算时间稍长,但仿真模型的构成比较容易,程序实现比较简捷。下面以例题说明这一方法。,例:系统如图 所示。该系统采用计算机控制。控制器的脉冲传递函数为:,其中,和,被控制对象为一阶惯性系统。,采用零阶保持器,系统初始状态:,(,)及,1)仿真的目的为求输出量,为已知常数。T,为采样周期。,。,(3),根据给出的系统,控制器的差分方程为:,当连续系统部分的仿真步长h选择为采样周期T时,其脉冲传递函数为:,(4),(5),根据离散相似原理,其中,。相应的差分方程为:,已知误差信号,与输入,及输出,的关系为:,(6),(7),根据初始条件,综合式(4)、(6)、(7)便可求出采样时刻系统的输出值。,(,)及,。,当选取仿真步距h小于采样周期T时(例如选取h= T/N) ,对离散的数字控制器部分每隔一次采样间隔对离散的数字控制器部分每隔一次采样间隔T应计算一次,而对连续系统部分,每隔时间h计算一次,计算N次后,其输出y(n)才能用来与r(n)进行比较以输出给D(z)。在连续部分计算次以内,其输入又保持器的输出提供,而保持器的输入则保持不变。特别是,当采用零阶保持器时,在Nh内保持器输入与输出均保持不变。,