第3章连续系统的数字仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



由香农定理可知,为使采样后的信号能无失真地再现,采样频率比信号 最高频率要高两倍以上(或采样周期Ts≤0.5Tmin), 且加入的保持器应 有如图3.4所示的频率特性。
3.1.1
零阶保持器

这是一种最常见的保持器,它的脉冲传递函数和频率特 性如图3.5和图3.6所示。
3.1.2


3.3.3 主运行程序块
这个程序块用来求解被仿真系统的差分方程。所选用的 仿真算法不同,得到的差分方程也不同,仿真精度也不一样。 不管怎样,这个程序要忠实于原差分方程,它不能改变原差 分方程的意义,对于初编程序者来说在这方面是很容易出错 的。

从上一节可以看到,系统的仿真模型都是差分方程的形 式。因为差分方程最容易用数字计算机求得数值解。差分方 程的一般形式如式(2-8)所示。如果改变一下符号并写成递 推计算的形式

由图3.3所示的离散结构即可导出连续系统离散后的离 散数学模型,这个模型通常为差分方程的形式。由于这个过 程使得离散系统与连续系统相似,因此可以认为差分方程式 的解序列就是连续系统运动的采样值。这就是离散相似法。 严格地讲,系统输出处的采样开关后面也应加上再现环 节,才能与原系统相似。但是在仿真时,用计算机也只能得 到离散序列的解,所以输出处的再现环节加与不加对于离散 解序列都是一样的。实际上输出处的采样开关加与不加也无 所谓,只要认为离散后的系统与原系统在采样点上的输出值 近似相等就行了。


3.限幅器
限幅器的特性如图3.31所示,其数学表达式为 当u>c时,y=c 当|u|≤c时,y=u 当u<-c时,y=-c 式中:c为常数。



4.不灵敏区
不灵敏区特性如图3.32所示,图中c为常数,其数学表达式为 当u>c时,y=u-c 当|u|≤c时,y=0 当u<-c时,y=u+c

一阶保持器
一阶保持器也称外推器,它的脉冲传递函数和频率特 性如图3.8和图3.9所示。
3.1.3

三角保持器
三角保持器是一种理想保持器,物理上不能实现,数 学上也是不能实现的,除非它所再现的信号为一已知信号。 这一点从下面的定义中可以看出。它的脉冲传递函数曲线和 频率特性曲线如图3.11和图3.12所示。


1.零阶保持器
2.一阶保持器
3.三角保持器 用与上述相同的方法,可以求出加三角 保持器和滞后三角保持器时的系统差分方程。
用各种保持器时的差分方程,详见表3.1。
[例3.1]
己知某控制系统框图如图3.17所 示,求该系统的仿真模型,即差分方程。

如果把采样开关保持器加在系统入口R处, 则得到的离散相似系统框图如图3.19所示。
[例3.3]
设计例3.2所述的控制系统仿真 程序中的主运行程序块。取R为单位阶跃函数, 状态变量初值为零。


从上面的仿真程序设计过程中可以看出, 由于串行计算的原因,三角保持器不是放在 哪里都可以实现的。实际上,不只是三角保 持器,有超前作用的其他保持器或加超前补 偿的零阶、一阶保持器也不是放在哪里都可 以实现的,因为在有超前作用的保持器下, 其差分方程的输入项可能会需要k+1时刻的值。 这样,在系统的反馈支路与主支路求和点后 的第一个环节入口处,不能加有超前作用的 离散-再现环节。

1.继电器 继电器的非线性特性如图3.29所示。图中y0为继电器 常数,它的特性可用如下的数学表主式描述: 当u<0时, y=-y0 当u≥0时, y=y0。


2.有不灵敏区的继电器
具有不灵敏区的继电器特性如图3.30所示,图中yo、c为常数。其 数学表达式为 当u≥c时,y=y0 当|u|<c时,y=0; 当u≤c时,y=-y0

设一线性定常系统为

X AX BU Y CX DU
式中:X为n×1维状态向量;U为r×1维输入向量;A为n×n维状态矩阵; B为n×r维输入矩阵; Y为m×1维输出向量; C为m×n维输出矩阵; D为m×r维传递矩阵。 此系统的方框,如图3.1所示。


