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 of fk 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] for fk.

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 of datax.

  • dataz (ndarray) – Data of z component. See description of datax.

  • 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.