LAL  7.5.0.1-08ee4f4

Detailed Description

Header file for model noise generation codes.

Author
Sathyaprakash, B.S.

Synopsis

#include <lal/LALNoiseModels.h>

This header file covers routines that are used in synthetic background noise expected in various detectors and signals with random parameters in background noise.

Prototypes

void LALAddVectors (LALStatus *status, REAL4Vector *vector, AddVectorsIn in)
 Function to add two vectors with weights. More...
 
void LALAdvLIGOPsd (LALStatus UNUSED *status, REAL8 *psd, REAL8 f)
 Module to calculate the noise power spectral density for the initial LIGO detector. More...
 
void LALColoredNoise (LALStatus *status, REAL4Vector *noisy, REAL8Vector psd)
 This function colors a given white noise input into a colored noise of power spectral density psd. More...
 
void LALEGOPsd (LALStatus UNUSED *status, REAL8 *psd, REAL8 f)
 Function to calculate the noise power spectral density for the EGO detector. More...
 
REAL8 XLALETBPsd (REAL8 f)
 Function to calculate the noise power spectral density of the projected ET-B detector. More...
 
void LALGEOPsd (LALStatus UNUSED *status, REAL8 *psd, REAL8 f)
 Module to calculate the expected noise power spectral density for the GEO600 detector. More...
 
REAL8 XLALLIGOIPsd (REAL8 f)
 Calculate the Initial LIGO SRD noise spectral density at given a frequency. More...
 
void LALLIGOIPsd (LALStatus UNUSED *status, REAL8 *psd, REAL8 f)
 Legacy LAL wrapper of XLALLIGOIPsd(). More...
 
void LALNoiseSpectralDensity (LALStatus *status, REAL8Vector *psd, void(*NoisePsd)(LALStatus *status, REAL8 *shf, REAL8 f), REAL8 df)
 This function generates an array of size specified in the vector psd, that is psd.length. The inputs are. More...
 
void LALEGOPsd (LALStatus *status, REAL8 *shf, REAL8 x)
 
void LALGEOPsd (LALStatus *status, REAL8 *shf, REAL8 x)
 
void LALAdvLIGOPsd (LALStatus *status, REAL8 *shf, REAL8 x)
 
void LALLIGOIPsd (LALStatus *status, REAL8 *shf, REAL8 x)
 
void LALTAMAPsd (LALStatus *status, REAL8 *shf, REAL8 x)
 
void LALVIRGOPsd (LALStatus *status, REAL8 *shf, REAL8 x)
 
void LALStatsREAL4Vector (LALStatus *status, StatsREAL4VectorOut *out, REAL4Vector *vector)
 Module to compute the mean, rms, minimum and maximum of a REAL4Vector. More...
 
void LALTAMAPsd (LALStatus UNUSED *status, REAL8 *psd, REAL8 f)
 Function to calculate the noise power spectral density for the TAMA detector. More...
 
void LALVIRGOPsd (LALStatus UNUSED *status, REAL8 *psd, REAL8 f)
 Module to calculate the noise power spectral density for the VIRGO detector. More...
 

Data Structures

struct  AddVectorsIn
 
struct  StatsREAL4VectorOut
 

Enumerations

enum  enumDetector { geo , ligo , tama , virgo }
 

Files

file  NoisePSDTest.c
 This program can be used generate expected noise NoiseSpectralDensity in various interferometers.
 

Error Codes

#define LALNOISEMODELSH_ENULL   1
 Arguments contained an unexpected null pointer. More...
 
#define LALNOISEMODELSH_EMEM   2
 Memory allocation error. More...
 
#define LALNOISEMODELSH_ECHOICE   4
 Invalid choice for an input parameter. More...
 
#define LALNOISEMODELSH_EDIV0   8
 Division by zero. More...
 
#define LALNOISEMODELSH_ESIZE   16
 Invalid input size. More...
 

Function Documentation

◆ LALAddVectors()

void LALAddVectors ( LALStatus status,
REAL4Vector vector,
AddVectorsIn  in 
)

Function to add two vectors with weights.

