Observer Kalman Filter Identification (OKID)
Structural dynamics are noisy, hard to measure, and lightly damped, and
ERA is intended only to characterize impulse responses rather than time
histories. However, available data from ambient or small excitations
during structure service can be de-noised and used to estimate impulse
response data. Then, ERA can be used to obtain a reduced order model
even if the available data are not a clean impulse response. This
process is called Observer Kalman
Identification, or OKID-ERA when
combined with ERA.
When noise is incorporated into the discrete LTI state-space
representation of a structural system, it becomes a linear Gaussian
model of a hidden Markov process.
Because the data are assumed to follow a linear Gaussian model, Kalman
filtering can estimate an impulse response that is most consistent with
the input-output data. The estimated model after filtering is the same
as that of ERA:
\[\begin{split}\begin{aligned}
\mathbf{x}_{k+1} &= \mathbf{Ax}_{k} + \mathbf{Bu}_{k} \\
\mathbf{y}_{k} &= \mathbf{Cx}_{k} + \mathbf{Du}_{k} \\
\end{aligned}\end{split}\]
Since the input is no longer an impulse, the state-space evolution
includes more terms than ERA.
\[\begin{split}\begin{aligned}
\mathbf{u}_{0},\mathbf{u}_{1},\mathbf{u}_{2},...,\mathbf{u}_{k} :=& \text{given input} \\
\mathbf{x}_{0},\mathbf{x}_{1},\mathbf{x}_{2},...,\mathbf{x}_{k} =& \mathbf{0},(\mathbf{Bu}_{0}),(\mathbf{ABu}_{0}+\mathbf{Bu}_{1}),...,(\mathbf{A}^{k-1}\mathbf{Bu}_{0}+\mathbf{A}^{k-2}\mathbf{Bu}_{1}+...+\mathbf{Bu}_{k-1}) \\
\mathbf{y}_{0},\mathbf{y}_{1},\mathbf{y}_{2},...,\mathbf{y}_{k} =& \mathbf{Du}_0,(\mathbf{CBu}_{0}+\mathbf{Du}_{1}),(\mathbf{CABu}_{0}+\mathbf{CBu}_{1}+\mathbf{Du}_{2}),..., \\
& (\mathbf{CA}^{k-1}\mathbf{Bu}_{0}+\mathbf{CA}^{k-2}\mathbf{Bu}_{1}+...+\mathbf{Du}_{k}).
\end{aligned}\end{split}\]
The output data can be expressed in terms of the Markov parameters and
an upper triangular data matrix \(\mathscr{B}\) built from the
input data; however, inverting \(\mathscr{B}\) is often
computationally expensive or ill-conditioned.
\[\begin{split}\underbrace{\begin{bmatrix} \mathbf{y}_{0} & \mathbf{y}_{1} & \mathbf{y}_{2} & \cdots & \mathbf{y}_{m} \end{bmatrix}}_{\mathbf{S}}
=
\underbrace{\begin{bmatrix} \mathbf{y}_{0} & \mathbf{y}_{1} & \mathbf{y}_{2} & \cdots & \mathbf{y}_{m} \end{bmatrix}_{\delta}}_{\mathbf{S}_{\delta}}
\underbrace{\begin{bmatrix}
\mathbf{u}_{0} & \mathbf{u}_{1} & \cdots & \mathbf{u}_{m} \\
\mathbf{0} & \mathbf{u}_{0} & \cdots & \mathbf{u}_{m-1} \\
\vdots & \vdots & \ddots & \vdots \\
\mathbf{0} & \mathbf{0} & \cdots & \mathbf{u}_{0} \\
\end{bmatrix}}_{\mathscr{B}}\end{split}\]
where the subscript \(\delta\) indicates that the response comes
from an impulse input.
The Kalman filter is applied by augmenting the system with the outputs
\(\mathbf{y}_{i}\) to form the augmented data matrix
\(\mathscr{V}\):
\[\begin{split}\mathscr{V}
=
\begin{bmatrix}
\mathbf{u}_{0} & \mathbf{u}_{1} & \cdots & \mathbf{u}_{l} & \cdots & \mathbf{u}_{m} \\
\mathbf{0} & \mathbf{v}_{0} & \cdots & \mathbf{v}_{l-1} & \cdots & \mathbf{v}_{m-1} \\
\vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\
\mathbf{0} & \mathbf{0} & \cdots & \mathbf{v}_{0} & \cdots & \mathbf{v}_{m-l} \\
\end{bmatrix}, \hspace{1cm}
\mathbf{v}_{i} = \begin{bmatrix} \mathbf{u}_{i} \\ \mathbf{y}_{i} \end{bmatrix}.\end{split}\]
Then, the Markov parameters (i.e., the impulse response) can be
estimated as a function of the input and output data as follows:
\[\hat{\mathbf{S}}_\delta = \mathbf{S}\mathscr{V}^{\dagger}\]
where the superscript \(\dagger\) indicates pseudo-inverse,
Extract the estimated, or observer, Markov parameters from the block
columns of \(\hat{\mathbf{S}}_\delta\):
\[\begin{split}\begin{aligned}
\hat{\mathbf{S}}_{\delta 0} &\in \mathbb{R}^{p\times q} \\
\hat{\mathbf{S}}_{\delta k} &=
\begin{bmatrix} \hat{\mathbf{S}}_{\delta k}^{(1)} & \hat{\mathbf{S}}_{\delta k}^{(2)} \end{bmatrix} , \hspace{0.5cm} k\in[1,2,...] \\
\hat{\mathbf{S}}_{\delta k}^{(1)} &\in\mathbb{R}^{p\times q}, \hspace{0.5cm}
\hat{\mathbf{S}}_{\delta k}^{(2)} \in\mathbb{R}^{p\times p}
\end{aligned}\end{split}\]
Reconstruct the system Markov parameters:
\[\mathbf{y}_{\delta 0} = \hat{\mathbf{S}}_{\delta 0} = \mathbf{D}, \hspace{0.5cm}
\mathbf{y}_{\delta k} = \hat{\mathbf{S}}_{\delta k}^{(1)}
+ \sum_{i=1}^{k}{\hat{\mathbf{S}}_{\delta k}^{(2)}}\mathbf{y}_{\delta (k-i)}.\]