LALPulsar  6.1.0.1-fe68b98
Header NormalizeSFTRngMed.h

Detailed Description

Header file for SFT normalization routines.

Normalizes SFTs based on their noise floor calculated using the running median.

Author
Krishnan, B.
Date

History: Moved from Hough code 31/7/05

Author
Badri Krishnan and Alicia Sintes

History: Created by B. Krishnan Aug, 2004 Taken from SFTbin.c and PeakSelect.c from Hough code

Description

This module contains functions for normalizing SFTs. Currently two normalizations are supported. Given SFT data \( \tilde{x}_k \) where \( k \) labels a frequency bin, the normalized SFT is either \( \tilde{x}_k/\sqrt{ < |\tilde{x}_k|^2 >} \) or \( \sqrt{2N} \tilde{x}_k/\sqrt{ < |\tilde{x}_k|^2 >} \) , where \( N \) is the number of frequency bins in the SFT. The first normalization ensures that the SFT power follows an exponential distribution with unit mean (if the SFT data is distributed normally), while the second normalization is appropriate in the time domain. In either case, the mean of \( |\tilde{x}_k|^2 \) is estimated using the median, suitably normalized assuming that the power is distributed is exponentially.

Uses

int XLALNormalizeSFT(REAL8FrequencySeries *rngmed, SFTtype *sft, UINT4 blockSize, const REAL8 assumeSqrtS)
Normalize an sft based on RngMed estimated PSD, and returns running-median.
MultiPSDVector * XLALNormalizeMultiSFTVect(MultiSFTVector *multsft, UINT4 blockSize, const MultiNoiseFloor *assumeSqrtSX)
Function for normalizing a multi vector of SFTs in a multi IFO search and returns the running-median ...
int XLALNormalizeSFTVect(SFTVector *sftVect, UINT4 blockSize, const REAL8 assumeSqrtS)
Function for normalizing a vector of SFTs.
int XLALPeriodoToRngmed(REAL8FrequencySeries *rngmed, const REAL8FrequencySeries *periodo, UINT4 blockSize)
Calculates running median over a single periodogram.
int XLALSFTtoPeriodogram(REAL8FrequencySeries *periodo, const COMPLEX8FrequencySeries *SFT)
Calculate the "periodogram" of an SFT, ie the modulus-squares of the SFT-data.

The function XLALNormalizeSFTVect() takes as input a vector of SFTs and normalizes them. This function calls the functions XLALNormalizeSFT() which normalizes a single SFT, XLALSFTtoPeriodogram() which calculates the \( |\tilde{x}|^2 \) and XLALPeriodoToRngmed () which applies the running median algorithm to find a vector of medians. The function XLALNormalizeMultiSFTVect() normalizes a multi-IFO collection of SFT vectors and also returns a collection of power-estimates for these vectors using the Running median method.

Prototypes

int XLALSFTtoRngmed (REAL8FrequencySeries *rngmed, const SFTtype *sft, UINT4 blockSize)
 Calculates a smoothed (running-median) periodogram for the given SFT. More...
 
int XLALSFTtoPeriodogram (REAL8FrequencySeries *periodo, const COMPLEX8FrequencySeries *SFT)
 Calculate the "periodogram" of an SFT, ie the modulus-squares of the SFT-data. More...
 
int XLALPeriodoToRngmed (REAL8FrequencySeries *rngmed, const REAL8FrequencySeries *periodo, UINT4 blockSize)
 Calculates running median over a single periodogram. More...
 
int XLALNormalizeSFT (REAL8FrequencySeries *rngmed, SFTtype *sft, UINT4 blockSize, const REAL8 assumeSqrtS)
 Normalize an sft based on RngMed estimated PSD, and returns running-median. More...
 
int XLALNormalizeSFTVect (SFTVector *sftVect, UINT4 blockSize, const REAL8 assumeSqrtS)
 Function for normalizing a vector of SFTs. More...
 
MultiPSDVectorXLALNormalizeMultiSFTVect (MultiSFTVector *multsft, UINT4 blockSize, const MultiNoiseFloor *assumeSqrtSX)
 Function for normalizing a multi vector of SFTs in a multi IFO search and returns the running-median estimates of the power. More...
 