Author
Sathyaprakash, B. S.

Description

Given weights A1 and A2 as in AddVectorsIn and vectors v1 and v2 this code returns vector v given by

v[i] = A1 v1[i] + A2 v2[i];

Algorithm

Uses

none

Definition at line 48 of file LALAddVectors.c.

◆ LALAdvLIGOPsd() [1/2]

void LALAdvLIGOPsd ( LALStatus UNUSED *  status,
REAL8 psd,
REAL8  f 
)

Module to calculate the noise power spectral density for the initial LIGO detector.

Author
Sathyaprakash, B. S.

Description

This function module takes as an input a frequency \(f\) in Hz, and it calculates the noise spectral density (per Hz) \(S_{h}(f)\) for that frequency. The noise PSD is based on data provided by Kip Thorne, and the fit by B.S.Sathyaprakash

\begin{equation} S_h(f) = S_0\left\{ \left(\frac{f}{f_0}\right)^{-4.14} - 5\left(\frac{f_0}{f}\right)^2 + 111 \left(\frac{1. - \frac{f}{f_0}^2 + 0.5 \frac{f}{f_0}^4}{1. + 0.5\frac{f}{f_0}^2} \right)\right\}; \end{equation}

where, \(f_0=215\)Hz The returned value is scaled up by \(S_0 = 10^{49}.\)

Definition at line 50 of file LALAdvLIGOPsd.c.

◆ LALColoredNoise()

void LALColoredNoise ( LALStatus status,
REAL4Vector noisy,
REAL8Vector  psd 
)

This function colors a given white noise input into a colored noise of power spectral density psd.

Author
Sathyaprakash, B. S.

Description

Given the Fourier transform \(N(f)\) of white noise, the Fourier transform of noise of power spectral density \(S(f)\) is given by \({\cal N}(f) = N(f) \times \sqrt{S(f)}.\) In the discrete version there is an additional normalisation:

\[{\cal N}_k = N_k \times \sqrt{\frac{2 S_k}{n}},\ \ {\cal N}_{n-k} = N_{n-k} \times \sqrt{\frac{2 S_k}{n}},\ \ k=1, \ldots, \frac{n}{2}.\]

Definition at line 40 of file LALColoredNoise.c.

◆ LALEGOPsd() [1/2]

void LALEGOPsd ( LALStatus UNUSED *  status,
REAL8 psd,
REAL8  f 
)

Function to calculate the noise power spectral density for the EGO detector.

Author
Cokelaer T.

Description

The module takes as an input a frequency \(f\) in Hz, and it calculates the noise spectral density (per Hz) \(S_{h}(f)\) for that frequency. The noise PSD is based on data provided by grqc/0607092

\begin{equation} S_h(f) = s_0 \left\{ x^{p_1} + a_1x^{p_2} +a_2 \frac{1+b_1x +b_2x^2+b_3x^3+b_4x^4+b_5x^5+b_6x^6}{1+c_1x+c_2x^2+c_3x^3+c_4x^4} \right\} \end{equation}

where \(S_0=1.61e-51\)\ \(p_1=-4.05, p_2=-0.69\)\ \(a_1=185.62, a_2=232.56\)\ \(b_1 = 31.18, b_2=-64.72, b_3=52.24, b_4=-42.16, b_5=10.17, b_6=11.53\)\ and \(c_1=13.58, c_2 = -36.46, c_3=18.56, c_4=27.43\)

Definition at line 50 of file LALEGOPsd.c.

◆ XLALETBPsd()

REAL8 XLALETBPsd ( REAL8  f)

Function to calculate the noise power spectral density of the projected ET-B detector.

Author
Craig Robinson

Fit taken from a Matlab script by T. Dent which can be found at: https://workarea.et-gw.eu/et/WG4-Astrophysics/base-sensitivity/

Definition at line 30 of file LALETBPsd.c.

◆ LALGEOPsd() [1/2]

void LALGEOPsd ( LALStatus UNUSED *  status,
REAL8 psd,
REAL8  f 
)

Module to calculate the expected noise power spectral density for the GEO600 detector.

