Generates a quasiperiodic waveform. More...
Generates a quasiperiodic waveform.
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. sourcefile
: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
.respfile
: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) \) .
outfile
: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.
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 #define
d 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... | |
#define SIMULATETAYLORCWTESTC_ENORM 0 |
Normal exit.
Definition at line 144 of file SimulateTaylorCWTest.c.
#define SIMULATETAYLORCWTESTC_ESUB 1 |
Subroutine failed.
Definition at line 145 of file SimulateTaylorCWTest.c.
#define SIMULATETAYLORCWTESTC_EARG 2 |
Error parsing arguments.
Definition at line 146 of file SimulateTaylorCWTest.c.
#define SIMULATETAYLORCWTESTC_EVAL 3 |
Input argument out of valid range.
Definition at line 147 of file SimulateTaylorCWTest.c.
#define SIMULATETAYLORCWTESTC_EFILE 4 |
Could not open file.
Definition at line 148 of file SimulateTaylorCWTest.c.
#define SIMULATETAYLORCWTESTC_EINPUT 5 |
Error reading file.
Definition at line 149 of file SimulateTaylorCWTest.c.
#define SIMULATETAYLORCWTESTC_EMEM 6 |
Out of memory.
Definition at line 150 of file SimulateTaylorCWTest.c.
#define SIMULATETAYLORCWTESTC_EPRINT 7 |
Wrote past end of message string.
Definition at line 151 of file SimulateTaylorCWTest.c.