Crab Pulsar Giant Pulses ?


After initial analysis with manually processing a selection of files, the batch processing analysis code was tested on a wider selection of files - covering sections of the archive from the very first observation (MJD 57874) to the most recent.

The batch processing analysis code searches for dispersed transients over a range of DMs - e.g., 20 to 500. it does this without de-dispersion - so a 1-hour filterbank file of size 1.7 GB only takes 30 seconds to process.

When a candidate dispersed transient is found a 'candidate' filterbank file is created which a trimmed slice of the original filterbank file nominally ± 500 ms surrounding the transient.  This selection is processed by HawkRAO to produce a confirmation via an SNR vs DM search and plot and also a de-dispersed profile.

During testing of this code, the results of the analysis of the MJD 57874 file turned up another surprise - dispersed pulses right on the DM of the Crab Pulsar.

These dispersed pulses found in the MJD 57874 filterbank archive file are described in detail below.

Dispersed Transients at the Crab Pulsar DM Found in MJD 57874 Filterbank Archive File

The dispersed pulses found in the MJD 57874 filterbank file are by far the strongest dispersed pulses seen so far in HawkRAO archival data. 

Is it probable that these extremely bright pulses right at the DM of the Crab Pulsar are just RFI ?

If I only had one or two of these dispersed pulses at Crab's DM I would be fairly sure they are from the Crab Pulsar.  However - two factors cause me some doubt...

As far as I know, the observation that the spectral structure largely holds stationary over 2 hours indicates it is unlikely that the signal is of cosmic origin. I need to research this aspect - using papers on Crab Pulsar Giant Pulses.

HawkRAO code analysis of the dispersed pulse showing SNR vs DM plot clearly showing a peak at the Crab Pulsar's DM (56.7)...

...and the de-dispersed pulse profile (using DM=56.75) which shows a pulse width < 1 ms...

...and the power vs frequency plot for the pulse...

It should be noted that at the start and end of the 2.4 MHz bandwidth there is a roll-off in around the first and last 3 channels due to the bandpass characteristic of the RTL-SDR dongle used to acquire the data.  That is, the reduced amplitude at the band-edges are not intrinsic the dispersed pulse.

Using ‘hawkfbt/DSPSR/PSRPLOT’ to Generate a Dynamic Spectrum

The above plots are generated by HawkRAO code utilising GNUPLOT.

Alternatively a plot more familiar to professional astronomers can be generated by processing the data using professional applications.

PSRPLOT can generate what is commonly called a dynamic spectrum (dynamic because it shows spectral power movement over time) which provides a visual method of verifying if a pulse event is dispersed in a manner similar to a signal passing through the ISM.  This plot reveals the dispersion of a pulse - allegedly of cosmic origin - which has the characteristic of lower frequencies of the pulse burst event arriving later in time w.r.t. to higher frequencies.

PSRPLOT requires an input file in ‘*.ar’ format.  This format can be most conveniently generated by using DSPSR.

Normally, an ‘*.ar’ file contains a whole observation record, but as the target is the single pulses just a small block of data surrounding the pulse event is needed.

Using ‘hawkfbt’ to Trim the Filterbank File

To allow DSPSR to generate this trimmed ‘*.ar’ file, first the original filterbank needs to be trimmed (cropped).  The application ‘hawkfbt’ (HAWKrao FilterBank Trimmer) has been developed by the author to perform this task. Its usage (all input parameters are mandatory) is shown below.  The units for ‘begin’ and ‘end’ of the crop can be set by ‘-s’ to seconds, or by ‘-n’ to samples.  Then the begin and end of the crop are set by ‘-b’ and ‘-e’ respectively.

As an example the hawkfbt command-line for the MJD 57874 filterbank file starting at 5532 seconds and ending at 5533 seconds (cropping the 7200 second long filterbank file to just 1 second) is shown here (typed on one line)…

./hawkfbt -i rtl_m578742879_f0436000000_t0833m45_s2400_c00.fil -o 57874.3131.fil -s -b 2172.78 -e 2173.78

NOTE: file references are filenames only - paths have been stripped out to shorten the command-lines.

Using DSPSR to Generate an ‘*.ar’ Format File

Once the filterbank file has been cropped by ‘hawkfbt’ a conversion to archive format (‘*.ar’) is needed in order to use PSRPLOT.  This is done by feeding the cropped filterbank file to DSPSR.  Normally filterbank files fed to DSPSR are long observations containing many pulsar pulses - but here we are looking at a single pulse event in a small 1 second file.  Therefore, we need to tell DSPSR there is only one ‘period’ in the one second of data. This is done by specifying ‘-c 1’ as the ‘period’. Note also that in order for the PSRPLOT output to contain the de-dispersed pulse profile the optimum DM for the pulse event also needs to be supplied to DSPSR. In this example the optimum DM is 56.75. An output file can be specified (‘-O’) - in this case just the input filename with a ’dm56.75' appended…

