Experimental and operational modal analysis.
pyEMA is no longer develped. The successor of pyEMA is part of SDyPy project.
All pyEMA functionality can be used by installing sdypy:
pip install sdypyand importing the EMA module:
from sdypy import EMAYour existing code can stay exactly the same by only changing the existing import from:
import pyEMAto:
from sdypy import EMA as pyEMAa = pyema.Model(
frf_matrix,
frequency_array,
lower=50,
upper=10000,
pol_order_high=60
)a.get_poles()The stable poles can be determined in two ways:
- Display stability chart
a.select_poles()The stability chart displayes calculated poles and the user can hand-pick the stable ones.
- If the approximate values of natural frequencies are already known, it is not necessary to display the stability chart:
approx_nat_freq = [314, 864]
a.select_closest_poles(approx_nat_freq)After the stable poles are selected, the natural frequencies and damping coefficients can now be accessed:
a.nat_freq # natrual frequencies
a.nat_xi # damping coefficientsThere are two types of reconstruction possible:
- Reconstruction using own poles (the default option):
H, A = a.get_constants(whose_poles='own')where H is reconstructed FRF matrix and A is a matrix of modal constants.
- Reconstruction on c using poles from a:
c = pyema.Model(frf_matrix, frequency_array, lower=50, upper=10000, pol_order_high=60)
H, A = c.get_constants(whose_poles=a)