image thumbnail

Lomb (Lomb-Scargle) Periodogram

version (2.11 KB) by Dmitry Savransky
Computes the Lomb normalized periodogram (spectral power as a function of frequency).


Updated 22 May 2008

View License

LOMB(T,H,OFAC,HIFAC) computes the Lomb normalized periodogram (spectral
power as a function of frequency) of a sequence of N data points H,
sampled at times T, which are not necessarily evenly spaced. T and H must
be vectors of equal size. The routine will calculate the spectral power
for an increasing sequence of frequencies (in reciprocal units of the
time array T) up to HIFAC times the average Nyquist frequency, with an
oversampling factor of OFAC (typically >= 4).

The returned values are arrays of frequencies considered (f), the
associated spectral power (P) and estimated significance of the power
values (prob). Note: the significance returned is the false alarm
probability of the null hypothesis, i.e. that the data is composed of
independent gaussian random variables. Low probability values indicate a
high degree of significance in the associated periodic signal.

Although this implementation is based on that described in Press,
Teukolsky, et al. Numerical Recipes In C, section 13.8, rather than using
trigonometric rercurrences, this takes advantage of MATALB's array
operators to calculate the exact spectral power as defined in equation
13.8.4 on page 577. This may cause memory issues for large data sets and
frequency ranges.

[f,P,prob] = lomb(t,h,4,1);
[Pmax,jmax] = max(P)
disp(['Most significant period is',num2str(1/f(jmax)),' with FAP of ',num2str(prob(jmax))])

Cite As

Dmitry Savransky (2021). Lomb (Lomb-Scargle) Periodogram (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP1
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!