Author
Sathyaprakash, B. S.

Description

The module takes as an input a frequency \(f\) in Hz, and it calculates the noise spectral density (per Hz) \(S_{h}(f)\) for that frequency. The noise PSD is based on data provided by J. Hough and G. Cagnoli (see T. Damour, B.R. Iyer and B.S. Sathyaprakash, Phys. Rev. D 63, 044023 (2001)) and is approximated by the following:

\begin{equation} S_h(f) = 10^{-16} \left ( \frac{f}{f_0} \right)^{-30} + 34 \frac{f_0 }{ f } + \frac{20 \left [1 - (f/f_0)^2 + 0.5 (f/f_0)^4 \right ] }{ 1 + 0.5 (f/f_0)^2} \end{equation}

The returned value is scaled up by \(s_0 = 10^{46}.\) In otherwords, the expected noise PSD is a factor \(10^{46}\) lower.

Definition at line 52 of file LALGEOPsd.c.

◆ XLALLIGOIPsd()

REAL8 XLALLIGOIPsd ( REAL8  f)

Calculate the Initial LIGO SRD noise spectral density at given a frequency.

The input is frequency in Hz, and the return value is the noise spectral density, \(S_{h}(f)\), for that frequency.

The noise PSD is based on data provided by K. Blackburn (see [8]) and is approximated by the following:

\[ S_h(f) = 9 \times 10^{-46} \left[ \left( 4.49 \frac{f}{f_0} \right)^{-56} + 0.16 \left( \frac{f}{f_0} \right)^{-4.52} + 0.52 + 0.32 \left( \frac{f}{f_0} \right)^2 \right] \]

Multiply the return value of this function by \(2 \Delta f\) to put it in the same units as used by the LAL average spectrum functions like XLALWhitenCOMPLEX16FrequencySeries().

Definition at line 50 of file LALLIGOIPsd.c.

◆ LALLIGOIPsd() [1/2]

void LALLIGOIPsd ( LALStatus UNUSED *  status,
REAL8 psd,
REAL8  f 
)

Legacy LAL wrapper of XLALLIGOIPsd().

Note that the return value is scaled up by $s_0 = 10^{46}/9.$ In otherwords, the expected noise PSD is \(9 \times 10^{-46}\) times the return value.

Deprecated:
Use XLALLIGOIPsd() instead.

Definition at line 65 of file LALLIGOIPsd.c.

◆ LALNoiseSpectralDensity()

