DisperseSamples

class baseband_tasks.dispersion.DisperseSamples(ih, dm, *, reference_frequency=None, samples_per_frame=None, frequency=None, sideband=None)[source] [edit on github]

Bases: baseband_tasks.sampling.ShiftSamples

Incoherently shift a time stream to give it a dispersive time delay.

This task does not handle any in-channel dispersive smearing, but only shifts the samples according to the mid-channel frequency.

Parameters
ihtask or baseband stream reader

Input data stream, with time as the first axis.

dmfloat or DispersionMeasure quantity

Dispersion measure to disperse with. If negative, will dedisperse, but clearer to use DedisperseSamples.

reference_frequencyQuantity

Frequency to which the data should be dispersed. Can be an array. By default, the mean frequency.

samples_per_frameint, optional

Number of dispersed samples which should be produced in one go. The number of input samples used will be larger to avoid wrapping. If not given, as produced by the minimum power of 2 of input samples that yields at least 75% efficiency.

frequencyQuantity, optional

Frequencies for each channel in ih. Default: taken from ih (if available).

sidebandarray, optional

Whether frequencies in ih are upper (+1) or lower (-1) sideband. Default: taken from ih (if available). Note that while this is only used if the data is real (to calculate the mid-channel frequency), it should always be passed in together with frequency, since otherwise other tasks cannot interpret frequency correctly.

See also

baseband_tasks.dispersion.DedisperseSamples

for incoherent dedispersion

baseband_tasks.dispersion.Disperse

for coherent dispersion