(完整版)第一章系统仿真的基本概念与方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章控制系统及仿真概述
控制系统的计算机仿真是一门涉及到控制理论、计算数学与计算机技术的综合性新型学科。
这门学科的产生及发展差不多是与计算机的发明及发展同步进行的。
它包含控制系统分析、综合、设计、检验等多方面的计算机处理。
计算机仿真基于计算机的高速而精确的运算,以实现各种功能。
第一节控制系统仿真的基本概念
1.系统:
系统是物质世界中相互制约又相互联系着的、以期实现某种目的的一个运动整体,这个整体叫做系统。
“系统”是一个很大的概念,通常研究的系统有工程系统和非工程系统。
工程系统有:电力拖动自动控制系统、机械系统、水力、冶金、化工、热力学系统等。
非工程系统:宇宙、自然界、人类社会、经济系统、交通系统、管理系统、生态系统、人口系统等。
2.模型:
模型是对所要研究的系统在某些特定方面的抽象。
通过模型对原型系统进行研究,将具有更深刻、更集中的特点。
模型分为物理模型和数学模型两种。
数学模型可分为机理模型、统计模型与混合模型。
3.系统仿真:
系统仿真,就是通过对系统模型的实验,研究一个存在的或设计中的系统。
更多的情况是指以系统数学模型为基础,以计算机为工具对系统进行实验研究的一种方法。
要对系统进行研究,首先要建立系统的数学模型。
对于一个简单的数学模型,可以采用分析法或数学解析法进行研究,但对于复杂的系统,则需要借助于仿真的方法来研究。
那么,什么是系统仿真呢?顾名思义,系统仿真就是模仿真实的事物,也就是用一个模型(包括物理模型和数学模型)来模仿真实的系统,对其进行实验研究。
用物理模型来进行仿真一般称为物理仿真,它主要是应用几何相似及环境条件相似来进行。
而由数学模型在计算机上进行实验研究的仿真一般则称为数字仿真。
我们这里讲的是后一种仿真。
数字仿真是指把系统的数学模型转化为仿真模型,并编成程序在计算机上投入运行、实验的全过程。
通常把在计算机上进行的仿真实验称为数字仿真,又称计算机仿真。
计算机仿真包括三个基本要素:系统、模型与计算机。
它们之间的关系如下:
数学模型建立:实际上是一个模型辩识的过程。
所建模型常常是忽略了一些次要因素的简化模型。
仿真模型建立:即是设计一种算法,以使系统模型能被计算机接受并能在计算机上运行。
显然,由于在算法设计上存在着误差,所以仿真模型对于实际系统将是一
个二次简化模型。
仿真实验:即是对模型的运算。
需要设计一个合理的、服务于系统研究的仿真软件。
系统仿真技术实质上就是建立仿真模型并进行仿真实验的技术。
4.系统仿真的基本过程:
(1)建立系统的数学模型;
(2)转换成仿真模型;
(3)编写仿真程序;
(4)对仿真模型进行修改校验,看与实际系统是否一致,确认模型的正确性;(5)运行仿真程序,在不同的初始条件和参数下,对系统进行反复分析和研究。
第二节系统仿真的目的和分类
一.系统仿真的目的及其作用:
1.优化设计:在复杂系统建立之前能够预测系统性能和参数,使设计的控制系统达到最优指标。
2.经济性:直接在实物上实验成本昂贵。
如发射人造卫星等。
3.安全性:某些系统如果直接实验往往是很危险的,也是不允许的。
如核电站。
4.预测性:对于经济、社会、生物等非工程系统,直接实验几乎是不可能的,仿真可预测系统的特性和外作用的影响,从而研究控制的策略。
二、分类:
系统仿真根据所研究对象的模型特征、要求与目标等不同,可分为以下几大类:
1.按系统的模型特征分:
(1)连续系统仿真:
当系统的数学模型是由微分方程(或差分方程)描述时,该系统的仿真过程称连续系统仿真。
仿真方法主要是微分方程的数值求解方法。
(2)离散事件系统仿真:
当系统的数学模型是由随机事件、随机函数来描述时,该系统仿真的过程一般称为离散事件系统仿真。
其仿真方法主要建立在概率论的基础之上。
(3)混合系统仿真:
当系统的数学模型是由上述两类模型混合构成时,称为混合系统仿真。
其仿真方法是将上述两类方法综合于一体。
(4)系统动力学仿真:
当对象的数学模型是用系统动力学方程式来描述时,该系统的仿真称为系统动力学仿真。
它实际上应归属于连续系统仿真,但因它的模型建立方法自成体系,因此常将它单独划分。
2.按计算机类型分:
(1)模拟计算机仿真:
模拟仿真是基于数学模型相似原理的一种方法。
模拟计算机由一些基本的模拟运算部件组成,这些运算部件有:积分器、加法器、系数器、函数发生器、乘法器等。
模拟计算机是并行运算的,运算速度快,但精度不高,由于它可以实现传递函数为1/s 的积分运算,可以方便地求解微分方程。
以飞机自动驾驶系统为例,系统框图如下:
d φ0φ
其数学模型可以表示为:(方块图形式)
d φ0φ
该系统的开环传递函数:
1
(
)
(
(
)
(
)
(
s
a
s
a
s
b
K
s
G
k
⋅
+
⋅
⋅
=
括号中的每一项都可以用模拟运算部件来构成,系统结构图如下:
放大器
上述系统一般是不稳定的,为改善品质,还需加入校正环节,这在模型上是很容易实现的。
从上面的例题可以看出模拟机仿真是一种相似仿真技术。
(2)数字计算机仿真:
数字计算机仿真是基于数值计算原理的仿真,它的主要工具是:数字计算机和相应的数字仿真软件。
应用数字计算机仿真的首要步骤是必须把数学模型离散化,因为数字计算机本身就是一个离散系统。
连续系统数学模型离散化的方法很多,如:欧拉法、龙格库塔法、阿达姆斯法以及状态转移法等。
不同的方法,仿真模型的形式和精度不一样,若步长选择不当时,还会导致系统不稳定。
(3)模拟-数字计算机混合仿真:
是将前两种方式相结合的一种方法。
由模拟计算机、数字计算机以及用于信息转换及传输的中间界面所组成。
如下图:
模拟-数字计算机混合仿真系统比较复杂,主要用于:
1)当系统仿真的精度和响应速度在两种计算机中的任何一种难以达到时,可采用模拟-数字计算机混合仿真。
2)若所研究系统本身就是包含连续系统又包含离散系统时,则采用该方式十分方便。
第三节系统仿真软件的发展
系统仿真软件是一类面向仿真用途的计算机应用软件,其功能一般是:
1.源语言的规范与处理;
2.仿真的执行控制;
3.数据的分析与显示;
4.模型、程序、数据、图形的存储与检索。
系统仿真技术是从50年代计算机诞生开始的。
近三十年来,随着计算机技术的飞速发展,出现了许多优秀的计算机应用软件,还有专用的仿真语言。
软件的发展大致可分为下面几个阶段:
一、软件包阶段:
一般由Basic语言或Fortran语言编成某类仿真的软件包。
仿真的早期工作集中在软件包的编写上。
但用软件包的形式来编写程序,使用很不方便,如:调用过程烦琐,执行过程过多,不利于数据传递,且维数指定困难。
二、交互式语言阶段:
60年代---70年代出现了一些专用的仿真语言,如CSSL(Continuous Systems Simulation Language)连续系统仿真语言,GPSS(General Purpose Systems Simulation)离散事件系统仿真语言以及ACSL(高级连续仿真语言)等。
虽然有了人机交互,但应用起来仍不是十分方便,必须有严格的格式,否则会出现意想不到的错误。
三、面向对象的程序环境阶段:
70年代末,80年代初出现了很多实用的具有良好人机交互功能的软件,MATLAB就是一个成功的范例。
该软件的一个显著的特点就是使用方便、集成度高,由简单的几条命令,就可以实现以前FORTRAN类语言的成百上千条语句的功能,且结果稳定可靠。
MATLAB是集可靠的数值运算、图像与图形处理,高水平的图形界面设计,以及各种实用工具箱于一身,还提供了与C语言、FORTRAN语言等的接口,成为目前国际上最流行的仿真软件。
在以前的仿真教材中,大部分都采用Basic语言或Fortran语言,少数有用C语言的,但都是介绍的最低层的计算机仿真程序设计的方法和技巧,难以使学生对整个仿真方法有一个全面的了解。
那种编程方式在效率上是相当低的,当前国际上流行的MATLAB仿真软件,可以大大提高仿真算法研究与实际应用的效率,提高仿真的可靠性。
本课程主要讲授MATLAB在控制系统仿真与辅助设计中的应用。
主要内容有以下几个部分:
1.MATLAB语言基础与程序设计;
2.MATLAB的绘图功能;
3.MATLAB在控制系统仿真及辅助设计中的应用;
4.SIMULINK的使用与仿真;
5.MATLAB工具箱简介。