Input data generation
Extract narrow-band time series from Short Fourier Transform databases with extract_band
This program converts Short Fourier Transformation series to time series. Written by Pia Astone (INFN, Physics Department of University of Rome "La Sapienza").
Prerequisites
C compiler & standard C libraries (math.h). Links to the PSS library (created by Pia Astone).
Example
% extract_band < input_file
where input_file is an ASCII file containing the following rows:
- Maximal number of SFT
- The name of the output file
- The list of SFT files
- The frequency band in Hz
- The width of frequency band in Hz
e.g.,
100000 J0034+1612_2010-10-10.out J0034+1612_2010-10-10.list 718.2480 1
Output
% Beginning freq- Band- Samples in one stretch- Subsampling factor- inter (overlapping, 2 if data were overlapped)- Frequency step- Scaling factor- ***The data are real and imag of the FFT % 908.152344 0.250000 256 8192.000000 2 0.0009766 1.000000e-20 % FFT number in the file; Beginning mjd days; Gps s; Gps ns; % 100 55099.5879745370 937922816 0 4.59662571e+02 2.27630825e+01 -3.50387007e+02 -2.20005558e+02 3.57587904e+02 1.01217077e+02 1.74400486e+02 2.62086552e+02 2.21804800e+02 -5.20278366e+02 -3.87826732e+02 -1.55758978e+02
gen2day description
TODO For the implementation see here.
Input data structure
The time series input data is divided into time segments of typically a few days length and consists - for each detector - of the input time series data, the ephemerides and the grid-generating matrix file (defining the parameter space of the search).
A single run requires 2 data files for each detector DD, stored in data_dir/nnn/DD subdirectory, where DD is currently either H1 (Hanford), L1 (Livingston) or V1 (Virgo Cascina):
xdat_nnn_bbbb.bin- time-domain narrow-band data sequence, sampled at half second.nnnis the number of time frame,bbbbis the number of frequency band (see below),DetSSB.bin- location of the detector w.r.t. the Solar System Barycenter (SSB), in Cartesian coordinates, sampled atdtsampling rate (array of size2N),- Last two records in this file are the angle
phir, determining the position of Earth in its diurnal motion, and the obliquity of the eclipticepsm, both calculated for the first sample of the data.
Third file is the sky positions-frequency-spindown grid file in linear coordinates (common for all the detectors), stored in data_dir/nnn in case of the network search (one grid file is used by all the detectors) or in each detector directory separately (in case of single-detector searches):
grid.bin- generator matrix of an optimal grid of templates (defining the parameter space; see here for details).
An example for two LIGO detectors H1 and L1, and data frame segments with pure Gaussian noise 2-day time segments with sampling time equal to 2s for a fiducial narrow band number (xdatc_nnn_1234.bin) coresponding the the band frequency is available here.
A typical directory structure is as follows:
001
├── grid.bin
├── H1
│ ├── DetSSB.bin
│ ├── grid.bin
│ ├── starting_date
│ └── xdatc_001_1234.bin
└── L1
├── DetSSB.bin
├── grid.bin
├── starting_date
└── xdatc_001_1234.bin
Beginning of each time frame is saved in the nnn/DD/starting_date file, e.g.,
% cat 2d_0.25/001/H1/starting_date 1.1260846080e+09
Frames nnn are labelled with three-digit consecutive number. For the O1 data, the bandwidth is 0.25 Hz (). For a given , the reference band frequency fpo is defined as
Neighboring bands overlap by . O1 data in the frequency range contains narrow 0.25 Hz bands. With the sampling time, the total number of data points in time segments of 2 sideral day long is N=86164. For lower frequencies (10-475 Hz, see documents and publications) 6 day length segments are used (N=258492 double-precision numbers).
Gaussian input data (for tests)
The directory search/network/src-cpu contains a standalone gauss-xdat code to generate time series drawn from the Gaussian distribution.
Prerequisites
C compiler and standard libraries (math.h, sys/time.h for gettimeofday). The code depends on the GNU Scientific Library (GSL) random number generation (gsl/gsl_rng.h) and random number distributions (gsl/gsl_randist.h; using the Marsaglia-Tsang ziggurat implementation).
Compilation
% gcc gauss-xdat.c -o gauss-xdat -lm -lgsl -lgslcblas
Example
The program takes input values from the command line:
% ./gauss-xdat N amplitude sigma output-file
e.g.,
% ./gauss-xdat 86164 1 1 ../../../testdata/2d_0.25/001/H1/xdatc_001_1234.bin
The output is a binary file containing N double-precision numbers.