pulsarbat.coherent_dedispersion#

pulsarbat.coherent_dedispersion(z, DM, /, *, ref_freq=None, chirp=None)[source]#

Coherently dedisperses a baseband signal.

The given signal will be coherently dedispersed by a given dispersion measure (DM). If a reference frequency (ref_freq) is not given, the center frequency of the signal will be used as reference.

Optionally, a pre-computed chirp function (chirp) can be provided as an array. If a chirp is provided, it will not be checked against the given DM and reference frequency for correctness.

The output signal will be cropped on both ends to avoid wrap-around artifacts caused by dedispersion. This depends on where the reference frequency (ref_freq) is compared to the band of the signal.

Parameters:
zBasebandSignal

The signal to be transformed.

DMDispersionMeasure

Dispersion measure by which to dedisperse z.

ref_freqQuantity, optional

Reference frequency for dedispersion. If None (default), uses the center frequency from signal.

chirparray-like, optional

A pre-computed chirp function. Must be a 2-D array with shape z.shape[:2].

Returns:
BasebandSignal

The dedispersed signal.