此系统的方框,如图3.1所示。





2.显示曲线函数Dispcurve()
该程序可以在显示器上同时显示l~8条响应曲线。横轴 为响应时间,纵轴为响应数值。要求在调用的程序里把需要 输出的变量值存放在数组Output[][]里,其中,第一维下标 表示第几个变量,第二维下标表示该变量的第几个仿真数据。 VN表示要显示变量的个数,LP、DT的意义表示计算步数和采 样周期。
3.2 离散系统差分方程的求取 在上一节中,已经叙述了怎样由一个连续系统 求出它的离散相似系统。有了这个离散相似系统, 就可以求出连续系统的离散化数学模型。离散化数 学模型是用差分方程表示的,它的求解方法如下。 设线性定常系统的状态方程描述如式(3-12)所示。

X (t ) AX (t ) BU (t )
式中A、B均为常数阵。 推导可得:


系统的离散解:
X [(k 1)T ] e X (kT )
AT
( k 1)T
kT
e
A[( k 1)T ]
BU ( )d
(3-23) 在推导上式的过程中未作任何近似的假设,该 式是一种精确的采样值计算公式。但是,当U(τ)是 一个复杂的函数时,该式右端的积分是难以求得的。 由于该积分的积分区间仅为T,当T较小时,一般来 说U(τ)在这个积分区间的变化是不大的。因此,可 以加入采样及再现环节,以使U(τ)在积分区间内为 一个简单的特殊函数,从而使该积分计算容易进行。 通常使用下面三种保持器作为再现环节。
第3章 连续系统的数字仿真— —离散相似法
3.1 连续系统的离散化 3.2 离散系统差分方程的求取 3.3 连续系统数字仿真程序结构 3.4 典型非线性环节的仿真程序设计 3.5 关于采样周期(计算步距)和仿真 时间的选择

第3章
连续系统的数字仿真-离散相似法
控制系统的数字仿真就是控制系统的数学模型 在数字计算机上求解的过程。从前一章可以看到, 控制系统的动态模型一般是用常微分方程、一阶常 微分方程组(状态方程)或传递函数来描述的。因此, 要在数字计算机上进行这类系统的仿真,必须先将 连续模型变换为离散化的模型。这一章主要介绍连 续模型离散化的方法及其差分方程的求取,最后介 绍仿真程序的设计。

对于积分环节,如图3.23所示。
对于惯性环节,如图3.24所示。
3.3
连续系统数字仿真程序设计

前两节讲述了连续系统离散化及其差分 方程的求取。有了系统的差分方程,就可以 在计算机上编制仿真程序了。
随系统性质的不同,对仿真程序要求也 不同,一般的要求是计算速度快、精度高、 使用方便、通用性强等。但这些要求往往是 相互矛盾的,所以具体到某一问题时,应根 据其特性突出某一要求而牺牲另外一些要求。





3.3.2 输出仿真结果程序块
该程序块输出仿真结果,它们可以是状态变量、中间变量、输出变 量的仿真结果。输出的形式总是数据表格或曲线的形式。下面介绍这两 种输出程序的设计方法。
在以后的程序中只写出调用这两个输出仿真结果函数的语句,而不 再列写程序清单。 1.打印数据函数Print Data() 一般要求打印数据函数能打印各变量的仿真数据及各数据对应的时 间。由于仿真点数较多,输出数据量较大,用户不一定需要观察每一步 的数据。因此,往往时隔一定的间隔打印一个数据。 下面的函数可打印1~4个变量(变量个数用VN表示)的仿真数据及其 对应的时间,每隔IN点打印一个数据。并要求在调用的程序里把需输出 的变量值存放在数组Output[][]里,其中第一维下标表示第几个变量, 第二维下标表示该变量的第几个仿真数据。LP、DT的意义表示计算步数 和采样周期。


3.1 连续系统的离散化
连续系统的响应是随时间连续变化的,但是连续系统的解析解无法用数字计 算机求出,只能求出其数值解。也就是说,只能得到连续响应曲线上的有限个点。 为此,必须把连续系统离散化,得到差分方程,再用数字计算机求解。这就是把 微分运算转化为算术运算的过程。下面先讨论线性定常系统的离散过程。

