spkit.PeriodStrength

spkit.PeriodStrength(x, Pmax, method='Ramanujan', lambd=1, L=1, cvxsol=False)

Computing strength of periods

Computing strength of periods

for given signal x, using method and respective loss fun (e.g. l1, l2)

Warning

NOTE: Use regularised_period_estimation instead. That is most updated version. PeriodStrength will be removed in future release.

Parameters:
xone dimentional sequence (signal)
Pmax: largest expected period in the signal
method: type of dictionary used to create transform matrix A

: ‘Ramanujan’, ‘NaturalBasis’, ‘random’ or Farray (DFT)

lambd: for penalty vector, to force towards lower (usually) or higher periods

: if 0, then penalty vector is 1, means no penalization : if >0, then lambd is multiplied to penalty vector

Lregularazation: L=1, minimize ||s||_1, L=2, ||s||_2
cvxsol: bool, wether to use cvxpy solver of matrix decomposition approach

: matrix decomposition approach works only for L=2 : for L=1, use cvxpy as solver

Returns:
period_energy: vecotor shape: (Pmax,): strength of each period
Reference:
[1] S.V. Tenneti and P. P. Vaidyanathan, “Nested Periodic Matrices and Dictionaries:

New Signal Representations for Period Estimation”, IEEE Transactions on Signal Processing, vol.63, no.14, pp.3736-50, July, 2015.

Python impletation is done by using matlab code version from