【现控】系统状态空间表达式

article/2025/9/12 23:59:30

【现控】1 系统状态空间表达式

一、基本概念

状态:状态是变化的,是时域里的一系列变量。它可以数字、曲线或者其他什么更为抽象的东西描述。
状态变量:能够完全描述系统的最小一组变量。可抽象可具体。
状态空间:以状态变量构成的n维状态空间。
状态矢量:状态矢量是状态空间中的一点,由状态变量线性合成。
状态方程:由系统的状态变量构成的一阶微分方程组。
输出方程:在指定系统输出的情况下,该输出与状态变量间的函数关系式。
状态空间表达式:状态方程和输出方程总和起来,构成对一个系统完整的动态描述。
状态空间表达式的系统框图:用于表示系统信号的传递关系,单线箭头表示标量信号,双线箭头表示矢量信号。

有如下所示的单输入单输出系统和多输入多输出系统的状态空间表达式:

表达式中各个矩阵称为如下图所示:

单输入单输出系统和多输入多输出系统的状态框图分别如下所示:

二、状态空间表达式的建立

状态空间表达式可以通过多种途径建立,如根据系统机理建立、系统框图建立、根据输入输出表达式建立等。这里着重讲根据输入输出表达式建立状态空间表达式。

1、输入不含导数项

(1)能控规范形
求解系统状态空间表达式的关键就在于状态变量的选取,对于如上输入不含导数项的情况,状态变量往往选为输出变量的0~n-1阶导数,就可以获得n个一阶微分方程,从而将高阶系统转化为一阶微分方程组,最终使控制系统得到简化。

用向量-矩阵的形式表示时,状态空间方程如下:

这便是能控规范形。

(2)能观测规范形

这便是能观测规范形。

2、输入含有导数项
输入含有导数项的微分方程在不仅求解上复杂,而且在物理实现上也存在麻烦,故希望选取合适的状态变量使得状态方程中不含输入函数的导数项。输入含有导数项的微分方程与传递函数如下:

(1)能控规范形
将传递函数改写为:

选择状态变量为中间变量z的0到n-1阶导数:

结果得到与输入没有导数项的状态方程类似,不同的是输出方程:

最终的到输入含有导数项的能控规范形状态空间表达式为:

(2)能观测规范形

这便是输入含有导数项的能观测规范形状态空间表达式。

3、约旦规范形
除了能控规范形和能观测规范形,也可以把系统矩阵写成约旦形,有时候会特别有用。约旦规范形又可以分为两种情况。

情况1:传递函数所有极点互异。

将传递函数分解为部分分式的形式:

选取状态变量:

则有:

改写成矩阵形式,即可得到极点互异的约当规范形状态空间表达式:

观察表达式可以知道,系统矩阵的中的主对角元素正好是该系统的极点,而且只有主对角元素才有可能是非零的,系统矩阵则变为一个对角阵。对角阵是一种特殊的约旦阵。

情况2:传递函数所有极点非互异(有重根)。

首先依然是将传递函分解为部分分式形式,然后再用留数法确定其系数:

接着选择状态变量(重极点与互异极点分开选):

考虑 x ˙ k ( t ) \dot{x}_k\left( t \right) x˙k(t)的表达式, k = 1 , 2 , . . . , r , r + 1 , . . . , n k=1,2,...,r, r+1,...,n k=1,2,...,r,r+1,...,n
( 1 ) k < r \left( 1 \right) k<r (1)k<r

X k ( s ) = 1 ( s − s 1 ) r − k + 1 U ( s ) = 1 s − s 1 X k + 1 ( s ) X_k\left( s \right) =\frac{1}{\left( s-s_1 \right) ^{r-k+1}}U\left( s \right) =\frac{1}{s-s_1}X_{k+1}\left( s \right) Xk(s)=(ss1)rk+11U(s)=ss11Xk+1(s)

s X k ( s ) = s 1 X k ( s ) + X k + 1 ( s ) sX_k\left( s \right) =s_1X_k\left( s \right) +X_{k+1}\left( s \right) sXk(s)=s1Xk(s)+Xk+1(s)

x ˙ k = s 1 x k + x k + 1 \dot{x}_k=s_1x_k+x_{k+1} x˙k=s1xk+xk+1
( 2 ) k = r \left( 2 \right) k=r (2)k=r
X k ( s ) = 1 s − s 1 U ( s ) X_k\left( s \right) =\frac{1}{s-s_1}U\left( s \right) Xk(s)=ss11U(s)

