New in version 0.5.

Module for calculating dispersion delay due to an ionized ISM and performing incoherent/coherent dedispersion.

Changed in version 1.0.1: Added support for using PyFFTW instead of NumPy for the FFTs and iFFTs.

lsl.misc.dedispersion.delay(freq, dm)

Calculate the relative delay due to dispersion over a given frequency range in Hz for a particular dispersion measure in pc cm^-3. Return the dispersive delay in seconds.

Changed in version 1.1.1: If only a single frequency is provided, the returned delay is relative to infinite frequency.

lsl.misc.dedispersion.incoherent(freq, waterfall, tInt, dm, boundary='wrap', fill_value=nan)

Given a list of frequencies in Hz, a 2-D array of spectra as a function of time (time by frequency), and an integration time in seconds, perform incoherent dedispersion on the data.

The ‘boundary’ keyword is used to control how the boundary is treated. The two options are:

  • wrap - Wrap the time boundary for each frequency (default)
  • fill - Fill the data not within the dedispersed time range with the value specified by the ‘fill_value’ keyword

Changed in version 1.0.3: Added in options for handling the boundary conditions

lsl.misc.dedispersion.getCoherentSampleSize(centralFreq, sampleRate, dm)

Estimate the number of samples needed to successfully apply coherent dedispersion to a data stream.

lsl.misc.dedispersion.coherent(t, timeseries, centralFreq, sampleRate, dm, taper=False, previousTime=None, previousData=None, nextTime=None, nextData=None, enableCaching=True)

Simple coherent dedispersion of complex-valued time-series data at a given central frequency and sample rate. A tapering function can also be applied to the chirp of the form:

\sqrt{1 + \left(\frac{\Delta f_{MHz}}{0.47 \times \mbox{BW}}\right)^{80}},

where \Delta f_{MHz} is the frequency difference in MHz from the band center and BW is the bandwidth in MHz.


At the large fractional bandwidths of LWA, the window size needed for coherent dedispersion can be prohibitive. For example, at 74 MHz with 19.6 MS/s and a DM or 10 pc / cm^3 this function uses a window size of about 268 million points.

Changed in version 1.0.1: Added support for using PyFFTW instead of NumPy for the FFTs and iFFTs. Added a cache for storing the chrip function between subsequent calls

Changed in version 0.6.4: Added support for keeping track of time through the dedispersion process.

Previous topic

RFI Identification

Next topic

Catalogs and Sky Map

This Page