dspsr -D 56.75 -c 1 -m 60000 -O 57874.3131.dm56.75 57874.3131.fil

...which produces an archive format file named '’.

Using PSRPLOT to Generate a Dynamic Spectrum

NOTE: in the following command-line some of the labelling parameters have to be contained in a separate text file (e.g., 'psrplot.cmds' referenced by the '-s' option) as the parsing fails if PSRPLOT is called with those parameters written directly on the command-line.

To generate a dynamic spectrum accompanied by a de-dispersed pulse event profile from the 1 second archive format file the following command line can be used…

psrplot -p freq+ -D -s psrplot.cmds

...where the 'psrplot.cmds' file contains...




above:c=DM:56.75 SNR:376.9 QF:0.97



freq:x:lab=Event Time (s) after MJD 57874.2879 (57874.3131)




...where the x-range has been further narrowed down from the 1 second duration to ± 50 ms surrounding the transient - which produces the result below...

NOTE: the ringing before and after the pulse is an artifact of the professional processing chain - it's not visible in plots generated by HawkRAO  code as shown above.

PSRPLOT of Dispersed Pulse at DM=56.75 (Crab's DM)

Results From Using a Professional Application Processing Chain

Although the final dispersed transient dynamic spectrum plot displayed above was created using a professional application (PSRPLOT), the identification, time and determination of the DM of the dispersed transient was obtained via HawkRAO code.

To cross-check these results, the filterbank file was re-processed solely by professional applications.

Finding the Dispersed Transients in the MJD 57874 Observation Solely Using Professional Applications

Two types of plots can be done.

Using PREPDATA to Generate ‘*.dat/*.inf’ File Pairs

If the following is entered on one line, PREPDATA will generate de-dispersed ‘*.dat’ files over the DM range/step specified - in this example from DM = 40 to 70 in steps of 0.1.

for i in $(seq 40 0.1 70); do prepdata -nobary -dm $i -o “57874_$i” rtl_m578742879_f0436000000_t0833m45_s2400_c00.fil; done

Using PREPSUBBAND to Generate ‘*.dat/*.inf’ File Pairs

The equivalent  PREPSUBBAND command line - the method used - is...

prepsubband -nobary -lodm 40 -dmstep 0.1 -numdms 300 -o “57874_” rtl_m578742879_f0436000000_t0833m45_s2400_c00.fil

Note that this takes about 600 seconds to complete on an SSD. An SSD is necessary as running this on a USB hard disk drive slows to a snail's pace about half-way through due to disk head movement for the sequential read data/write data operations.   Compare this with the ~60 seconds for the HawkRAO search code on normal USB hard disk drive - about 10x faster.

After executing this command there are 300 '*.dat/*.inf' file pairs which are de-dispersed time series files - one pair for each of the 0.1 DM steps between DM=40 to DM=70.

Searching ‘*.dat/*.inf’ File Pairs for Single Pulse Candidates with the ‘’ Python Script

This Python script should be run in the directory containing the series of de-dispersed ‘*.dat/*.inf’ file pairs previously created by PREPSUBBAND or PREPDATA as above.  The output of running the script is a ‘*.singlepulse’ file for each ‘*.dat/*.inf’ file pair.  The Python script then uses those '*.singlepulse' files to produce a ‘*.ps’ plot file as shown below.

The plot above shows the timing and peak DM for events. A distinct ‘christmas-tree’ pattern in the ‘Signal-to-Noise vs DM’ plot top-right is a solid indication of a dispersed pulse.

There are a number candidates at the Crab Pulsar DM - but the one at 2173 seconds can be zoomed into (this the selected candidate in HawkRAO code results previously shown)...

Once again, a distinct ‘christmas-tree’ pattern in the ‘Signal-to-Noise vs DM’ plot top-right is a solid indication of a dispersed pulse.

These DM and timing results can be used to examine the events in more detail using EXPLOREDAT (detailed below) or a ‘hawkfbt/dspsr/psrplot’ chain (detailed previously).

Using EXPLOREDAT to Examine Single Pulses in More Detail

Once the DM and time position of events is determined above, EXPLOREDAT can be used to view the relevant '*.dat/*.inf' files to examine the de-dipersed pulse profile...

exploredat 57874_DM56.7.dat

...which produces a result as shown below.

..after which (by using keyboard controls) the pulse can be zoomed into to give a result as shown below.


The agreement between HawkRAO code results and the professional processing validates the HawkRAO code.

It would appear on this evidence that Crab Pulsar Giant Pulses are detected in HawkRAO archive data.

Unfortunately - as will be detailed in the next section - 'Complete Archive Processing',  wider analysis casts extreme doubt on this evidence.