x ˙ k = s 1 x k + u \dot{x}_k=s_1x_k+u x˙k=s1xk+u
( 3 ) k > r \left( 3 \right) k>r (3)k>r
X k ( s ) = 1 s − s k U ( s ) X_k\left( s \right) =\frac{1}{s-s_k}U\left( s \right) Xk(s)=ssk1U(s)

x ˙ k = s k x k + u \dot{x}_k=s_kx_k+u x˙k=skxk+u

以上三种情况的约旦规范形状态空间表达式可以归纳为:

观察约旦规范形的各个系数矩阵可知:系统矩阵的主对角线由一些约旦块组成,并且其余元素都为0。当所有约旦块均为1阶时,系统矩阵为对角矩阵,也就是系统无重极点,并且主对角线的值也是系统矩阵的特征值。


http://chatgpt.dhexx.cn/article/uejrHoYj.shtml

相关文章

现代控制理论——状态、状态空间、状态空间描述

一、状态&#xff1a; 动态系统的状态粗略地说就是指系统的过去、现在和将来的运动状况。精确地说&#xff0c;状态需要一组必要而充分的数据说明。 对于运动的小车&#xff0c;系统的状态可以为位置和速度&#xff0c;对于电机可以为转速。 二、系统变量 1、状态变量 系统…

现代控制理论(1)——状态空间表达式

文章目录 一、状态变量及状态空间表达式二、状态空间表达式模拟结构图三、状态空间表达式的建立1.由系统框图建立2.由系统的机理建立3.由微分方程或传递函数建立3.1能控标准型3.2能观标准型 四、状态矢量的线性变换1.状态空间表达式变换为约当标准型2.当A为友矩阵时3.系统的并联…

matlab数据类型 —— 逻辑型

matlab系列文章&#xff1a;&#x1f449; 目录 &#x1f448; 文章目录 〇、概述一、逻辑型二、逻辑型创建1. 直接赋值2. 根据表达式创建3. 使用 logical 函数转换 三、逻辑型矩阵1. 创建逻辑型矩阵2. 转化逻辑型矩阵 〇、概述 逻辑型&#xff1a;也就是其它语言中的布尔型&…

matlab数据类型 —— 浮点型

matlab系列文章&#xff1a;&#x1f449; 目录 &#x1f448; 文章目录 〇、概述一、单精度浮点型二、双精度浮点型三、浮点型的最小值与最小值例1. 查看双精度浮点型以及单精度浮点型的最大正值和最小正值 四、浮点型创建例2. 将数据转换成浮点型 四、浮点型参与的运算1. 运…

MATLAB基础—数据类型

一、数据类型 1、整形数据 &#xff08;1&#xff09;有符号整数&#xff08;int&#xff09; ①、int8 —— 8位有符号整数&#xff08;只能取到 -128 — 127&#xff0c;大于127的数&#xff0c;输出结果为127&#xff1b;小于 -128 的数&#xff0c;输出为-128&#xff0…

Matlab里的数据类型

在Matlab里一共有四大类数据类型&#xff1a; 1、数值类型 2、逻辑类型 3、字符和字符串类型 4、结构体类型 这四大类数据类型的存储都是用矩阵来存储的 1、数值类型 数值类型即存储不同种类变量的类型&#xff0c;数值类型有五种&#xff1a;浮点数、整数、复数、Inf、NaN. …

MATLAB数据类型——整数

整数 MATLAB 支持以 1 字节、2 字节、4 字节和 8 字节几种形式存储整数数据。有意识地去使用可容纳您的数据的最小整数类型来存储数据&#xff0c;可以达到节省内存和程序执行时间的目的。 MATLAB具有四个有符号整数类和四个无符号整数类。 有符号类型能够处理负整数以及正整数…

MATLAB数据类型——浮点数

浮点数 MATLAB 以双精度或单精度来表示浮点数&#xff0c;默认数值类型为双精度 双精度浮点&#xff08;double&#xff09;&#xff1a;以 double 形式存储的任何值都需要 64 位 单精度浮点&#xff08;single&#xff09;&#xff1a;以 single 形式存储的任何值都需要 32 位…

