Next: Example: optimal_filter program Up: GRASP Routines: Stochastic background Previous: Function: extract_signal()   Contents

## Function: optimal_filter()

0

void optimal_filter(int n, float delta_f, float f_low, float f_high, double *gamma12, double *power1, double *power2, double *filter12)
This function calculates the values of the spectrum of the optimal filter function, which maximizes the cross-correlation signal-to-noise ratio for an isotropic and unpolarized stochastic background of gravitational radiation having a constant frequency spectrum: for .

The arguments of optimal_filter() are:

n: Input. The number of discrete frequency values at which the spectrum of the optimal filter is to be evaluated.
delta_f: Input. The spacing (in Hz) between two adjacent discrete frequency values: .
f_low: Input. The frequency (in Hz) below which the spectrum of the stochastic background--and hence the optimal filter --is zero. should lie in the range , where is the Nyquist critical frequency. (The Nyquist critical frequency is defined by , where is the sampling period of the detectors.) should also be less than or equal to .
f_high: Input. The frequency (in Hz) above which the spectrum of the stochastic background--and hence the optimal filter --is zero. should lie in the range . It should also be greater than or equal to .
gamma12: Input. gamma12[0..n-1] is an array of double precision variables containing the values of the overlap reduction function for the two detector sites. These variables are dimensionless. gamma12[i] contains the value of evaluated at the discrete frequency , where .
power1: Input. power1[0..n-1] is an array of double precision variables containing the values of the noise power spectrum of the first detector. These variables have units of (or seconds). power1[i] contains the value of evaluated at the discrete frequency , where .
power2: Input. power2[0..n-1] is an array of double precision variables containing the values of the noise power spectrum of the second detector, in exactly the same format as the previous argument.
filter12: Output. filter12[0..n-1] is an array of double precision variables containing the values of the spectrum of the optimal filter function for the two detectors. These variables are dimensionless for our choice of normalization . (See the discussion below.) filter12[i] contains the value of evaluated at the discrete frequency , where .

The values of calculated by optimal_filter() are defined by equation (3.32) of Ref. [36]:

 (11.17.248)

Such a filter maximizes the cross-correlation signal-to-noise ratio , where
 (11.17.249) (11.17.250)

( corresponds to the observation time of the measurement.) We are working here under the assumption that the magnitude of the noise intrinsic to the detectors is much larger than the magnitude of the signal due to the stochastic background. If this assumption does not hold, Eq.  for needs to be modified, as discussed in Sec. .

Note that we have explicitly included a normalization constant in the definition of . The choice of does not affect the value of the signal-to-noise ratio, since and are both multiplied by the same factor of . For a stochastic background having a constant frequency spectrum

it is convenient to choose so that
 (11.17.251)

From equations () and (), it follows that
 (11.17.252)

will do the job. With this choice of , is dimensionless and independent of the value of . This is why does not have to be passed as a parameter to optimal_filter().
Authors: Bruce Allen, ballen@dirac.phys.uwm.edu, and Joseph Romano, romano@csd.uwm.edu

Next: Example: optimal_filter program Up: GRASP Routines: Stochastic background Previous: Function: extract_signal()   Contents
Bruce Allen 2000-11-19