A Python package for extracting modal parameters from time-domain response data using the Complex Exponential Algorithm (CEA) and Eigensystem Realization Algorithm (ERA).
This package implements time-domain modal estimation techniques for identifying modal parameters (natural frequencies, damping ratios, and mode shapes) from measured response data. Two primary methods are implemented:
- Complex Exponential Algorithm (CEA) - for free decay response data
- Eigensystem Realization Algorithm (ERA) - for impulse response data
Both methods are derived from equations in classical modal analysis literature.
git clone https://github.com/daleas0120/time_domain_modal_estimation.git
cd time_domain_modal_estimation
pip install -e .pip install -e ".[dev]"import numpy as np
from time_domain_modal_estimation import complex_exponential_algorithm
# Generate synthetic response data
dt = 0.01 # Time step (seconds)
t = np.arange(0, 5, dt)
f = 5.0 # Frequency (Hz)
zeta = 0.03 # Damping ratio
omega_n = 2 * np.pi * f
y = np.exp(-zeta * omega_n * t) * np.cos(omega_n * np.sqrt(1 - zeta**2) * t)
# Apply CEA algorithm
results = complex_exponential_algorithm(
y=y,
dt=dt,
n_modes=1
)
print(f"Estimated frequency: {results['frequencies'][0]:.4f} Hz")
print(f"Estimated damping: {results['damping_ratios'][0]:.4f}")- Python >= 3.8
- NumPy >= 1.20.0
- Matplotlib >= 3.3.0 (for visualization)
If you use this software in your research, please cite it as:
@software{dale2026time_domain_modal_estimation,
author = {Dale, Ashley S.},
title = {Time Domain Modal Estimation},
year = {2026},
url = {https://github.com/daleas0120/time_domain_modal_estimation},
version = {0.1.0}
}A CITATION.cff file is also provided for automatic citation generation on GitHub.
Fahey, S. O'F., & Pratt, J. (1998). Time domain modal estimation techniques. Experimental Techniques, 22(6), 45-49.
Juang, J.-N., & Pappa, R. S. (1985). An eigensystem realization algorithm for modal parameter identification and model reduction. Journal of Guidance, Control, and Dynamics, 8(5), 620-627.
@article{fahey1998time,
title={Time domain modal estimation techniques},
author={Fahey, S O'F and Pratt, J},
journal={Experimental techniques},
volume={22},
number={6},
pages={45--49},
year={1998},
publisher={Springer}
}
@article{juang1985eigensystem,
title={An eigensystem realization algorithm for modal parameter identification and model reduction},
author={Juang, Jer-Nan and Pappa, Richard S},
journal={Journal of guidance, control, and dynamics},
volume={8},
number={5},
pages={620--627},
year={1985}
}
0 comments
log in to comment.