This is the Website for the Fast Chi-Squared Algorithm, a fast, powerful technique for detecting periodicity. It was developed for analyzing variable stars, but is applicable to many of the other applications where the Fast Fourier Transforms (FFTs) or other periodograms (such as Lomb-Scargle) are currently used.
The Fast Chi-squared technique takes a data set (e.g. the brightness of a star measured at many different times during a series of observations) and finds the periodic function that has the best frequency and shape (to an arbitrary number of harmonics) to fit the data.
Among its advantages are
A more complete description of the algorithm is given in Palmer, D.M., 2009 (ApJ, vol. 695, p496-502 ; arXiv:0901.1913; doi: 10.1088/0004-637X/695/1/496) "A Fast Chi-squared Technique For Period Search of Irregularly Sampled Data."
An implementation of this algorithm can be downloaded as this tarball, which includes source code (released under the GPL), makefiles, and test data. It has been tested under Mac OS X, Linux, and Windows (under Cygwin). The current version is 1.03 as of 2010-08-04, with a modification history given by this changelog.
This software uses the Gnu Scientific Library to implement the FFT and linear algebra components of the algorithm. If you do not have this library and associated header files, they can be installed from source or by using a package manager, e.g.
|Mac OS X||%
|Windows with Cygwin||use setup.exe to install libs->gsl-devel|
Download the tarball
to a destination directory and extract it, which produces a subdirectory named
FastChi2-1.03. Cd to that directory and run
make to compile it.
The complete installation process, described in the
INSTALL file, should look something like this:
After the program has been compiled, the executable, named
runchi2, is in the current directory. It may be executed where it is, or manually moved to a binary directory in your PATH.
To test that the code is working,
make check. This creates a temporary directory
/tmp/fastchi2/ which has the results of running the program on sample data from the Hipparcos spacecraft's observations of variable stars.
To unpack this a bit:
The file testdata/heptest.in contains brightness measurements (roughly 100 samples each) made by Hipparcos for each of 187 stars with known periodic variation. File formats and descriptions of the arguments are
README file. Not all of these stars have valid data or Hipparcos periods listed, for various reasons, but 174 of them do.
runchi2 is run on this input file to search each star for the best third-harmonic fit at frequencies up to 12 cycles/day. The output files are stored in the /tmp/fastchi2 directory.
Comparing the output of the program to the original Hipparcos periods finds that 40% of these stars have their best chi-squared improvement at periods consistent with those in the Hipparcos catalog. A comparable number are found at harmonically related frequencies, for a yield of more than 80%. (The periods listed in the Hipparcos catalog are sometimes derived using additional data beyond that analyzed here.)
Distinguishing the 'true' fundamental frequency from alias frequencies at small integer ratios that have formally better fits requires further analysis informed by an understanding of the physical system involved. For example, an eclipsing binary comprising two similar stars will tend to be better-fit at the 1/2 period alias due to the symmetry of the light curve. See the original paper for more details.
make check run stores its results in the file
/tmp/fastchi2/heptest.periods on your computer. This gives the HIP catalog number, the Hipparcos derived period, the Fast-Chi-squared period, and the ratio of the two. The
Hipparcos website includes a Java applet
light curve plotter
that allows you to plot the Hipparcos Epoch Photometry data
as a function of phase for any period you choose. Comparing light curves at the published period versus the period from the Fast Chi-Squared algorithm will help you understand why the program finds the results it does.
For questions about this website, or about details of this program or algorithm that are not included in the original paper, I may be reached at .