Next: Function chan_clean() Up: GRASP Routines: Signal-to-noise enhancement Previous: Outline   Contents

## Function: calc_rho()

0 int calc_rho(int offset,int correlation_width,float threshold, float *rp_signal,
float *ip_signal,int nenv_chan, float **rp_env,float **ip_env,
float *rho2_pairwise, complex *A,complex *B,float *modx2sum)

This function takes sections of length length of the Fourier transform of the `signal' channel and nenv_chan environmental channels and estimates the transfer function on the basis of correlations over a width of correlation_width bins at an offset frequency of offset bins. It returns an array rho2_pairwise containing the values of that would arise from a cross-correlation with each single channel thereby giving information on which environmental channels contain the strongest evidence for correlation with the signal.

The arguments are:

length: Input. The total length of the Fourier transform.
offset: Input. The offset to the beginning of the section of the Fourier transform over which correlations are being searched for.
correlation_width: Input. The width of the section of the Fourier transform over which correlations are being searched for.
threshold: Input. The threshold for determining whether a correlation is statistically significant.
rp_signal: Input. rp_signal[0..length-1] contains the real parts of the Fourier transform of the signal.
ip_signal: Input. ip_signal[0..length-1] contains the imaginary parts of the Fourier transform of the signal.
nenv_chan: Input. The number of environmental channels under consideration.
rp_env: Input. rp_env[0..nenv_chan-1][0..length-1] contains the real parts of the Fourier transform of the nenv_chan environmental channels.
ip_env: Input. ip_env[0..nenv_chan-1][0..length-1] contains the imaginary parts of the Fourier transform of the nenv_chan environmental channels.
rho2_pairwise: Output. rho2_pairwise[0..nenv_chan-1] contain the level of pairwise correlation between the signal and each environmental channel in turn, i.e., the value of obtained if just the th environmental channel had been used.
A: Input/Output. A[0.. -1] is a working array that is used by the clapack routine chesv() called by clean_chan(). The elements of the array are structure of type complex (see note above). Memory allocation should be performed in the calling routine.
B: Input/Output. B[0.. -1] is a working array used by the clapack routine chesv() called by clean_chan(). The elements of the array are structure of type complex (see note above). Memory allocation should be performed in the calling routine.
modx2sum: Output. A float used by clean_chan.

Author: Bruce Allen (ballen@dirac.phys.uwm.edu), Wensheng Hua (hua@bondi.phys.uwm.edu) and Adrian Ottewill (ottewill@relativity.ucd.ie).