void LALNoiseSpectralDensity ( LALStatus status,
REAL8Vector psd,
void(*)(LALStatus *status, REAL8 *shf, REAL8 f NoisePsd,
REAL8  df 
)

This function generates an array of size specified in the vector psd, that is psd.length. The inputs are.

Author
Sathyaprakash, B. S.
  1. The lenght of the psd array required: this must be given as a non-zero positive integer by setting the length of the psd vector to the desired value;
  2. Frequency resolution df in Hz.
  3. Pointer to a function that should be used in generating the power spectral density values in units of Hz \(^{-1}.\) This function must necessarily be of the type: void (*NoisePsd)(LALStatus *status, REAL8 *shf, REAL8 f).

Presently, there are four such functions in the noisemodels package. These are LALGEOPsd, LALLIGOIPsd, LALTAMAPsd, LALVIRGOPsd. These four packages return a scaled PSD while this module returns the correctly scaled version. It is assumed that new PSD modules return unscaled versions. (Note, however, that it might be better to use the scaled versions of the PSD when computing the metric on the signal manifold; this is because computing the metric involves calculation of many moments of the noise PSD and one might encounter round-off errors if un-scaled version of PSD is used; I have not checked this to be the case but suspect that there might be some problems.)

Definition at line 51 of file LALNoiseSpectralDensity.c.

◆ LALEGOPsd() [2/2]

void LALEGOPsd ( LALStatus status,
REAL8 shf,
REAL8  x 
)

◆ LALGEOPsd() [2/2]

void LALGEOPsd ( LALStatus status,
REAL8 shf,
REAL8  x 
)

◆ LALAdvLIGOPsd() [2/2]

void LALAdvLIGOPsd ( LALStatus status,
REAL8 shf,
REAL8  x 
)

◆ LALLIGOIPsd() [2/2]

void LALLIGOIPsd ( LALStatus status,
REAL8 shf,
REAL8  x 
)

◆ LALTAMAPsd() [1/2]

void LALTAMAPsd ( LALStatus status,
REAL8 shf,
REAL8  x 
)

◆ LALVIRGOPsd() [1/2]

void LALVIRGOPsd ( LALStatus status,
REAL8 shf,
REAL8  x 
)

◆ LALStatsREAL4Vector()

void LALStatsREAL4Vector ( LALStatus status,
StatsREAL4VectorOut out,
REAL4Vector vector 
)

Module to compute the mean, rms, minimum and maximum of a REAL4Vector.

Author
Sathyaprakash, B. S.

Definition at line 29 of file LALStatsREAL4Vector.c.

◆ LALTAMAPsd() [2/2]

void LALTAMAPsd ( LALStatus UNUSED *  status,
REAL8 psd,
REAL8  f 
)

Function to calculate the noise power spectral density for the TAMA detector.

Author
Sathyaprakash, B. S.

Description

The module takes as an input a frequency \(f\) in Hz, and it calculates the noise spectral density (per Hz) \(S_{h}(f)\) for that frequency. The noise PSD is based on data provided by M.-K Fujimoto (see T. Damour, B.R. Iyer and B.S. Sathyaprakash, Phys. Rev. D 63, 044023 (2001)) and is approximated by the following:

\begin{equation} S_h(f) = \left ( \frac{f}{f_0} \right )^{-5} + 13 \frac{f_0}{f} + 9 \left [1 + \left( \frac{f}{f_0} \right)^2 \right ]. \end{equation}

The returned value is scaled up by \(s_0 = 10^{46}/75.\) In otherwords, the expected noise PSD is \(75 \times 10^{-46}\) times the returned value.

Definition at line 49 of file LALTAMAPsd.c.

◆ LALVIRGOPsd() [2/2]

void LALVIRGOPsd ( LALStatus UNUSED *  status,
REAL8 psd,
REAL8  f 
)

Module to calculate the noise power spectral density for the VIRGO detector.

Author
Sathyaprakash, B. S., Cokelaer T.

Description

The module takes as an input a frequency \(f\) in Hz, and it calculates the noise spectral density (per Hz) \(S_{h}(f)\) for that frequency. The noise PSD is based on data provided by J-Y. Vinet and is approximated by the following:

\begin{equation} S_h(f) = s_0 \left ( \frac {7.87f}{f_0} \right )^{-4.8} + \frac{6}{17} \frac{f_0}{f} + \left [1 + \left (\frac {f}{f_0} \right)^2 \right ], \end{equation}

where \(s_0=10.2e-46\)

Definition at line 48 of file LALVIRGOPsd.c.

Enumeration Type Documentation

◆ enumDetector

Enumerator
geo 
ligo 
tama 
virgo 

Definition at line 69 of file LALNoiseModels.h.

Macro Definition Documentation

◆ LALNOISEMODELSH_ENULL

#define LALNOISEMODELSH_ENULL   1

Arguments contained an unexpected null pointer.

Definition at line 54 of file LALNoiseModels.h.

◆ LALNOISEMODELSH_EMEM

#define LALNOISEMODELSH_EMEM   2

Memory allocation error.

Definition at line 55 of file LALNoiseModels.h.

◆ LALNOISEMODELSH_ECHOICE

#define LALNOISEMODELSH_ECHOICE   4

Invalid choice for an input parameter.

Definition at line 56 of file LALNoiseModels.h.

◆ LALNOISEMODELSH_EDIV0

#define LALNOISEMODELSH_EDIV0   8

Division by zero.

Definition at line 57 of file LALNoiseModels.h.

◆ LALNOISEMODELSH_ESIZE

#define LALNOISEMODELSH_ESIZE   16

Invalid input size.

Definition at line 58 of file LALNoiseModels.h.