Skip to content

NOTES

ERA — Eigensystem Realization Algorithm: The Most Accurate OMA Method

Based on NExT (Natural Excitation Technique) + Hankel matrix + SVD + balanced realization. Extracts a state-space model from time-domain response, then identifies modal parameters from it. Highest overall accuracy.

Intuition

What ERA Does

ERA's recipe: 1. NExT: Convert random responses into "free decay"-like signals (cross-correlation) 2. Hankel matrix: Arrange time series into a block matrix—rows = "past", columns = "future" 3. SVD: Decompose this matrix, keep largest singular values → remove noise, keep system dynamics 4. Balanced realization: Reconstruct system matrix \(A\) from SVD results; its eigenvalues are the system's poles

Why ERA Is Most Accurate

  • Large matrix (Hankel 75×50) SVD processes lots of information
  • NExT preprocessing improves SNR
  • Balanced realization ensures numerical stability
  • Jacobi SVD converges fast (~15 sweeps) on embedded platforms

Algorithm

1. NExT: cross-correlation → free-decay-like signals

2. Build Hankel matrices
   ├─ H₀: [p·n_ch × q·n_ch] (default p=15, q=10)
   └─ H₁: shifted by 1 lag

3. SVD: H₀ = U·Σ·Vᵀ
   └─ Select order n (σ[k] > 0.5%·σ[0])

4. Balanced realization
   ├─ A = Σ⁻¹/²·Uᵀ·H₁·V·Σ⁻¹/²
   └─ λ = eig(A) → discrete poles

5. Discrete → continuous modal parameters

When to Use ERA

  • Highest overall accuracy (freq/damping/shapes)
  • Data ≥ 20s (60s recommended)
  • Final confirmation method

Design Deep Dive

1. Hankel Matrix (p,q) Tradeoffs

p,q Hankel size Memory Accuracy Time
(10,5) 50×25 5 KB Fair ~1s
(15,10) 75×50 15 KB Good ~2s
(20,15) 100×75 30 KB Better ~3s
(30,20) 150×100 60 KB Best ~5s (PSRAM)

2. Jacobi SVD Choice

ERA needs full SVD (all SVs/vectors). Jacobi over QR/Householder because: no extra memory allocation, natural rank determination, float-friendly.

3. Balanced Realization

ERA simplifies: truncate Hankel SVD → construct A from H₁. The balancing step (Σ⁻¹/²·Uᵀ·H₁·V·Σ⁻¹/²) is included but the full balanced transform is omitted—ERA assumes the system is already controllable/observable.