INSTALLING CHIRPLAB AND CHIRPLABDATASTREAM 1. INTRODUCTION The code is split into two packages: ChirpLab and ChirpLabDataStream These packages are collections of Matlab and MEX routines which implement methods for detecting and estimating highly oscillatory signals in noisy data. The methods are described in the Thesis "Nonparametric Detection and Estimation of Highly Oscillatory Signals", by Hannes Helgason. ChirpLabDataStream implements the Two Stage Best Path Test described in chapter 4 of the thesis. Once the archive for that code has been unpacked, check ChirplLabDataStream/README.txt for installation instructions and information about functions. 2. INSTALLATION 2.1 Requirements The software requirements - tar and gunzip to install the package on Unix-based systems, or zip to install the package on Windows. - Matlab version 6 or higher. We have successfully compiled ChirpLab under the following operating systems and compiler versions: - Solaris 9 (SunOS 5.9), cc 5.3 - Fedora Core 4 Linux, gcc 3.3.6 - Mac OS X Compilation on other systems such as Windows should also work just fine. 2.2 Unpacking the archive To install, 1) Download the compressed archives. 2) Uncompress it at the desired location: gunzip -c ChirpLab.tar.gz | tar xfv - and gunzip -c ChirpLabDataStream.tar.gz | tar xfv - or use zip if installing under Windows. This will create a directory tree rooted at ChirpLab/ containing the source code. 3) Enter the ChirpLab directory: cd ChirpLab 4a) Start up MATLAB and run ChirpPath. If the MEX source is not compiled, it will be compiled automatically. 4b) You may prefer to compile the MEX source outside MATLAB. To do so type "make" in the top ChirpLab directory: make If this returns errors make sure that your system fulfills the following requirements: - a C/C++ compiler capable of creating MEX files. - GNU make (compilation will not work using non-GNU versions of make). On Solaris, aliasing "make" to "gmake" will usually work. Some hand editing of the Makefile.include in the top level directory of ChirpLab may be required to set the correct extension for compiled MEX files. 5) Before using ChirpLab, the Matlab paths must be set up. Edit the file ChirpPath.m and change the variable CHIRPLABPATH to the directory where ChirpLab is installed. Note that the directory separator character should be the same as what is normally used on your OS. (Optional) To permanently add the ChirpLab directories to your MATLABPATH, you can add the following commands to your Unix profile For csh-derived shells use: setenv CHIRPLAB setenv MATLABPATH ${MATLABPATH}:${CHIRPLAB}/mex/src/Networks: ${CHIRPLAB}/ChirpletTrans:${CHIRPLAB}/Data:${CHIRPLAB}/Data/ForDemos: ${CHIRPLAB}/Networks:${CHIRPLAB}/Utilities:${CHIRPLAB}/Inspiral For Bourne-shell derived shells use: CHIRPLAB=; export CHIRPLAB MATLABPATH= ${MATLABPATH}:${CHIRPLAB}/mex/src/Networks: ${CHIRPLAB}/ChirpletTrans:${CHIRPLAB}/Data:${CHIRPLAB}/Data/ForDemos: ${CHIRPLAB}/Networks:${CHIRPLAB}/Utilities:${CHIRPLAB}/Inspiral 6) To test that ChirpLab is installed properly, start Matlab, set up the paths using ChirpPath and run the demo script FindBPDemo 3. PACKAGES ChirpletTrans/ -- Functions for the Chirplet Transform. Data/ -- Directory for storing data from simulations. Demos/ -- Some examples of using the code. Documentation/ -- Holds files with documentation for ChirpLab. Networks/ -- Network flow algorithms for finding the minimum cost to time ratio, shortest path and other related things. Utilities/DisplayChirplets.m can be used to plot the paths. Used for chirp detection. BPEstimator/ -- Code for implementing the BP Estimator (see chapter 5 in Thesis). SplineSmoothing/ -- Implementation of a smoothing splines, used in the BP Estimator. Estimation/ -- Implementation of the estimator based on thresholding in the Best Chirplet Frame, a method introduced by Emmanuel Candes and used in the thesis for comparison with the BP Estimator. Inspiral/ -- Functions for generating simulated gravitational wave signals. Utilities/ -- Scripting utilities (for plotting chirplets etc.), code for generating simulated noise and signals. mex/ -- C/C++ implementations of routines, interfaced with Matlab using mex. Brief description of the functions in ChirpLabDataStream can be found in that package in the file ChirpLabDataStream/README.txt