QPipeline code review web page
LinksS5 summary page
S5 technical document
The following list is taken from the Matlab Contents.m file distributed with the Q transform toolbox source code, and contains links to the current version of the code in the CVS repository.
Q Transform Toolbox This toolbox contains the following functions for searching for transient events in gravitational-wave data. The following top level matlab functions and shell scripts are provided QPIPELINE Continuously search for bursts in time series data QSCAN Study multiple channels during an interesting event QEVENT Apply network consistency tests to an interesting event QTUNE Benchmark performance for a variety of simulated signals The following top level matlab function is also provided for reference QEXAMPLE Example application of q transform related functions The following functions comprise the code base for the Q transform. QTILE Find time, frequency, and Q tiling for the Q transform QRESAMPLE Resample time series data at a common sample frequency QCONDITION High pass filter and whiten time series data QSCANCONDITION Modified conditioning function for use by qscan QTRANSFORM Project data onto bases of constant Q windowed sinusoids QCOLLOCATE Coherent Q transform and null sum for collocated detectors QTHRESHOLD Identify statistically significant Q transform tiles QSELECT Identify statistically significant non-overlapping tiles QWRITETRIGGERS Output Q pipeline trigger properties to a file The following functions are provided for visulation of Q transform results QTIMESERIES Display time series data for Q transform analysis QSPECTROGRAM Display time-frequency Q transform spectrograms QEVENTGRAM Display statistically significant time-frequency events The following functions are provided for reading frame data QREADDATA Read multiple channels of data from frame files READFRAMEDATA Extract a single channel of data from frame files LOADFRAMECACHE Load cache of frame file location information FRGETVECT Extract a single channel from a single frame file The following Perl and shell scripts are provided for use with READFRAMEDATA. CREATEFRAMECACHE Create frame cache file for a specified directory CONVERTLALCACHE Convert LAL formated frame cache to READFRAMEDATA format CONVERTLDASCACHE Convert LDAS formated frame cache to READFRAMEDATA format The following shell scripts have been provided for support. QSETUP Sets up the necessary environment for Q transform tools BUILD Compile top level functions into stand alone executables QCONTEXT Query detector status and data quality for use by qscan QUPDATE Update existing qscan reports with new context information QCONFIGURE Automatically generate qscan configuration file The following resource files are provided. QSTYLE Cascading style sheet for html based qscan reports The following functions are provided for one-sided frequency domain data. QFFT One-sided Fourier transform of time domain data QIFFT Inverse Fourier transform one-sided frequency domain data The following signal processing function is provided to support conditioning. SOSFILTFILT Zero phase filtering with second-order sections Modified versions of the following Matlab toolbox functions are also provided. They have been modified to permit compilation. SOSFILT Apply IIR filter specified by second-order sections SOSFILTMEX Apply IIR filter specified by second-order sections ZP2SOS Convert zero-pole-gain model to second-order sections The private subdirectory contains modified copies of numerous figure plotting functions. They have also been modified to permit compilation.
A number of test scripts are currently being developed to support the code review process. The goal is to provide an extensive suite of test tools that can easily be rerun when a new version of the code is released, and also used by others to validate and understand the code. They are therefore being made available in a test subdirectory of the Q transform CVS repository. The tests are based primary on the validation studies presented in Chapter 6 of Shourov Chatterji's thesis.
The script testmismatch.m has been produced to validate the template bank placement algorithm as well as the basic Q transform. It first tiles the signal space then repeatedly applies the Q transform on sinusoidal Gaussian signals with random center time, center frequency, Q, and phase within the the targeted signal space. All of the signals are injected with unity energy and without any detector noise. For every injection, the fractional error in recovering the injected energy is recorded.
This test script was applied to the signal space being used for the first year S5 analysis, which covers a Q range from sqrt(11) to 100, and a frequency range from 48 Hz to a Q dependent upper frequency that extends as close as possible to the Nyquist frequency without encountering aliasing. This space was tiled for a maximum fractional energy loss of 0.2.
The following figures display the resulting cumulative ditsribution of fractional energy loss, and scatter plots of the fractional energy loss as a function of signal center time, center frequency, and Q.
The cumulative distribution indicates that the requested maximum mismatch was never exceeded in ~50000 trials. It also indicates that half of the measurements incur an energy loss of no more than ~5 percent, and 95 percent of the measurements incur an energy loss of no more than ~10 percent.
The observed patterns are due to the discreteness of the template bank and indicate the extent of coverage of individual templates.
The script testrecovery.m tests the accuracy with which the Q transform recovers the signal to noise ratio of sinusoidal Gaussian signals. It repeatedly applies the Q transform to sinusoidal Gaussian signals injected with random center time, center frequency, Q, phase, and signal to noise ratio into stationary white noise. For every injection, the measured signal to noise ratio in the template closest to the injected signal parameters is recorded.
This test script was also applied to the signal space being used for the first year S5 analysis. The following figures display the resulting distribution of measured vs. injected matched filter signal to noise ratio as both a scatter plot and a histogram.
The script testaccuracy.m tests the accuracy with which the Q transform recovers the center time, center frequency, duration, bandwidth, Q, and SNR of sinusoidal Gaussian signals injected with random center time, center frequency, Q, phase, and SNR 10 into stationary white noise. For every injection, the properties of the most significant tile are recorded and along with the injection parameters.
This test script was also applied to the signal space being used for the first year S5 analysis. The following histograms display the relative accuracy with which the Q transform recovers the center time, center frequency, duration, bandwidth, Q, and SNR of these injections.
The script testfalserate.m compares the measured variation in white noise false rate with the predicted white noise false rate as a function of significance threshold, signal space, and maximum mismatch parameter.
This test script was also applied to the signal space being used for the first year S5 analysis, as well as to 3 other choices of signal space and mismatch parameter. The following figures display the measured and predicted white noise false rates for each of these signal spaces as a function of snr threshold. This test script was applied to four different choices of signal space and maximum mismatch parameter. The following figures display the measured and predicted white noise false rates for each of these signal spaces as a function of snr threshold. The top two figures correspond to signal space of the S5 search (sqrt(11) < Q < 100 and 48 < φ < 2048), while the bottom two figures correspond to a more limited signal space (4 < Q < 64 and 64 < φ 1024). The requested maximum mismatch was 10 percent for the lower left figure, 20 percent for the upper left figure, and 30 percent for the two figures on the right.
Other test scripts (for example, a validation of data conditioning on colored noies) are planned and will be reported here as they are developed.
Code reviewersLindy Blackburn (firstname.lastname@example.org)
Isabel Leonor (email@example.com)
Shantanu Desai (firstname.lastname@example.org)
Code maintainersShourov K. Chatterji (email@example.com)
Leo C. Stein (firstname.lastname@example.org)