How can I determine $A, B, C, D, K$ from subspace? System identification

90 Views Asked by At

Assume that we want to find this model:

$$x(k+1) = Ax(k) + Bu(k) + Ke(k)\\ y(k) = Cx(k) + Du(k)$$

And we want to set it up in this problem form:

$$ \begin{bmatrix} x(1) & x(2) & x(3) & \dots & x(n+1)\\ y(0) & y(1) & y(2) & \dots &y(n) \end{bmatrix} $$

$$ = \begin{bmatrix} A & B &K \\ C & D & 0 \end{bmatrix} $$

$$ \begin{bmatrix} x(0) & x(1) & x(2) & \dots & x(n)\\ u(0) & u(1) & u(2) & \dots &u(n)\\ e(0) & e(1) & e(2) & \dots & e(n)\\ \end{bmatrix} $$

What we know:

We know the dimensions of $A, B, C, D, K$ and the length $n$ and we know the dimensions of $x(k), u(k), y(k), e(k)$. We also have $u(k), y(k), e(k)$ as our data. They are fully known.

What we don't know:

We don't know the values of $A, B, C, D, K, x(k)$

What we want to know:

We want to know the values of $A, B, C, D, K$

Question:

How can we find $A, B, C, D, K$ if we only know the dimensions of all matrices and vectors and the values of the data vectors $u(k), y(k), e(k)$?

1

There are 1 best solutions below

0
On BEST ANSWER

To the best of my knowledge, there are two different ways to perform system identification with state space systems:

  1. The Expectation-Maximization algorithm (EM), which is an iterative method to find (local) maximum likelihood or maximum a posteriori (MAP) estimates of parameters in statistical models, where the model depends on unobserved latent variables (cf here).
  2. The subspace method, in which observations are stacked as a Hankel matrix and decomposed using singular value decomposition to read out the matrices of the system.

Both methods are reviewed in the BRML textbook (Chapter 24.5.3) accessible online.