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 sdypy
and importing the EMA
module:
from sdypy import EMA
Your existing code can stay exactly the same by only changing the existing import from:
import pyEMA
to:
from sdypy import EMA as pyEMA
a = 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 coefficients
There 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)