PythonPlottingPulsarData
PythonPlottingPulsarData
Peter W East
Abstract
This article follows on from a recent Journal article on detailed analysis of compressed pulsar
data recordings collected by GNU Radio [1]. A Python program has been developed to
present the data analysis in a similar form to PRESTO [2]. As well as duplicating the PRESTO
sub‐plots with the signal‐to‐noise ratio (SNR) measuring statistic replacing Chi‐square, some
extra graphs are introduced to strengthen pulsar validation of low SNR acquisitions. The
package features speeded‐up data analysis, RFI mitigation and results presentation, together
better facilitating pulsar recognition confidence.
In this article results for both strong and weak pulsar acquisitions are included.
Introduction
The technique involves compressing very long data records, as detected and averaged by the
GNU Radio platform without losing any pulsar information so that many post‐processing
algorithms can be applied to rapidly explore detailed pulsar recognition aspects. This
accelerated process produces a number of data files describing various pulsar parameters.
The Python program presents the analyzed data graphically similar to PRESTO, so that
parameter searches can be optimized, RFI blanked, SNR optimized and data confidently
validated.
Software
Example 1 data was recorded using the software: 'filterbank_4ch_2k', offered by Hannes
Fasching in Reference [3], based on work done by Andrea and Giorgio Dell'Immagine [4].
Operating under GNU Radio, the recorded data is in 2‐byte binary form and is split into 4
sub‐bands at a 2ksps clock rate. 5 minutes of recorded data was analyzed in 'syn_compress'
in 18 seconds, producing 20 parameter analysis files. The test mode to optimize period
matching ran in under 10 seconds. Important numerical results are listed in the command
terminal. The output plots allow identification of RFI affected bands or compressed data
sections for setting up band and section blanking regions.
Example 2 and 3 data were recorded on two consecutive days using a variation of
'stupid_simple_pulsar', designed by Marcus Leech [5]. In these examples the data is output
as 32‐bit binary in 16 frequency bands each at 500sps clock rate. In case 2, 4 hours 40
minutes of recording with significant data averaging was processed by 'syn_compress' in
under 25 seconds. The initial data fold of Example 2 indicated an SNR of 4.8:1 which rose to
7.9:1 after correct de‐dispersion and optimum choice of the rolling average range and
central section position (38,50). Matching the expected topocentric frequency on two
consecutive days within the SDR clock and TEMPO accuracy is further evidence of valid
pulsar detection.
The data compression and analysis software, 'syn_compress' comprised two similar versions
to cope with the two types of binary data and FFT band reversal (a filterbank file format
version is planned). The data plotting program, 'pul_plot.py' based on Python3 is run under
the 'Spyder IDE'.
Recording and analysis software versions for WINDOWS and LINUX are under development
but can be made available for testing on request.
Conclusions
Using the SNR statistic for examining data recordings extends the scope of pulsar data
analysis and verification to much lower peak SNR levels. The data compression approach
usefully reduces the operator data investigation and optimization time to provide
complementary results to PRESTO as presented by the Python graphics.
The new cumulative SNR plots for both multiple bands and sections confirms pulsar
scintillating presence along the record, differentiates pulse trains from noise/RFI [1]. It also
adds confidence in receiver drift‐scan modes by confirming extra‐terrestrial signal reception
by noting that the median received signal amplitude generally follows the antenna beam
pattern.
The most rewarding innovation is the rolling average scheme that exploits scintillation by
identifying quite clearly, the optimum regions to fold data to produce the best SNR estimate.
Final Comments
Positively recognizing weak pulsar signals in noise and RFI is no easy task. This exercise has
sought to identify and separate the various differentiating properties of pulsar pulse trains,
noise and RFI and the Python plots in this article summarize most of them. There are more,
as described in previous articles, the search profiles of dispersion measure, pulsar pulse train
period and period rate are well‐defined and matching these to the theory, also adds further
confidence.
Spectral search and folding techniques on the other hand fall far short in detection
sensitivity, compared to the standard fold algorithm.
Pulsar recognition prerequisites include system calibration against the Lorimer and Kramer
pulsar radiometer equation, choosing a low RFI band at lower radio frequencies and, apart
from pointing the antenna in the right place at the right time, ideally locking the SDR to a
high stability reference oscillator [6]. A high accuracy SDR clock and using TEMPO to
determine the expected topocentric period/frequency at the antenna location and
observation time, conveniently narrows the search algorithms range to locate a possible
pulsar target.
There are various simple checks that can be employed such as folding half records, double‐
period folds and half‐band folds, but by far the most positive check is dispersion measure
search indicating an extra‐terrestrial source.
Notwithstanding the power of various amateur and professional tools, there is always a
finite probability that limited data sets of even pure noise can result in false identifications of
weak targets. However, with intelligent use of these tools there is a very high probability of
correct identification, even for some very low SNR initial indications.
References
[1] PW East. Detailed Evaluation of Low SNR Pulsar Data Records, Journal of the Society of Amateur
Radio Astronomers., March/April 2022.
[2] PRESTO Home, https://www.cv.nrao.edu/~sransom/presto/
[3] H Fasching (OE5JFL) Pulsars ‐ How to Detect. https://qsl.net/oe5jfl/pulsar/detecting_pulsars.pdf
[4] G Dell'Immagine, A Dell'Immagine. Linux pulsar software for recording and analysis.
https://github.com/gio54321/pulsar‐distro‐guide
[5] MD Leech. https://www.ccera.ca/papers/memo‐12‐a‐pulsar‐observing‐capability‐at‐ccera/
[6] DR Lorimer, M Kramer, Handbook of Pulsar Astronomy, Cambridge University Press, 2005. p 265.