Table Of Contents

Previous topic

pycrtools.tasks.crimager

Next topic

pycrtools.tasks.directionfitbf

This Page

pycrtools.tasks.crosscorrelateantennas

CrossCorrelateAntennas([ws, parfile]) Usage:
FindPulseDelay([ws, parfile]) Calculate pulse delay by finding maxima in a trace.
Task([ws, parfile]) Base class from which all tasks should be derived.

Module documentation

Module author: Heino Falcke <h.falcke@astro.ru.nl>

class pycrtools.tasks.crosscorrelateantennas.CrossCorrelateAntennas(ws=None, parfile=None, **kwargs)

Usage:

Task = trun("CrossCorrelateAntennas", timeseries_data[n_dataset, blocksize], refant=0) -> Task.crosscorr_data (i.e., strength of cross-correlation as a function of time)

To provide only fft data use:

Task = trun("CrossCorrelateAntennas", fft_data[n_dataset, blocksize / 2 + 1], refant=0) -> Task.crosscorr_data (i.e., strength of cross-correlation as a function of time)

Description:

Calculates the cross-correlation of a number of time series data sets with respective to a reference data set.

The data set is a matrix of N equal-length timeseries. If not reference data set is provided, a reference antenna from the input time series matrix is specified (by default = 0, i.e. all data is correlated with the first data set, then the first cross correlation output will actually be an autocorrelation).

Make sure N is even. This is not tested for uneven N.

NB: This has also not yet been tested for NyquistZone 2!

If timeseries_data == None, then one needs to provide fft_data instead and the fft will not be (re-)calculated. Note that the function uses fftw convention!

Input parameters

blocksize
Length of the data for each antenna
crosscorr_data_orig
Scratch cross correlation vector in original size to hold intermediate results
fft_data
FFT of the input timeseries data
fft_reference_data
FFT of the reference data, dimensions [N data sets, (data length)/2+1]. If no extra reference antenna array is provided, cross correlate with reference antenna in data set
fftwplan
Memory and plan for FFT
ifftwplan
Memory and plan for inverse FFT
oversamplefactor [default value: 1 ]
Oversample the final cross-correlation by so many sub-steps. If equal to one then no oversampling.
refant [default value: 0 ]
Which data set in data to use as reference data set if no reference_data provided.
reference_data [default value: None ]
Reference data set to cross-correlate data with. If None then use data from reference antenna refant.
timeseries_data [default value: None ]
Timeseries data, if None fft_data must be given.

Output parameters

crosscorr_data
Output array of dimensions [N data sets, data length * oversamplefactor] containing the cross correlation.
class pycrtools.tasks.crosscorrelateantennas.FindPulseDelay(ws=None, parfile=None, **kwargs)

Calculate pulse delay by finding maxima in a trace.

This may require some additional manipulation to the data to give a meaningfull result, for instance the trace may be the cross correlation signal.

Input parameters

plot_prefix [default value: “” ]
Prefix for plots
plot_type [default value: “png” ]
Plot type (e.g. png, jpeg, pdf)
plotlist [default value: [] ]
List of plots
refant [default value: None ]
reference antenna
sampling_frequency [default value: 200000000.0 ]
sampling frequency in Hz.
save_plots [default value: False ]
Store plots
trace [default value: None ]
array containing a trace as a function of time for each antenna

Output parameters

delays
pulse delays in seconds.
maxpos
position of pulse maximum.