于是得到零阶保持器时的差分方程:
x1 (k 1) e x1 (k ) 2(1 e ) R(k ) x2 (k 1) e
2T
T
T
x2 (k ) (e
2T
1) R(k )
y (k 1) x1 (k 1) x2 (k 1)

由此可见,采样器及保持器的位置不同, 得到的差分方程也不相同。但应注意,无论 离散-再现环节加到哪里,被离散再现的信号 都应是状态方程中的输入量。
从保持器的定义式可以看出,零阶保持 器能无失真地再现阶跃输入信号,即当输入 信号为阶跃函数时,导出的差分方程是精确 的。而三角保持器能无失真地再现斜坡输入 信号。


[例3.2] 求如图3.21所示系统的差分方程。

对于许多控制系统,都可以把系统分解成由积分和惯
性环节组成系统。因此,可以事先求出这两个环节的差分方 程的通用式,以后就不需要每次求解差分方程了。

3.4 典型非线性环节的仿真程序设计
一般工业系统均存在非线性问题。例如,调节仪表的输 出可能存在饱和非线性,执行机构可能存在齿轮间隙非线性, 还有些系统采用非线性调节器。因此,应当考虑非线性系统 的仿真问题。
实际上,前面介绍的按环节离散化的仿真方法,可以很 容易地推广到具有典型非线性环节的非线性系统的仿真。只 要事先编好这些典型非线性环节的仿真子程序,让信号通过 它再输入到线性环节就行了。为了以后编程的方便,下面给 出几种典型非线性环节的仿真子程序。

在实际中有时使用滞后一拍的三角保持 器,它的脉冲传递函数曲线和频率特性曲线 如图3.13和图3.14所示。

经过三角保持器及滞后三角保持器再现 后的函数如图3.15和图3.16所示。



从上面的保持器特性可以看出,实际保持器与理想保持 器的特性总是有差别的,所以要想使保持器引起的失真足够 小,采样频率就要足够高。也就是说,在仿真计算时,为了 使结果准确,计算步距就得足够小。这样势必要增加计算时 间。为了使计算速度较快又不使误差过大,通常在保持器后 加一补偿环节(也可加在保持器前)。保持器再现被采样的连 续信号时,这些信号一般都有相位移,而且再现信号同其被 采样的连续信号相比,都有所衰减。所以通常采用超前装置 进行补偿。例如,当采用零阶保持器再现信号时,再现后的 信号要比被采样的连续信号平均滞后T/2。故应采用超前半 个周期的补偿(即取c=eTs/2)去抵消零阶再现过程引入的滞 后影响。 在仿真中所采用的补偿器的数学表达式形式一般为 C=λerTs (3-11)

在一般情况下,仿真程序由以下几个基 本模块构成: (1)初始化程序块; (2)输入参数程序块; (3)主运行程序块; (4)输出仿真结果程序块。 仿真程序流程图如图3.25所示。下面分 别讨论这三个程序块。


3.3.1 初始化程序块 这个功能块主要是对程序中所用到的变量、数组等进行定义,并赋 以初值。在通用仿真程序里这个程序完成被仿真系统的结构组态。 这个程序块的内容随使用的程序设计语言的不同而不同,没有统一 的格式。本书所有的程序均使用C,matlab和Visual C++6.0作为程序设 计语言。 自20世纪90年代以来,随着多媒体技术和图像技术的蓬勃发展,可 视化技术得到了广泛重视,越来越多的计算机专业人员和非专业人员都 开始研究并应用可视化技术。一般讲,可视化技术包含两个方面的含义: 一是软件开发阶段的可视化,即可视化编程,它使编程工作成为一件轻 松愉快、饶有趣味的工作;二是通过可视化窗口将不改变的参数输入给 计算机。 在通用仿真程序中,可视化输入参数程序块是非常复杂的,该程序 块直接关系到人-机交互的方便性和程序的通用性。一般人们会花很大的 精力来设计输入参数程序块。在后面的章节中将逐步介绍该程序块的设 计方法。
相关文档
最新文档