Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALPulsar 7.1.1.1-b246709
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
SimulateTaylorCWTest.c File Reference

Generates a quasiperiodic waveform. More...

Detailed Description

Generates a quasiperiodic waveform.

Author
Creighton, T. D.

Usage

SimulateTaylorCWTest [-s sourcefile] [-r respfile] [-l site earthfile sunfile]
[-o outfile] [-t sec nsec npt dt] [-h hsec hnsec fh]
[-d debuglevel]
int l
static const INT4 r
enum @4 site

Description

This program generates a Taylor-parameterized continuous waveform as a function of time. The following option flags are accepted:

  • [-s] Reads source information from the file sourcefile, whose format is specified below. If absent, it injects a monochromatic wave with intrinsic frequency 100~Hz, strain amplitude 1000, and zero phase at the GPS epoch, arriving from the direction RA=00h00m, dec= \( 0^\circ \) .
  • [-r] Reads a detector response function from the file respfile, whose format is specified below. If absent, it generates raw dimensionless strain.
  • [-l] Sets the detector location and orientation. site must be one of the following character strings: LHO, LLO, VIRGO, GEO600, TAMA300, or CIT40. earthfile and sunfile are ephemeris files of the format expected by LALInitBarycenter(). If the -l option is not specified, a stationary (barycentric) detector aligned with the wave's + polarization is assumed.
  • [-o] Writes the generated time series to the file outfile. If absent, the routines are exercised, but no output is written.
  • [-t] Sets the timing information for the generated waveform: sec and nsec are integers specifying the start time in GPS seconds and nanoseconds, npt is the number of time samples generated, and dt is the sampling interval in seconds. If absent, -t 0 0 65536 9.765625e-4 is assumed.
  • [-h] Performs "ideal heterodyning" (phase subtraction) on the signal: hsec and hnsec are integers specifying an epoch of zero phase subtraction in GPS seconds and nanoseconds, and fh is the frequency of phase subtraction in Hz. If absent, no heterodyning is performed.
  • [-d] Sets the debug level to debuglevel. If absent, level 0 is assumed.
Format for sourcefile:
The source file consists of any number of lines of data, each specifying a continuous waveform. Each line consists of a GPS epoch where the frequency, phase, and Taylor coefficients are defined (INT8 nanoseconds), followed by 7 or more whitespace-delimited REAL8 numbers: the + and \( \times \) wave amplitudes (dimensionless strain) and polarization angle \( \psi \) (degrees), the right ascension and declination (degrees), the initial phase (degrees) and frequency (Hz), followed by zero or more Taylor coefficients \( f_k \) (Hz \( {}^k \) ). Note that the wave amplitudes and polarization angle are read as REAL8, but are later cast to REAL4.
Format for respfile:
The response function \( R(f) \) gives the real and imaginary components of the transformation from ADC output \( o \) to tidal strain \( h \) via \( \tilde{h}(f)=R(f)\tilde{o}(f) \) . It is inverted internally to give the detector transfer function \( T(f)=1/R(f) \) . The format respfile is a header specifying the GPS epoch \( t_0 \) at which the response was taken (INT8 nanoseconds), the lowest frequency \( f_0 \) at which the response is given (REAL8 Hz), and the frequency sampling interval \( \Delta f \) (REAL8 Hz):
# epoch = \( t_0 \)
# f0 = \( f_0 \)
# deltaF = \( \Delta f \)

followed by two columns of REAL4 data giving the real and imaginary components of \( R(f_0+k\Delta f) \) .

Format for outfile:
The ouput files generated by this program consist of a two-line header giving the GPS epoch \( t_0 \) of the first time sample (INT8 nanoseconds) and the sampling interval \( \Delta t \) (REAL8 seconds):
# epoch = \( t_0 \)
# deltaT = \( \Delta t \)

followed by a single column of REAL4 data representing the undigitized output of the interferometer's gravitational-wave channel.

Algorithm

If a sourcefile is specified, this program first reads the epoch field, and then calls LALSReadVector() to read the remaining fields. (If no sourcefile is specified, the parameters are taken from #defined constants.) The arguments are passed to LALGenerateTaylorCW() to generate frequency and phase timeseries. The required sampling resolution for these timeseries is estimated at \( 0.1/\sum_k\sqrt{|kf_0f_kT^{k-1}|} \) , where \( T \) is the duration of the waveform, to ensure that later interpolation of the waveforms will give phases accurate to well within a radian.

The output from LALGenerateTaylorCW() is then passed to LALPulsarSimulateCoherentGW() to generate an output time series. If there are multiple lines in sourcefile, the procedure is repeated and the new waveforms added into the output. A warning is generated if the wave frequency exceeds the Nyquist rate for the output time series.

Definition in file SimulateTaylorCWTest.c.

Go to the source code of this file.

Macros

Error Codes
#define SIMULATETAYLORCWTESTC_ENORM   0
 Normal exit. More...
 
#define SIMULATETAYLORCWTESTC_ESUB   1
 Subroutine failed. More...
 
#define SIMULATETAYLORCWTESTC_EARG   2
 Error parsing arguments. More...
 
#define SIMULATETAYLORCWTESTC_EVAL   3
 Input argument out of valid range. More...
 
#define SIMULATETAYLORCWTESTC_EFILE   4
 Could not open file. More...
 
#define SIMULATETAYLORCWTESTC_EINPUT   5
 Error reading file. More...
 
#define SIMULATETAYLORCWTESTC_EMEM   6
 Out of memory. More...
 
#define SIMULATETAYLORCWTESTC_EPRINT   7
 Wrote past end of message string. More...
 

Macro Definition Documentation

◆ SIMULATETAYLORCWTESTC_ENORM

#define SIMULATETAYLORCWTESTC_ENORM   0

Normal exit.

Definition at line 144 of file SimulateTaylorCWTest.c.

◆ SIMULATETAYLORCWTESTC_ESUB

#define SIMULATETAYLORCWTESTC_ESUB   1

Subroutine failed.

Definition at line 145 of file SimulateTaylorCWTest.c.

◆ SIMULATETAYLORCWTESTC_EARG

#define SIMULATETAYLORCWTESTC_EARG   2

Error parsing arguments.

Definition at line 146 of file SimulateTaylorCWTest.c.

◆ SIMULATETAYLORCWTESTC_EVAL

#define SIMULATETAYLORCWTESTC_EVAL   3

Input argument out of valid range.

Definition at line 147 of file SimulateTaylorCWTest.c.

◆ SIMULATETAYLORCWTESTC_EFILE

#define SIMULATETAYLORCWTESTC_EFILE   4

Could not open file.

Definition at line 148 of file SimulateTaylorCWTest.c.

◆ SIMULATETAYLORCWTESTC_EINPUT

#define SIMULATETAYLORCWTESTC_EINPUT   5

Error reading file.

Definition at line 149 of file SimulateTaylorCWTest.c.

◆ SIMULATETAYLORCWTESTC_EMEM

#define SIMULATETAYLORCWTESTC_EMEM   6

Out of memory.

Definition at line 150 of file SimulateTaylorCWTest.c.

◆ SIMULATETAYLORCWTESTC_EPRINT

#define SIMULATETAYLORCWTESTC_EPRINT   7

Wrote past end of message string.

Definition at line 151 of file SimulateTaylorCWTest.c.