# Eigensystem realization algorithm

The Eigensystem realization algorithm (ERA) is a system identification technique popular in civil engineering, in particular in structural health monitoring. ERA can be used as a modal analysis technique and generates a system realization using the time domain response (multi-)input and (multi-)output data.[1] The ERA was proposed by Juang and Pappa [2] and has been used for system identification of aerospace structures such as the Galileo spacecraft,[3] turbines,[4] civil structures [5][6] and many other type of systems.

## Algorithm

Given pulse response data form the Hankel matrix

$H(k-1) = \begin{bmatrix}Y(k) & Y(k+1) & \cdots & Y(k+p) \\ Y(k+1) & \ddots & & \vdots \\ \vdots & & & \\ Y(k+r) & \cdots & & Y(k+p+r) \end{bmatrix}$

where $Y(k)$ is the $m \times n$ pulse response at time step $k$. Next, perform a singular value decomposition of $H(0)$, i.e. $H(0) = PDQ^T$. Then choose only the rows and columns corresponding to physical modes to form the matrices $D_n, P_n, \text{ and } Q_n$. Then the discrete time system realization can be given by:

$\hat{A} = D_n^{-\frac{1}{2}} P_n^T H(1) Q_n D_n^{-\frac{1}{2}}$
$\hat{B} = D_n^{\frac{1}{2}} Q_n^T E_m$
$\hat{C} = E_n^T P_n D_n^{\frac{1}{2}}$

To generate the system states $\Lambda = \hat{C} \hat{\Phi}$ where $\hat{\Phi}$ is the matrix of eigenvectors for $\hat{A}$.[5]