int XLALSFTstoCrossPeriodogram (REAL8FrequencySeries *periodo, const COMPLEX8FrequencySeries *sft1, const COMPLEX8FrequencySeries *sft2)
 Calculate the cross-correlation periodogram from 2 SFTs. More...
 

Function Documentation

◆ XLALSFTtoRngmed()

int XLALSFTtoRngmed ( REAL8FrequencySeries rngmed,
const SFTtype sft,
UINT4  blockSize 
)

Calculates a smoothed (running-median) periodogram for the given SFT.

Parameters
[out]rngmedrunning-median smoothed periodo [must be allocated!]
[in]sftinput SFT
blockSizeRunning median block size

Definition at line 212 of file NormalizeSFTRngMed.c.

◆ XLALSFTtoPeriodogram()

int XLALSFTtoPeriodogram ( REAL8FrequencySeries periodo,
const COMPLEX8FrequencySeries SFT 
)

Calculate the "periodogram" of an SFT, ie the modulus-squares of the SFT-data.

Parameters
[out]periodomod squares of SFT data (has to be allocated)
[in]SFTinput SFT

Definition at line 260 of file NormalizeSFTRngMed.c.

◆ XLALPeriodoToRngmed()

int XLALPeriodoToRngmed ( REAL8FrequencySeries rngmed,
const REAL8FrequencySeries periodo,
UINT4  blockSize 
)

Calculates running median over a single periodogram.

Parameters
[out]rngmedresulting 'smoothed' periodogram (must be allocated)
[in]periodoinput periodogram
blockSizeRunning median block size

Definition at line 303 of file NormalizeSFTRngMed.c.

◆ XLALNormalizeSFT()

int XLALNormalizeSFT ( REAL8FrequencySeries rngmed,
SFTtype sft,
UINT4  blockSize,
const REAL8  assumeSqrtS 
)

Normalize an sft based on RngMed estimated PSD, and returns running-median.

Parameters
[out]rngmedrng-median smoothed periodogram over SFT (Tsft*Sn/2) (must be allocated)
sftSFT to be normalized
blockSizeRunning median block size for rngmed calculation
assumeSqrtSIf >0, instead assume sqrt(S) value *instead* of calculating PSD from running median

Definition at line 68 of file NormalizeSFTRngMed.c.

◆ XLALNormalizeSFTVect()

int XLALNormalizeSFTVect ( SFTVector sftVect,
UINT4  blockSize,
const REAL8  assumeSqrtS 
)

Function for normalizing a vector of SFTs.

Parameters
sftVect[in/out] pointer to a vector of SFTs which will be normalized
blockSizeRunning median window size
assumeSqrtSIf >0, instead assume sqrt(S) value *instead* of calculating PSD from running median

Definition at line 120 of file NormalizeSFTRngMed.c.

◆ XLALNormalizeMultiSFTVect()

MultiPSDVector* XLALNormalizeMultiSFTVect ( MultiSFTVector multsft,
UINT4  blockSize,
const MultiNoiseFloor assumeSqrtSX 
)

Function for normalizing a multi vector of SFTs in a multi IFO search and returns the running-median estimates of the power.

Parameters
multsft[in/out] multi-vector of SFTs which will be normalized
blockSizeRunning median window size
assumeSqrtSXIf !NULL, instead assume sqrt(S^X) values *instead* of calculating PSD from running median

Definition at line 159 of file NormalizeSFTRngMed.c.

◆ XLALSFTstoCrossPeriodogram()

int XLALSFTstoCrossPeriodogram ( REAL8FrequencySeries periodo,
const COMPLEX8FrequencySeries sft1,
const COMPLEX8FrequencySeries sft2 
)

Calculate the cross-correlation periodogram from 2 SFTs.

Parameters
[out]periodomodulus square of SFT data (must be allocated)
[in]sft1pointer to first SFT
[in]sft2pointer to second SFT

Definition at line 368 of file NormalizeSFTRngMed.c.