MATLAB 数据类型中的结构体类型,及其构造方法

Matlab中的数据类型一共有四大类分别为&#xff1a; 1、数值类型 2、逻辑类型 3、字符和字符串类型 4、结构体类型 关于数据类型&#xff0c;尤其是前三种类型具体可见Matlab里的数据类型已经对其进行了详细的介绍。 而结构体类型中的每个属性&#xff0c;都可以是以上四大类中…

matlab数据类型 —— 整型

matlab系列文章&#xff1a;&#x1f449; 目录 &#x1f448; 文章目录 〇、概述一、有符号整型二、无符号整型三、整型创建例1. 将数据转换成整型 四、整数参与的运算1. 运算中的注意事项例2. 整型参与的数值运算 〇、概述 整型&#xff1a;是指没有小数点及以后数据部分的…

matlab如何改变数据类型,matlab数据类型转换实用案例

之前群友在群里发了一张有关数据类型转换的图片 数据类型转换对于经常使用Matlab的人来说真的是很基础且实用的知识点&#xff0c;but! 相互之间转换关系很复杂不容易记&#xff0c;每次使用的时候都要百度&#xff0c;为了方便大家记住数据类型转换关系&#xff0c;转换图便应…

Matlab 数据类型

数值类型--整数类型 Matlab中的整数类型&#xff0c;不同的整数类型占据的位数不同&#xff0c;实际应用中&#xff0c;应根据实际需求合理选择合适的整数类型。 Matlab中数值默认是以双精度浮点类型存储&#xff0c;在不超出数值范围的情况下&#xff0c;任意两个整数之间可以…

MATLAB数据类型及转换

MATLAB数据类型及转换 MATLAB的主要数据类型有&#xff1a;整型&#xff0c;浮点型&#xff0c;逻辑&#xff0c;字符&#xff0c;日期和时间&#xff0c;结构数组&#xff0c;细胞数组及函数句柄等&#xff0c;其中函数句柄是MATLAB所特有的一种数据类型。 一&#xff1a;整…

MATLAB-数据类型

默认情况下&#xff0c;MATLAB 存储所有数值变量为双精度浮点值。其他数据类型存储文本&#xff0c;整数或单精度值或单个变量中相关数据的组合。 MATLAB不需要任何类型声明或维度语句。当MATLAB遇到新的变量名称时&#xff0c;它将创建变量并分配适当的内存空间。 如果变量已…

MC20E资料

MC20E资料 U创论坛下载-Quectel_射频LAYOUT_应用指导_V2.2.pdf 文件到原文下载&#xff0c;原文出自&#xff1a;https://bbs.usoftchina.com/thread-202777-1-1.html

移远BC26/BC28(略)/MC20开发之环境搭建 一

1.对于常见的移远OPENCPU开发来说&#xff0c;第一步安装GCC编译器 2.第二步&#xff0c;安装一个集成编译环境&#xff0c;常见的是keil编译环境 3.环境的配置(仅 BC28) 4.最后检查环境是否搭建好 BC28,命令如下&#xff1a; MC20/BC26&#xff0c;命令如下 make clean:清除 m…

3.1 使用STC89C52控制MC20拨打电话

需要准备的硬件 MC20开发板 1个https://item.taobao.com/item.htm?id562661881042GSM/GPRS天线 1根https://item.taobao.com/item.htm?id531979567261IPEX接口转SMA接口转接线 1根https://item.taobao.com/item.htm?id531979903836GPS有源天线 1根https://item.taobao.com/i…

1.6 使用电脑测试MC20的读取带中文短信功能

需要准备的硬件 MC20开发板 1个https://item.taobao.com/item.htm?id562661881042GSM/GPRS天线 1根https://item.taobao.com/item.htm?id531979567261IPEX接口转SMA接口转接线 1根https://item.taobao.com/item.htm?id531979903836GPS有源天线 1根https://item.taobao.com/i…

1.4 使用电脑测试MC20的接收英文短信功能

需要准备的硬件 MC20开发板 1个https://item.taobao.com/item.htm?id562661881042GSM/GPRS天线 1根https://item.taobao.com/item.htm?id531979567261IPEX接口转SMA接口转接线 1根https://item.taobao.com/item.htm?id531979903836GPS有源天线 1根https://item.taobao.com/i…