主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

什么是状态空间模型?

状态空间模型的定义

状态空间模型使用状态变量通过一组一阶微分方程或差分方程(而非一个或多个 n 阶微分方程或差分方程)来描述系统。如果一阶差分方程组对于状态和输入变量是线性的,则该模型称为线性状态空间模型。

注意

一般来说,System Identification Toolbox™ 文档将线性状态空间模型简单地称为状态空间模型。您还可以使用灰盒和神经状态空间对象辨识非线性状态空间模型。有关更多信息,请参阅Available Nonlinear Models

线性状态空间模型结构是快速估计的理想选择,因为它只需要您指定一个参数,即模型阶数,即 n模型阶数是一个等于 x(t) 维数的整数,并且与相应差分方程中使用的延迟输入和输出数目有关,但不一定等于该数量。状态变量 x(t) 可以根据测量的输入-输出数目据重建,但它们本身在试验期间无法测量。

连续时间表示

在连续时间中定义参数化的状态空间模型通常更容易,因为物理定律通常用方程来描述。在连续时间中,线性状态空间描述具有以下形式:

x˙(t)=Fx(t)+Gu(t)+K˜w(t)y(t)=Hx(t)+Du(t)+w(t)x(0)=x0

矩阵 FGHD 包含具有物理意义的元素,例如材料常数。x0 指定初始状态。

注意

K˜ = 0 给出输出-误差模型的状态空间表示。有关详细信息,请参阅What Are Polynomial Models?

您可以使用时域和频域数据来估计连续时间状态空间模型。

离散时间表示

离散时间线性状态空间模型结构通常以描述噪声的创新形式来写:

x(kT+T)=Ax(kT)+Bu(kT)+Ke(kT)y(kT)=Cx(kT)+Du(kT)+e(kT)x(0)=x0

其中 T 是采样时间,u(kT) 是时刻 kT 的输入,y(kT) 是时刻 kT 的输出。

注意

K=0 给出输出-误差模型的状态空间表示。有关输出-误差模型的详细信息,请参阅What Are Polynomial Models?

离散时间状态空间模型提供与线性 ARMAX 模型相同类型的输入和输出之间的线性差异关系,但经过重新排列,使得表达式中只有一个延迟。

您不能使用连续时间频域数据来估计离散时间状态空间模型。

创新形式使用单一噪声源 e(kT),而不是独立的过程和测量噪声。如果您对过程和测量噪声有先验知识,则可以使用线性灰盒估计来辨识具有结构化独立噪声源的状态空间模型。有关详细信息,请参阅Identifying State-Space Models with Separate Process and Measurement Noise Descriptions

连续时间状态矩阵与离散时间状态矩阵之间的关系

对于分段常数输入,离散状态空间矩阵 ABCDK 与连续时间状态空间矩阵 FGHDK˜ 之间的关系如下:

A=eFTB=0TeFτGdτC=H

这些关系假设输入在时间间隔 kTt<(k+1)T 内是分段常数。

KK˜ 之间的确切关系很复杂。然而,对于短采样时间 T,以下近似值效果很好:

K=0TeFτK˜dτ

传递函数的状态空间表示

对于线性模型,一般模型描述如下:

y=Gu+He

G 是一个传递函数,将输入 u 转换为输出 yH 是一个描述加性输出噪声模型属性的传递函数。

传递函数和离散时间状态空间矩阵之间的关系由以下方程给出:

G(q)=C(qInxA)1B+DH(q)=C(qInxA)1K+Iny

这里,Inxnx×nx 的单位矩阵,nx 是状态数。Inyny×ny 的单位矩阵,nyye 的维度。

连续时间情况下的状态空间表示类似。

另请参阅

主题