This package implements the direct dedispersion algorithm in pure Julia. Quoting from Barsdell et al. (2012):
The direct dedispersion algorithm operates by directly summing frequency channels along a quadratic dispersion trail for each time sample and dispersion measure. In detail, the algorithm computes an array of dedispersed time series
$D$ from an input data set$A$ according to the following equation:$$\boxed{D_{d, t} = \sum_{\nu}^{N_{\nu}} A_{\nu, t + \Delta t(d, \nu)}}$$ where the subscripts$d$ ,$t$ and$\nu$ represent dispersion measure, time sample and frequency channel, respectively, and$N_{\nu}$ is the total number of frequency channels.
Install it by typing and running:
] add DirectDedispersion
in the Julia REPL.
Here is an example of the same time series, obtained via DirectDedispersion.jl
and PRESTO
, respectively, from 30 seconds of simulated FRB data. The FRB has a DM of 1000 pc cm$^{-3}$, and an arrival time of 5 seconds:
The slight incline in both plots is due to the fact that the DM of the simulated FRB is quite high, and the length of the file is low. Thus, we run out of samples to add as we go to lower frequency channels. The simulation was carried out using the simulateSearch
library, and is included in this package as a part of its testing suite here. The time series from PRESTO
was obtained by using the following command:
prepdata -dm 1000.0 -nobary frb.fil -o frb.dedisp
Here is another example, this time using real data taken for FRB180916, from the Giant Metrewave Radio Telescope (GMRT):