obspy.signal.polarization.eigval
- eigval(datax, datay, dataz, fk, normf=1.0)[source]
Polarization attributes of a signal.
Computes the rectilinearity, the planarity and the eigenvalues of the given data which can be windowed or not. The time derivatives are calculated by central differences and the parameter
fk
describes the coefficients of the used polynomial. The values offk
depend on the order of the derivative you want to calculate. If you do not want to use derivatives you can simply use [1, 1, 1, 1, 1] forfk
.The algorithm is mainly based on the paper by [Jurkevics1988]. The rest is just the numerical differentiation by central differences (carried out by the routine
scipy.signal.lfilter()
(data, 1, fk)).- Parameters:
datax (
ndarray
) – Data of x component. Note this is most useful with windowed data, represented by a 2 dimensional array. First dimension is the window number, second dimension is the data.datay (
ndarray
) – Data of y component. See description ofdatax
.dataz (
ndarray
) – Data of z component. See description ofdatax
.fk (list) – Coefficients of polynomial used to calculate the time derivatives.
normf (float) – Factor for normalization.
- Returns:
leigenv1, leigenv2, leigenv3, rect, plan, dleigenv, drect, dplan - Smallest eigenvalue, Intermediate eigenvalue, Largest eigenvalue, Rectilinearity, Planarity, Time derivative of eigenvalues, time derivative of rectilinearity, Time derivative of planarity.