snrcalculatorfuns

This is the documentation for the snrcalculatorfuns module, which consists of parts of the procedure for calculating the SNR of a gravitational waveform (from gwexporter or otherwise), collected into modular functions.

polynomial_redshift

polynomial_redshift(d)

Polynomial approximation of calculating redshift corresponding to a given distance.

Parameters

d: float

A luminosity distance, in Mpc.

Returns

z: float

The redshift corresponding to the input distance.

redshift_distance_adjustment

redshift_distance_adjustment(inputarray,d,z)

Adjusts the frequencies and amplitudes in the input gravitational waveform to account for the effects of distance/redshift.

Parameters

inputarray: numpy.ndarray

The time, frequency and amplitude data of the gravitational waveform, in the format used by waveform_exporter() in gwexporter.

d: float

The luminosity distance to the merging binary, in Mpc.

z: float

The redshift corresponding to the input distance.

Returns

adjustedarray: numpy.ndarray

inputarray, but with the frequency and amplitudes adjusted.

frequency_limits

frequency_limits(inputarray)

Calculates the upper and lower limits of the frequency of the gravitational waveform in inputarray, which are used by amplitude_interpolation().

Parameters

inputarray: numpy.ndarray

The time, frequency and amplitude data of the gravitational waveform; should have been adjusted by redshift_distance_adjustment().

Returns

(freqmax,freqmin): tuple of floats

The upper and lower limits of the waveform signal frequency, respectively.

findchirp_fourier

findchirp_fourier(inputarray,findchirp_array,d,z)

Approximation of a Fourier transform on the gravitational waveform data, using the frequency spectrum output by the simpler model FINDCHIRP (Allen et al., 2012) for calibration. NOTE: May in the future be replaced by something fft-based.

Parameters

inputarray: numpy.ndarray

The time, frequency and amplitude data of the gravitational waveform; should have been adjusted by redshift_distance_adjustment().

findchirp_array: numpy.ndarray

The array output by FINDCHIRP. The second column is frequency, the fourth is (Fourier-transformed) strain amplitude, the other columns are irrelevant. A grid of sample findchirp_arrays can be found at https://www.dropbox.com/sh/lt8109c0c2eb10c/AADBnYXMGmWOEqCK-XWFZuJLa

d: float

The luminosity distance to the merging binary, in Mpc.

z: float

The redshift corresponding to the input distance.

Returns

fourieramp: list

Fourier-transformed/calibrated amplitudes at each frequency value in inputarray.

amplitude_interpolation

amplitude_interpolation(inputarray,fourieramp,noisearray,freqmax,freqmin)

The simulated gravitational waveform data and the detector noise spectrum are assumed to have amplitude data at different sets of frequencies, so this function uses scipy’s interp1d to calculate the waveform amplitude values at the frequencies used by the detector data.

Parameters

inputarray: numpy.ndarray

The time, frequency and amplitude data of the gravitational waveform; should have been adjusted by redshift_distance_adjustment().

fourieramp: list

Fourier-transformed/calibrated amplitudes at each frequency value in inputarray, from findchirp_fourier().

noisearray: numpy.ndarray

Data on the noise spectrum of the detector; it is assumed that frequency values are in the first column and ASD noise levels in the second.

freqmax: float

The upper limit of the waveform signal frequency, from frequency_limits().

freqmin: float

The lower limit of the waveform signal frequency, from frequency_limits().

Returns

noise_freq_amp: list

Waveform amplitudes as in fourieramp, but over the set of frequencies in noisearray rather than those in inputarray.

individual_detector_SNR

individual_detector_SNR(noisearray,noise_freq_amp)

Calculates the single-detector optimal-alignment SNR by comparing the waveform frequency spectrum and detector noise spectrum using the method of Barrett et al. (2018).

Parameters

noisearray: numpy.ndarray

Data on the noise spectrum of the detector; it is assumed that frequency values are in the first column and ASD noise levels in the second.

noise_freq_amp: list

Amplitudes of the simulated gravitational waveform, over the set of frequencies of noisearray, from amplitude_interpolation().

Returns

ind_SNR: float

The SNR of the simulated gravitational waveform, for the detector in noisearray and assuming optimal alignment.