微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 控制系统的数学模型

控制系统的数学模型

时间:03-17 来源:互联网 点击:

-A1 状态空间模型的概念说明

已知系统

其状态方程可以用下列方程描述:

(2-25)

由上式可知,如果已知uc(t)和i(t)的初始值,以及在t3t0时的外加输入信号,就能够完全唯一地确定在t3t0时的任何时间的系统状态。状态方程也可以写成矩阵方程的形式。例如:

(2-26)

通常,用x表示状态矢量,用x1,x2,... 表示其分量。对于上式,如令

式(2-26)又可写为

(2-27)

此处其输出方程为

(2-28)

此处

需要指出的是,从理论上讲,描述系统状态的状态变量的选择不是唯一的,可以有无穷多个解。

2.7.2 线性定常控制系统的状态方程描述

本教材研究对象主要为线性定常系统,这里简单介绍一下线性定常系统的状态方程:

1. 单输入单输出线性定常系统状态方程

(2-29)

式中y为输出量,x为输入量,a1、a2、...、an和bn为常系数。

当令

此时,可将式(2-29)改写为n个一阶微分方程,即

或用矩阵方程表示:

上式可简写为

式中

系统的输出方程为

2. 多变量线性定常系统状态方程

推广到多变量线性定常系统的一般情况,此时的系统传递函数可表示为:

式中 i=1,2,...,n;j=1,2,...,m。可用矩阵方程表示为:

此处


2.7.3线性定常系统状态空间表达式的结构图和信号流图

系统的状态方程和输出方程也可以用结构图的方式表达出来,它形象地说明了系统输入、输出和系统状态之间的信息传递关系。在采用模拟计算机对系统仿真时,它更是一个得力的工具。图2- 16所示为n维线性定常系统的结构图。


图2-16 n维线性定常系统的结构图

同样,也可以画出n维线性定常系统的信号流图(见图2-17所示)。


图2-17 n维线性系统的信号流图


2.7.3线性定常系统状态空间表达式的结构图和信号流图

下面仔细分析一下单输入单输出系统的传递函数与状态空间之间的关系:
设所要研究系统的传递函数为:

该系统在状态空间中可以用下列方程表示:

(2-30)

(2-31)

式中X为状态向量,u为输入量,y为输出量。则当满足零初始条件时,式(2-30)及(2-31)的拉普拉斯变换为:

用(sI-A)-1左乘式(2-32)等号两边,得到:
X(s)=(sI-A)-1BU(s) (2-34)
把方程(2-34)代入(2-33),得到

(2-35)

由方程(3-35)可以看出

这就是以A、B、C和D的形式表示的传递函数。应该指出,传递函数矩阵具有不变性,亦即,对状态方程进行线性变换后,其对应的传递函数矩阵应该不变,从而保证了所描述系统的输入-输出特性不变。

数学模型的MATLAB描述

控制系统常用的数学模型有三种:传递函数、零极点增益和状态空间。每种模型均有连续/离散之分,它们各有特点,有时需在各种模型之间进行转换。本节主要介绍它们的MATLAB表示及三种模型之间的相互转换。

2.8.1连续系统数学模型的MATLAB表示

1. 传递函数模型

当:

则在MATLAB中,直接用分子/分母的系数表示,即
num=[b0,b1,…,bm];
den = [a0,a1,…,an];

例2-7 用MATLAB表示传递函数为 的系统。


解:在MATLAB环境下输入
ng=[1 1]; dg=[1 3 2];
printsys(ng,dg) %此处printsys命令是传递函数显示命令。


则执行后得到如下结果:

2. 零极点增益模型

当:

则在MATLAB中,用[z,p,k]矢量组表示,即
z=[z0,z1,…,zm];
p=[p0,p1,…,pn];
k=[k];

例2-8 用MATLAB表示传递函数为 的系统。


解:在MATLAB环境下输入
z=-1; p=[0 -1 -2]; k=1.5;
[num,den]=zp2tf[z,p,k];
printsys(num,den) %此处printsys命令是传递函数显示命令。
则执行后得到如下结果:

3. 状态空间模型

当:

则在MATLAB中,该控制系统可用(a,b,c,d)矩阵组表示。

4. 传递函数的部分分式展开

当:

在MATLAB中直接用分子/分母的系数表示时有
num=[b0,b1,…,bm];
den = [a0,a1,…,an];
则命令
[r,p,k] = residue(num,den)
将求出两个多项式Y(s)和X(s)之比的部分分式展开的留数、极点和直接项。Y(s)/X(s)的部分分式展开由下式给出:

例2-A2 考虑下列传递函数:

命令 [r,p,k] = residue(num,den)
将给出下列结果:

[r,p,k]=residue(num,den)
r=
-6.000
-4.000
3.000
p=
-3.000
-2.000
-1.000
k=
2

留数为列向量r,极点位置为列向量p,直接项是行向量k。以下是Y(s)/X(s)的部分分式展开的MATLAB表达形式:

命令
[num,den] = residue(r,p,k)


执行后得到如下结果:

[num,den]=residue(r,p,k)
num=
2.0000 5.0000 3.0000 6.0000
den=
1.0000 6.0000 11.0000 6.0000



2.8.2离散系统数学模型的MATLAB表示

1. 传递函数模型:

2. 零极点增益模型:

3. 状态空间模型:

2.8.3模型之间的转换

同一个控制系统都可用上述三种不同的模型表示,为分析系统的特性,有必要在三种模型之间进行转换。MATLAB的信号处理和控制系统工具

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top