State-of-art routines for period search in unevenly sampled time series. Package contains routines for phase folding and binning, Fourier series fit power spectrum and search of planetary transits, for weighted and unweighted observations.
Calling:
Demo calling example is contained in AovDrv
routine in this file.
Because of numerical considerations times of observations need to be shifted
by subtraction of EPOCH
time so that they span 0. This is not done within
aovper
routines to enable the user use of one value of EPOCH for
independent runs.
All routines come in two flavours: for
weighted and unweighted observations. Their calling sequences are uniform,
though depending on routine some parameters are ignored.
CHAR sptype - determines type of frequency spectrum returned from routine;
for RAW
, AOV
, MODEL
, RESID
the spectrum obeys:
none, F, beta and another beta probability distributions
INT no - number of observations
TIMES t(No) - times of observations
FLOAT v(no) - values of observations
FLOAT w(no) - weights of observations
INT npar - input number of parameters of mathematical model in use;
INT ncov - input number of different phase origins employed to smooth
effects of time discretization
SPEC_T spec - on input contains spectrum array th(no)
and parameters of its
frequency grid nfr
, fr0
, frs
, where freq=ifr*frs+fr0, ifr=0,...,nfr-1
;
on output th
contains resultant frequency spectrum.
Methods:
The Aov package contains routines for period search and
planetary transit search by phase folding and binning of light curves
and/or by multi-harmonic Fourier series fit. For a particular set up
these routines reproduce popular box-least squares and generalised Lomb
Scargle algorithm, ableit in a more efficient implementations involving sub bins
or orthogonal projections.
The period routines split into two groups:
(i) AOV/TR & AOVMH
calculate quadratic norm of a fitted model.
As such their results obey Parceval theorem. Depending on SPTYPE
parameter
the result spectrum may be converted to classical statistics: either aov
(Fisher F) spectrum or the corresponding beta statistics spectra of normalized
'model power' or 'residual chi2' flavour.
(i.A) AOV/TR
: Depending on sign of npar: for npar>0 aov/tr
routine fits
folded light curve with a histogram of npar bins, for npar<0
aov/tr
routine
fits light curve with just two phase bins: in- and out-of suspect transit.
The transit width is fixed by npar while its position is fine-tuned
depending on ncov
. (Reference: A.Schwarzenberg-Czerny, 1989, MNRAS 241, 153;
A.Schwarzenberg-Czerny, & J.-Ph. Beaulieu, 2006, MNRAS 365, 165.
(i.B) AOVMH
fits Fourier series of npar terms by orthogonal projection on
Szego polynomials. Reference: A.Schwarzenberg-Czerny, 1996, ApJ 460L, 107.
In particular for npar=3
AOVMH
returns Generalised
Lomb-Scargle spectrum of Ferraz-Mello, 1981 and Zechmeister & Kurster, 2009.
(ii) The other two routines, PWSP
& PWSPW
, return squared amplitude of a fitted
sinusoid. The underlying algorithms differ from each other even for unary
weights. For uneven sampling the result power spectra obey no Parceval theorem
hence power spectra obey no classical probability distribution. Provided all
input values are 1 PWSP
returns window function (PWSPW
does not).
Several general utility routines are provided:
GRID
, PEAK
and PEAKRM
to set up frequency spectrum and analyse its peaks.
NORM_TIMES
from module AovObs
may be used to subtract EPOCH
from times.
Copyrights:
This package is subject to copyrights by its author,
(C) A. Schwarzenberg-Czerny 1998-2018, alex@camk.edu.pl
Its distribution is free, except that distribution of modifications is
prohibited. Please acknowlege use by citation of papers listed in the
corresponding routines.
AOVDRV driver routine for AovPer
frequency spectrum routines
Purpose: example calling of spectrum routines.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | method | periodogram method |
||
character(len=*), | intent(in) | :: | sptype | type of returned spectrum |
||
real(kind=TIME), | intent(in) | :: | t(:) | times |
||
real(kind=SP), | intent(in) | :: | v(:) | values |
||
real(kind=SP), | intent(in) | :: | w(:) | weights or errors, depending on ERRIN |
||
integer, | intent(in) | :: | npar | number of parameters |
||
integer, | intent(in) | :: | ncov | number of phase coverages |
||
type(SPEC_T) | :: | spec | frequency grid and result spectrum |
status