DSPSR is a high-performance, open-source, object-oriented, digital signal processing software library and application suite for use in radio pulsar astronomy. It implements an extensive range of modular algorithms that can optionally exploit both multiple-core processors and general-purpose graphics processing units. DSPSR processes continuous streams of radio pulsar astronomical data, producing integrated statistics such as the phase-resolved mean polarisation of the pulsar signal.
The main features of this software are:
- automatic excision of invalid data, such as those lost during transfer or corrupted by impulsive interference
- correction of digitisation distortions via dynamic output level setting (Jenet & Anderson 1998)
- phase-coherent dispersion removal (Hankins & Rickett 1975) with optional Jones matrix convolution for high time-resolution polarimetry (van Straten 2002)
- synthetic filterbank formation with concurrent coherent dedispersion and/or Jones matrix convolution
- full-polarimetric detection, including computation of higher-order moments
- computation of phase-resolved averages (folding) using either a polynomial approximation to the pulsar phase model, a constant period, or acceleration search parameters
- cyclic spectroscopy (Demorest 2011)
- formation of sub-integrations of arbitrary length, including single pulses
- simultaneous folding of multiple pulsars, such as globular cluster or double pulsars
- exploitation of multiple processing cores using parallel computing threads
- accelerated computation on graphics processing units
- transparent buffering of input data to handle the edge effects of certain algorithms, such as the overlap-save method of discrete convolution
- real-time signal processing directly from a ring buffer in shared memory
- time-division multiplexing: discontiguous segments of data may be processed as a single stream to minimise initialisation time.
DSPSR was designed to increase the portability of both algorithms and data. The software is managed using an open-source distributed version control system and installed and compiled using a cross-platform build system. It can read a variety of data formats, including the VLBI Data Interface Format (VDIF), the PSRFITS file format, as well as a number of other custom file formats used at different observatories.
Related Data Collections:
Parkes observations for project P140: semester 1994AUGT - 2010OCTS (42 collections)