离散形式状态空间方程
{
x
(
(
k
+
1
)
T
)
=
A
x
(
k
T
)
+
B
u
(
k
T
)
y
(
k
t
)
=
C
x
(
k
T
)
{\large\left\{\begin{matrix}x((k+1)T) & = &Ax(kT)+Bu(kT) \\ y(kt)&= &Cx(kT)\end{matrix}\right.}
{x((k+1)T)y(kt)==Ax(kT)+Bu(kT)Cx(kT)
对其进行z变换1,则
{
z
X
(
z
)
−
X
(
0
)
=
A
X
(
z
)
+
B
U
(
z
)
Y
(
z
)
=
C
X
(
z
)
{\large\left\{\begin{matrix}zX(z)-X(0) & = &AX(z)+BU(z) \\ Y(z)&= &CX(z)\end{matrix}\right.}
{zX(z)−X(0)Y(z)==AX(z)+BU(z)CX(z)
假设X(0)=0,则
{
z
X
(
z
)
=
A
X
(
z
)
+
B
U
(
z
)
Y
(
z
)
=
C
X
(
z
)
{\large \left\{\begin{matrix}zX(z)& = &AX(z)+BU(z) \\ Y(z)&= &CX(z)\end{matrix}\right.}
{zX(z)Y(z)==AX(z)+BU(z)CX(z)
从而,
Y
(
z
)
=
C
(
z
I
−
A
)
−
1
⋅
B
U
(
z
)
{\large Y(z)= C(zI-A)^{-1}·BU(z)}
Y(z)=C(zI−A)−1⋅BU(z)
传递函数可以表示为如下形式:
P
(
z
−
1
)
=
[
A
B
C
0
]
=
C
(
z
I
−
A
)
−
1
B
{\large P(z^{-1})= \left[\begin{array}{c|c}A & B \\ \hline C & 0\end{array}\right]=C(zI-A)^{-1}B}
P(z−1)=[ACB0]=C(zI−A)−1B
因为:
(
I
−
A
z
)
∑
i
=
0
∞
(
A
z
)
i
=
∑
i
=
0
∞
(
A
z
)
i
−
∑
i
=
0
∞
(
A
z
)
i
+
1
=
(
A
z
)
0
+
∑
i
=
1
∞
(
A
z
)
i
−
∑
i
=
0
∞
(
A
z
)
i
+
1
=
I
+
∑
i
=
0
∞
(
A
z
)
i
+
1
−
∑
i
=
0
∞
(
A
z
)
i
+
1
=
I
{\large \begin{matrix} (I-\frac{A}{z} )\sum_{ i=0}^{\infty}(\frac{A}{z} )^i & = & \sum_{ i=0}^{\infty}(\frac{A}{z} )^i-\sum_{ i=0}^{\infty}(\frac{A}{z} )^{i+1} \\ & =&(\frac{A}{z} )^0+\sum_{ i=1}^{\infty}(\frac{A}{z} )^{i}-\sum_{ i=0}^{\infty}(\frac{A}{z} )^{i+1}\\&=&I+\sum_{ i=0}^{\infty}(\frac{A}{z} )^{i+1}-\sum_{ i=0}^{\infty}(\frac{A}{z} )^{i+1}\\&=&I\end{matrix}}
(I−zA)∑i=0∞(zA)i====∑i=0∞(zA)i−∑i=0∞(zA)i+1(zA)0+∑i=1∞(zA)i−∑i=0∞(zA)i+1I+∑i=0∞(zA)i+1−∑i=0∞(zA)i+1I
则,
(
I
−
A
z
)
∑
i
=
0
∞
(
A
z
)
i
=
I
(
z
I
−
A
)
∑
i
=
0
∞
(
A
z
)
i
=
z
z
(
z
I
−
A
)
−
1
=
∑
i
=
0
∞
(
A
z
)
i
(
z
I
−
A
)
−
1
=
A
0
z
−
1
+
A
1
z
−
2
+
.
.
.
{\large \begin{matrix} (I-\frac{A}{z} )\sum_{ i=0}^{\infty}(\frac{A}{z} )^i &= & I\\ (zI-A)\sum_{ i=0}^{\infty}(\frac{A}{z} )^i & = &z\\z(zI-A)^{-1}&=& \sum_{ i=0}^{\infty}(\frac{A}{z} )^i\\(zI-A)^{-1}&=&A^0z^{-1}+A^1z^{-2}+...\end{matrix}}
(I−zA)∑i=0∞(zA)i(zI−A)∑i=0∞(zA)iz(zI−A)−1(zI−A)−1====Iz∑i=0∞(zA)iA0z−1+A1z−2+...
从而,
P
(
z
−
1
)
=
C
A
0
B
z
−
1
+
C
A
1
B
z
−
2
+
C
A
2
z
−
3
+
.
.
.
{\large P(z^{-1}) = CA^0Bz^{-1}+CA^1Bz^{-2}+CA^2z^{-3}+...\\}
P(z−1)=CA0Bz−1+CA1Bz−2+CA2z−3+...
假设系统输入脉冲序列
u
(
0
)
=
1
,
u
(
k
T
)
=
0
,
(
k
=
1
,
2
,
3...
)
u(0)=1, u(kT)=0, (k=1,2,3...)
u(0)=1,u(kT)=0,(k=1,2,3...)。系统的脉冲响应序列为
φ
(
k
T
)
,
(
k
=
0
,
1
,
2...
)
\varphi(kT),(k=0,1,2...)
φ(kT),(k=0,1,2...),对
P
(
z
−
1
)
P(z^{-1})
P(z−1)进行逆z变换可得:
φ
(
k
T
)
=
{
0
,
k
=
0
C
A
k
−
1
B
k
=
1
,
2
,
3
,
.
.
.
{\large \varphi (kT)=\left\{\begin{matrix}0, & k=0\\CA^{k-1}B& k=1,2,3,... \end{matrix}\right.}
φ(kT)={0,CAk−1Bk=0k=1,2,3,...
Hankel矩阵
Hankel矩阵可描述为:
H
(
l
,
k
)
=
[
φ
(
k
T
)
φ
(
(
k
+
1
)
T
)
.
.
.
φ
(
(
k
+
l
−
1
)
T
)
φ
(
(
k
+
1
)
T
)
φ
(
(
k
+
2
)
T
)
.
.
.
φ
(
(
k
+
l
)
T
)
.
.
.
.
.
.
.
.
.
.
.
.
φ
(
(
k
+
l
−
1
)
T
)
φ
(
(
k
+
l
)
T
)
.
.
.
φ
(
(
k
+
2
l
−
2
)
T
)
]
{\large H(l,k)=\begin{bmatrix}\varphi (kT) &\varphi ((k+1)T) & ...&\varphi ((k+l-1)T) \\ \varphi ((k+1)T) & \varphi ((k+2)T) & ...&\varphi ((k+l)T) \\ ... &... & ... &... \\ \varphi ((k+l-1)T) & \varphi ((k+l)T) & ... &\varphi ((k+2l-2)T)\end{bmatrix}}
H(l,k)=
φ(kT)φ((k+1)T)...φ((k+l−1)T)φ((k+1)T)φ((k+2)T)...φ((k+l)T)............φ((k+l−1)T)φ((k+l)T)...φ((k+2l−2)T)
则,
H
(
n
,
1
)
=
[
φ
(
T
)
φ
(
2
T
)
.
.
.
φ
(
n
T
)
φ
(
2
T
)
φ
(
3
T
)
.
.
.
φ
(
(
n
+
1
)
T
)
.
.
.
.
.
.
.
.
.
.
.
.
φ
(
n
T
)
φ
(
(
n
+
1
)
T
)
.
.
.
φ
(
(
2
n
−
1
)
T
)
]
{\large H(n,1)=\begin{bmatrix}\varphi (T) &\varphi (2T) & ...&\varphi (nT) \\ \varphi (2T) & \varphi (3T) & ...&\varphi ((n+1)T) \\ ... &... & ... &... \\ \varphi (nT) & \varphi ((n+1)T) & ... &\varphi ((2n-1)T)\end{bmatrix}}
H(n,1)=
φ(T)φ(2T)...φ(nT)φ(2T)φ(3T)...φ((n+1)T)............φ(nT)φ((n+1)T)...φ((2n−1)T)
可观测矩阵定义为:
O
n
=
[
C
C
A
.
.
.
C
A
n
−
1
]
{\large O_n= \begin{bmatrix}C \\CA \\... \\CA^{n-1}\end{bmatrix}}
On=
CCA...CAn−1
可控矩阵定义为:
C
n
=
[
B
A
B
.
.
.
A
n
−
1
B
]
{\large C_n=\begin{bmatrix} B &AB &... &A^{n-1}B\end{bmatrix}}
Cn=[BAB...An−1B]
则,
H
(
n
,
1
)
=
[
φ
(
T
)
φ
(
2
T
)
.
.
.
φ
(
n
T
)
φ
(
2
T
)
φ
(
3
T
)
.
.
.
φ
(
(
n
+
1
)
T
)
.
.
.
.
.
.
.
.
.
.
.
.
φ
(
n
T
)
φ
(
(
n
+
1
)
T
)
.
.
.
φ
(
(
2
n
−
1
)
T
)
]
=
[
C
C
A
.
.
.
C
A
n
−
1
]
[
B
A
B
.
.
.
A
n
−
1
B
]
=
O
n
⋅
C
n
{\large \begin{matrix}H(n,1)&=& \begin{bmatrix}\varphi (T) &\varphi (2T) & ...&\varphi (nT) \\ \varphi (2T) & \varphi (3T) & ...&\varphi ((n+1)T) \\ ... &... & ... &... \\ \varphi (nT) & \varphi ((n+1)T) & ... &\varphi ((2n-1)T)\end{bmatrix} \\ & = & \begin{bmatrix}C \\CA \\... \\CA^{n-1}\end{bmatrix}\begin{bmatrix} B &AB &... &A^{n-1}B\end{bmatrix}\\&=&O_n·C_n\end{matrix}}
H(n,1)===
φ(T)φ(2T)...φ(nT)φ(2T)φ(3T)...φ((n+1)T)............φ(nT)φ((n+1)T)...φ((2n−1)T)
CCA...CAn−1
[BAB...An−1B]On⋅Cn
在系统辨识中,可对Hankel矩阵进行奇异值分解(SVD Singular Value Decomposition)2。
𝑧变换在离散时间系统分析中扮演了类似于连续时间系统中拉普拉斯变换的角色。它能将差分方程(离散时间域)转化为代数方程(𝑧域),从而简化系统分析和设计。 ↩︎
(AI)
一、数据预处理
去除噪声和异常值:
系统辨识中采集到的数据可能会受到噪声和异常值的干扰。通过对数据矩阵进行 SVD,可以将数据分解为奇异值和奇异向量。较小的奇异值通常对应着噪声和异常值的影响,通过截断较小的奇异值,可以去除这些干扰因素,提高数据的质量。
例如,在传感器数据采集过程中,可能会出现由于传感器故障或环境干扰导致的异常值。使用 SVD 可以有效地识别和去除这些异常值,从而提高系统辨识的准确性。
数据降维:
系统辨识中常常需要处理高维数据,但高维数据会增加计算复杂度和存储需求。SVD 可以将高维数据投影到低维空间,同时尽可能保留数据的重要特征。
例如,在处理图像数据时,可以使用 SVD 对图像矩阵进行分解,保留较大的奇异值对应的奇异向量,从而实现图像的压缩和降维。在系统辨识中,对高维的输入输出数据进行降维处理,可以减少计算量,提高辨识算法的效率。
二、模型结构确定
确定模型阶次:
在系统辨识中,确定合适的模型阶次是一个重要问题。SVD 可以通过分析数据矩阵的奇异值分布来确定模型的阶次。一般来说,当奇异值随着阶次的增加而迅速衰减时,可以认为较高的阶次对应的奇异值主要是噪声和干扰的影响,从而确定一个合适的模型阶次。
例如,在辨识线性动态系统时,可以通过对输入输出数据矩阵进行 SVD,观察奇异值的衰减情况来确定系统的阶次。如果奇异值在某个阶次之后迅速减小,那么可以选择这个阶次作为系统的模型阶次。
识别系统的主导特征:
SVD 可以揭示系统数据中的主导特征和潜在结构。通过分析奇异值和奇异向量,可以确定系统的主要动态特性和重要变量。
例如,在复杂系统的辨识中,可能存在多个相互作用的子系统。通过 SVD 可以将系统数据分解为不同的奇异向量,每个奇异向量对应着系统的一个主导特征。通过分析这些主导特征,可以更好地理解系统的行为和结构,从而建立更准确的模型。
三、参数估计
解决病态问题:
在系统辨识中,参数估计常常会遇到病态问题,即数据矩阵的条件数较大,导致参数估计的结果不稳定。SVD 可以通过对数据矩阵进行分解,将参数估计问题转化为求解一组正交基下的线性方程组,从而有效地解决病态问题。
例如,在最小二乘法参数估计中,如果数据矩阵接近奇异,那么参数估计的结果会对数据的微小变化非常敏感。使用 SVD 可以对数据矩阵进行正则化,提高参数估计的稳定性和准确性。
提高参数估计的精度:
SVD 可以提供一种有效的方法来估计系统参数,特别是在数据量有限或噪声较大的情况下。通过对数据矩阵进行分解,可以提取出数据中的主要信息,从而提高参数估计的精度。
例如,在非线性系统辨识中,可以使用 SVD 对输入输出数据进行预处理,然后使用神经网络等方法进行参数估计。SVD 可以帮助去除噪声和异常值,提高数据的质量,从而提高参数估计的精度。 ↩︎