cupyx.scipy.signal.lombscargle#

cupyx.scipy.signal.lombscargle(x, y, freqs)[source]#

Computes the Lomb-Scargle periodogram.

The Lomb-Scargle periodogram was developed by Lomb [1] and further extended by Scargle [2] to find, and test the significance of weak periodic signals with uneven temporal sampling.

When normalize is False (default) the computed periodogram is unnormalized, it takes the value (A**2) * N/4 for a harmonic signal with amplitude A for sufficiently large N.

When normalize is True the computed periodogram is normalized by the residuals of the data around a constant reference model (at zero).

Input arrays should be one-dimensional and will be cast to float64.

Parameters:
  • x (array_like) – Sample times.

  • y (array_like) – Measurement values.

  • freqs (array_like) – Angular frequencies for output periodogram.

  • precenter (bool, optional) – Pre-center amplitudes by subtracting the mean.

  • normalize (bool, optional) – Compute normalized periodogram.

Returns:

pgram – Lomb-Scargle periodogram.

Return type:

array_like

Raises:

ValueError – If the input arrays x and y do not have the same shape.

Notes

This subroutine calculates the periodogram using a slightly modified algorithm due to Townsend [3] which allows the periodogram to be calculated using only a single pass through the input arrays for each frequency. The algorithm running time scales roughly as O(x * freqs) or O(N^2) for a large number of samples and frequencies.

References

See also

istft

Inverse Short Time Fourier Transform

check_COLA

Check whether the Constant OverLap Add (COLA) constraint is met

welch

Power spectral density by Welch’s method

spectrogram

Spectrogram by Welch’s method

csd

Cross spectral density by Welch’s method