## Txt

## PSRFITS Documentation V6.1

The PSRFITS template defines the structure of the FITS file. This documentation takes the PSRFITS template and expands on the brief comment on each line as appropriate.

### Main Header

SIMPLE = T / file does conform to FITS standard

BITPIX = 8 / number of bits per data pixel

NAXIS = 0 / number of data axes

EXTEND = T / FITS dataset may contain extensions

COMMENT FITS (Flexible Image Transport System) format defined in
Astronomy and

COMMENT Astrophysics Supplement Series v44/p363, v44/p371, v73/p359, v73/p365.

COMMENT Contact the NASA Science Office of Standards and Technology
for the

COMMENT FITS Definition document #100 and other FITS information.

COMMENT

HDRVER = '5.4 ' / Header version

FITSTYPE= 'PSRFITS ' / FITS definition for pulsar data files

DATE = ' ' / File creation UTC date (YYYY-MM-DDThh:mm:ss)

OBSERVER= ' ' / Observer name(s)

PROJID = ' ' / Project name

TELESCOP= ' ' / Telescope name

ANT_X = * / [m] Antenna ITRF X-coordinate (D)

ANT_Y = * / [m] Antenna ITRF Y-coordinate (D)

ANT_Z = * / [m] Antenna ITRF Z-coordinate (D)

FRONTEND= ' ' / Receiver ID

IBEAM = ' ' / Beam ID for multibeam systems

NRCVR = * / Number of receiver polarisation channels

FD_POLN = ' ' / LIN or CIRC

FD_HAND = * / +/- 1. +1 is LIN:A=X,B=Y, CIRC:A=L,B=R (I)

FD_SANG = * / [deg] FA of E vect for equal sig in A&B (E)

FD_XYPH = * / [deg] Phase of A* B for injected cal (E)

BACKEND = ' ' / Backend ID

BECONFIG= ' ' / Backend configuration file name

BE_PHASE= * / 0/+1/-1 BE cross-phase:0 unknown,+/-1 std/rev

BE_DCC = * / 0/1 BE downconversion conjugation corrected

BE_DELAY= * / [s] Backend propn delay from digitiser input

TCYCLE = * / [s] On-line cycle time (D)

OBS_MODE= ' ' / (PSR, CAL, SEARCH)

DATE-OBS= ' ' / UTC date of observation (YYYY-MM-DDThh:mm:ss)

OBSFREQ = * / [MHz] Centre frequency for observation

OBSBW = * / [MHz] Bandwidth for observation

OBSNCHAN= * / Number of frequency channels (original)

CHAN_DM = * / [cm-3 pc] DM used for on-line dedispersion

PNT_ID = ' ' / Name or ID for pointing ctr (multibeam feeds)

SRC_NAME= ' ' / Source or scan ID

COORD_MD= ' ' / Coordinate mode (J2000, GALACTIC, ECLIPTIC)

EQUINOX = * / Equinox of coords (e.g. 2000.0)

RA = ' ' / Right ascension (hh:mm:ss.ssss)

DEC = ' ' / Declination (-dd:mm:ss.sss)

BMAJ = * / [deg] Beam major axis length

BMIN = * / [deg] Beam minor axis length

BPA = * / [deg] Beam position angle

STT_CRD1= ' ' / Start coord 1 (hh:mm:ss.sss or ddd.ddd)

STT_CRD2= ' ' / Start coord 2 (-dd:mm:ss.sss or -dd.ddd)

TRK_MODE= ' ' / Track mode (TRACK, SCANGC, SCANLAT)

STP_CRD1= ' ' / Stop coord 1 (hh:mm:ss.sss or ddd.ddd)

STP_CRD2= ' ' / Stop coord 2 (-dd:mm:ss.sss or -dd.ddd)

SCANLEN = * / [s] Requested scan length (E)

FD_MODE = ' ' / Feed track mode - FA, CPA, SPA, TPA

FA_REQ = * / [deg] Feed/Posn angle requested (E)

CAL_MODE= ' ' / Cal mode (OFF, SYNC, EXT1, EXT2)

CAL_FREQ= * / [Hz] Cal modulation frequency (E)

CAL_DCYC= * / Cal duty cycle (E)

CAL_PHS = * / Cal phase (wrt start time) (E)

CAL_NPHS= * / Number of states in cal pulse (I)

STT_IMJD= * / Start MJD (UTC days) (J - long integer)

STT_SMJD= * / [s] Start time (sec past UTC 00h) (J)

STT_OFFS= * / [s] Start time offset (D)

STT_LST = * / [s] Start LST (D)

END

### History Binary Table Extension

Contains a history of the file processing operations with key parameters following each operation, with one line per operation.

XTENSION= BINTABLE / ***** Processing history *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / width of table in bytes

NAXIS2 = * / number of rows

PCOUNT = 0 / size of special data area

GCOUNT = 1 / one data group (required keyword)

TFIELDS = 23 / number of fields per row

EXTNAME = HISTORY / name of this binary table extension

TTYPE# = DATE_PRO / Processing UTC date and time (YYYY-MM-DDThh:mm:ss)

TFORM# = 24A / 24-char string

TTYPE# = PROC_CMD / Processing program and command

TFORM# = 256A / 256_char string

TTYPE# = SCALE / Units (FluxDen/RefFlux/Jansky)

TFORM# = 8A / 8-char string

TTYPE# = POL_TYPE / Polarisation identifier

TFORM# = 8A / 8-char string

TTYPE# = NSUB / Number of Sub-Integrations

TFORM# = 1J / Long integer

TTYPE# = NPOL / Number of polarisations

TFORM# = 1I / Integer

TTYPE# = NBIN / Nr of bins per product (0 for SEARCH mode)

TFORM# = 1I / Integer

TTYPE# = NBIN_PRD / Nr of bins per period

TFORM# = 1I / Integer

TTYPE# = TBIN / Time per bin or sample

TUNIT# = s / units of field

TFORM# = 1D / Double

TTYPE# = CTR_FREQ / Band centre frequency (weighted)

TUNIT# = MHz / units of field

TFORM# = 1D / Double

TTYPE# = NCHAN / Number of frequency channels

TFORM# = 1J / Long integer

TTYPE# = CHAN_BW / Channel bandwidth

TFORM# = 1D / Double

TUNIT# = MHz / units of field

TTYPE# = DM / DM used for dedispersion

TFORM# = 1D / Double

TUNIT# = CM-3 PC / units of field

TTYPE# = RM / RM used for RM correction

TFORM# = 1D / Double

TUNIT# = RAD M-2 / units of field

TTYPE# = PR_CORR / Projection of receptors onto sky corrected

TFORM# = 1I / Integer flag

TTYPE# = FD_CORR / Feed basis correction applied

TFORM# = 1I / Integer flag

TTYPE# = BE_CORR / Backend correction applied

TFORM# = 1I / Integer flag

TTYPE# = RM_CORR / RM correction applied

TFORM# = 1I / Integer flag

TTYPE# = DEDISP / Data dedispersed

TFORM# = 1I / Integer flag

TTYPE# = DDS_MTHD / Dedispersion method

TFORM# = 32A / 32-char string

TTYPE# = SC_MTHD / Scattered power correction method

TFORM# = 32A / 32-char string

TTYPE# = CAL_MTHD / Calibration method

TFORM# = 32A / 32-char string

TTYPE# = CAL_FILE / Name of gain calibration file

TFORM# = 256A / 256-char string

TTYPE# = RFI_MTHD / RFI excision method

TFORM# = 32A / 32-char string

TTYPE# = RM_MODEL / Auxiliary Faraday rotation model description

TFORM# = 32A / 32-char string

TTYPE# = AUX_RM_C / Auxiliary Faraday rotation corrected flag

TFORM# = 1I / Integer flag

TTYPE# = DM_MODEL / Auxiliary dispersion model description

TFORM# = 32A / 32-char string

TTYPE# = AUX_DM_C / Auxiliary dispersion corrected flag

TFORM# = 1I / Integer flag

END

### Observation Description Binary Table Extension

This is a free-format ascii table which can contain any desired information about the observation and/or its processing.

XTENSION= BINTABLE / ***** Observation Description *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / width of table in bytes

NAXIS2 = * / number of rows in table

PCOUNT = 0 / size of special data area

GCOUNT = 1 / one data group (required keyword)

TFIELDS = 1 / Number of fields per row

EXTNAME = OBSDESCR / Name of this binary table extension

TTYPE# = DESCR / Text file stored row by row

TFORM# = 128A / Allow 128 char per row

END

### Ephemeris Binary Table Extension

The pulsar ephemeris file used to form the polyco or predictor file for data folding.

XTENSION= BINTABLE / ***** Pulsar ephemeris *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / width of table in bytes

NAXIS2 = * / number of rows in table

PCOUNT = 0 / size of special data area

GCOUNT = 1 / one data group (required keyword)

TFIELDS = 1 / Number of fields per row

EXTNAME = PSRPARAM / Name of this binary table extension

TTYPE# = PARAM / Text file stored row by row

TFORM# = 128A / Allow 128 char per row

END

### TEMPO1 Polyco History Binary Table Extension

A table of the polyco parameters used for each stage of the processing. See the Tempo documentation for a description of the parameters and the algorithm for pulse phase prediction.

XTENSION= BINTABLE / ***** Polyco history *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / width of table in bytes

NAXIS2 = * / number of rows in table

PCOUNT = 0 / size of special data area

GCOUNT = 1 / one data group (required keyword)

TFIELDS = 13 / Number of fields per row

EXTNAME = POLYCO / name of this binary table extension

TTYPE# = DATE_PRO / UTC date and time (YYYY-MM-DDThh:mm:ss)

TFORM# = 24A / 24-char string

TTYPE# = POLYVER / Polyco version ID

TFORM# = 16A / 16-char string

TTYPE# = NSPAN / Span of polyco block in min

TFORM# = 1I / Integer

TTYPE# = NCOEF / Nr of coefficients (<=15)

TFORM# = 1I / Integer

TTYPE# = NPBLK / Nr of blocks (rows) for this polyco

TFORM# = 1I / Integer

TTYPE# = NSITE / Observatory code

TFORM# = 8A / 8-char string

TTYPE# = REF_FREQ / Reference frequency for phase

TFORM# = 1D / Double

TUNIT# = MHz / Units of field

TTYPE# = PRED_PHS / Predicted pulse phase at observation start

TFORM# = 1D / Double

TTYPE# = REF_MJD / Reference MJD

TFORM# = 1D / Double

TTYPE# = REF_PHS / Reference phase

TFORM# = 1D / Double

TTYPE# = REF_F0 / Zero-order pulsar frequency

TFORM# = 1D / Double

TUNIT# = Hz / Units of field

TTYPE# = LGFITERR / Log_10 of polynomial fit rms error in periods

TFORM# = 1D / Double

TTYPE# = COEFF / Polyco coefficients

TFORM# = 15D / NCOEF doubles

END

### TEMPO2 Predictor Binary Table Extension

Table used by Tempo2 for prediction of pulse phases. The table consists of a two-dimensional (time and frequency) array of Chebyshev basis functions along with header parameters. See the Tempo2 documentation for a description of the predictor file and how to make use of it.

XTENSION= BINTABLE / ***** Tempo2 Predictor *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / width of table in bytes

NAXIS2 = * / number of rows in table

PCOUNT = 0 / size of special data area

GCOUNT = 1 / one data group (required keyword)

TFIELDS = 1 / Number of fields per row

EXTNAME = T2PREDICT / Name of this binary table extension

TTYPE# = PREDICT / Text file stored row by row

TFORM# = 128A / Allow 128 char per row

END

### Coherent Dedispersion Parameters Binary Table Extension

Table describing the details of the coherent dedispersion processing applied to (sub)band data.

XTENSION= BINTABLE / ***** Coherent Dedispersion Parameters *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / width of table in bytes

NAXIS2 = * / number of rows in table (NCHAN)

PCOUNT = 0 / size of special data area

GCOUNT = 1 / one data group (required keyword)

TFIELDS = 3 / number of fields per row

EXTNAME = COHDDISP / name of this binary table extension

DOMAIN = * / Coherent dedisp domain (TIME/FREQ)

CHRPTYPE= * / Chirp function descriptor

DM = * / [cm-3 pc] DM used for coherent dedispersion

DOPPLER = * / [v/c] Doppler correction factor

DATANBIT= * / Number of quantization levels for data

CHRPNBIT= * / Number of quantization levels for chirp

NCHAN = * / Number of input frequency channels

TTYPE# = FREQ / Center frequency of input channel

TFORM# = 1D / Double

TUNIT# = MHz / Units of field

TTYPE# = BW / Bandwidth of input channel

TFORM# = 1D / Double

TUNIT# = MHz / Units of field

TTYPE# = OUT_NCHAN / Number of output frequency channels

TFORM# = 1J / Long integer

TTYPE# = OUT_FREQ / Center frequency of each output channel

TFORM# = 1D / OUT_NCHAN doubles

TUNIT# = MHz / Units of field

TTYPE# = OUT_BW / Bandwidth of each output channel

TFORM# = 1D / OUT_NCHAN doubles or one double for all

TUNIT# = MHz / Units of field

TTYPE# = NCHIRP / Number of complex samples in FFT or FIR filter

TFORM# = 1J / OUT_NCHAN long int one long int for all

TTYPE# = NCYC_POS / Number of complex samples discarded from start

TFORM# = 1J / OUT_NCHAN long int or one long int for all

TTYPE# = NCYC_NEG / Number of complex samples discarded from end

TFORM# = 1J / OUT_NCHAN long int or one long int for all

END

### Original Bandpass Binary Table Extension

Table recording the input power spectrum for each polarisation channel.

XTENSION= BINTABLE / ***** Original bandpasses *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / width of table in bytes

NAXIS2 = * / number of rows in table

PCOUNT = 0 / size of special data area

GCOUNT = 1 / one data group (required keyword)

TFIELDS = 3 / number of fields per row

NCH_ORIG= * / Number of channels in original bandpass

BP_NPOL = * / Number of polarizations in bandpass

EXTNAME = BANDPASS / name of this binary table extension

TTYPE# = DAT_OFFS / Data offset for each bandpass

TFORM# = E / BP_NPOL floats

TTYPE# = DAT_SCL / Data scale factor: Val=Data*DAT_SCL + DAT_OFFS

TFORM# = E / BP_NPOL floats

TTYPE# = DATA / Bandpass for autocorrelations

TDIM# = (*,*) / Data table dimensions = (NCH_ORIG,BP_NPOL)

TFORM# = I / NCH_ORIG*BP_NPOL integers

TUNIT# = Jy / Bandpass amplitude units

END

### Flux Calibration Data Binary Table Extension

Table giving spectra of the system noise and the injected calibration signal and their uncertainties for each polarisation channel. Channel centre frequencies and weights are also recorded. These data are normally obtained by recording the injected calibration signal pointing on and off a standard flux-calibration source (e.g. Hydra A). They are only available after processing of calibration observations, for example, using the PSRCHIVE program "fluxcal".

XTENSION= BINTABLE / ***** Flux Calibration Data *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / width of table in bytes

NAXIS2 = * / number of rows in table

PCOUNT = 0 / size of special data area

GCOUNT = 1 / one data group (required keyword)

TFIELDS = 6 / Number of fields per row

EXTNAME = FLUX_CAL / name of this binary table extension

CAL_MTHD= / Flux cal method

SCALFILE= / Cal file(s) used to derive flux-cal data

NCHAN = * / Nr of frequency channels (I)

NRCVR = * / Number of polarisation channels (I)

EPOCH = / [MJD] Epoch of calibration obs

TTYPE# = DAT_FREQ / Centre frequency for each channel

TFORM# = D / NCHAN doubles

TUNIT# = MHz / Units of field

TTYPE# = DAT_WTS / Weights for each channel

TFORM# = E / NCHAN floats

TTYPE# = S_SYS / System equiv. flux density for each rcvr chan.

TDIM# = (*,*) / Dimensions (NCHAN,NRCVR)

TFORM# = E / NCHAN*NRCVR floats

TUNIT# = Jy

TTYPE# = S_SYSERR / Est. error of system equiv. flux density

TDIM# = (*,*) / Dimensions (NCHAN,NRCVR)

TFORM# = E / NCHAN*NRCVR floats

TUNIT# = Jy

TTYPE# = S_CAL / Calibrator flux density for each rcvr channel

TDIM# = (*,*) / Dimensions (NCHAN,NRCVR)

TFORM# = E / NCHAN*NRCVR floats

TUNIT# = Jy

TTYPE# = S_CALERR / Estimated error of calibrator flux density

TDIM# = (*,*) / Dimensions (NCHAN,NRCVR)

TFORM# = E / NCHAN*NRCVR floats

TUNIT# = Jy

END

### Artificial Calibrator Stokes Parameters Binary Table Extension

Fractional polarisation of the injected calibration signal, expressed as spectra of Stokes Q/I, U/I and V/I.

XTENSION= BINTABLE / ***** Artificial Calibrator Stokes Data *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / width of table in bytes

NAXIS2 = * / number of rows in table

PCOUNT = 0 / size of special data area

GCOUNT = 1 / one data group (required keyword)

TFIELDS = 3 / Number of fields per row

EXTNAME = CAL_POLN / name of this binary table extension

NCHAN = * / Nr of channels in flux cal file

TTYPE# = DAT_WTS / Weights for each channel

TFORM# = E / NCHAN floats

TTYPE# = DATA / Stokes (Q,U,V) of calibrator rel. to Cal I

TDIM# = (*,*) / Dimensions (3,NCHAN)

TFORM# = E / 3*NCHAN floats

TTYPE# = DATAERR / Estimated error of Stokes (Q,U,V)

TDIM# = (*,*) / Dimensions (3,NCHAN)

TFORM# = E / 3*NCHAN floats

END

### Feed Cross-Coupling Parameters Binary Table Extension

Table of feed cross-coupling parameters used to correct for the effects of coupling between nominally orthogonal feeds. They are normally measured by analysing a set of observations of a strong pulsar over a wide range of parallactic angles using, for example, the PSRCHIVE program PCM.

XTENSION= BINTABLE / ***** Feed Cross-Coupling parameters *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / width of table in bytes

NAXIS2 = * / number of rows in table

PCOUNT = 0 / size of special data area

GCOUNT = 1 / one data group (required keyword)

TFIELDS = 3 / Number of fields per row

EXTNAME = FEEDPAR / Name of this binary table extension

CAL_MTHD= ' ' / Cross-coupling method

NCPAR = * / Number of coupling parameters

NCOVAR = * / Number of parameter covariances

NCHAN = * / Nr of channels in Feed coupling data

EPOCH = ' ' / [MJD] Epoch of calibration obs

TTYPE# = DAT_FREQ / [MHz] Centre frequency for each channel

TFORM# = D / NCHAN doubles

TUNIT# = MHz / Units of field

TTYPE# = DAT_WTS / Weights for each channel

TFORM# = E / NCHAN floats

TTYPE# = DATA / Cross-coupling data

TDIM# = (*,*) / Dimensions (NCPAR,NCHAN)

TFORM# = E / NCPAR*NCHAN floats

TTYPE# = DATAERR / Estimated error of cross-coupling data

TDIM# = (*,*) / Dimensions (NCPAR,NCHAN)

TFORM# = E / NCPAR*NCHAN floats

TTYPE# = COVAR / Formal covariances of coupling data

TDIM# = (*,*) / Dimensions (NCOVAR,NCHAN)

TFORM# = E / NCOVAR*NCHAN floats

TTYPE# = CHISQ / Total chi-squared (objective merit function)

TFORM# = E / NCHAN floats

TTYPE# = NFREE / Number of degrees of freedom

TFORM# = J / NCHAN long (32-bit) integers

END

### Spectral Kurtosis Binary Table Extension

This table contains statistics relating to RFI excision using the spectral kurtosis method (Nita & Gary 2010), as implemented (for example) by the data analysis program DSPSR.

XTENSION= BINTABLE / ***** Spectral Kurtosis *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / Width of table in bytes

NAXIS2 = * / Number of rows in table

PCOUNT = 0 / Size of special data area

GCOUNT = 1 / One data group (required keyword)

TFIELDS = * / Number of fields per row

NPOL = * / Number of polarizations in SK data

NCHAN = * / Nr of channels in SK data

EXTNAME = SPECKURT / Name of this binary table extension

TTYPE# = SK_INT / Samples integrated in SK statistics

TFORM# = V / unsigned integer

TTYPE# = SK_EXCIS / SK Excision limits

TFORM# = V / unsigned integer

TTYPE# = FIL_SUM / Filtered SK sum

TDIM# = (*,*) / Data table dimensions (NPOL*NCHAN)

TFORM# = E / NPOL*NCHAN floats

TTYPE# = FIL_HIT / Filtered SK hits

TDIM# = (*,*) / Data table dimensions (NPOL*NCHAN)

TFORM# = V / NPOL*NCHAN unsigned integers

TTYPE# = UNFIL_SUM / Unfiltered SK sum

TDIM# = (*,*) / Data table dimensions (NPOL*NCHAN)

TFORM# = E / NPOL*NCHAN floats

TTYPE# = UNFIL_HIT / Unfiltered SK hits

TFORM# = K / 64 bit signed integer

END

### Subintegration data Binary Table Extension

Table containing the observed power spectra, that is spectra after detection or multiplication. Two modes of observation are catered for:

**fold mode:**where the data are synchronously folded at the apparent period of a pulsar using a Tempo polyco file or a Tempo2 predictor file and samples are binned in pulse phase

**search mode:**where streamed multichannel data are recorded in successive samples.

In both modes, the data can have a single polarisation (normally the sum of two orthogonal polarisations), two orthogonal polarisations or all four polarisation spectra.

In fold mode, data are summed over a sub-integration time and successive sub-integrations are stored in successive rows of the BINTABLE. In search mode, data are blocked in groups of NSBLK samples and stored in successive rows of the BINTABLE. To avoid excessive overheads, NSBLK is typically 4096.

Fold-mode data are stored as 16-bit signed integers with elements of the data array in bin, channel and polarisation order with the pulse profile bins in contiguous locations. Before conversion to integers, the mean channel power (averaged over bins and polarisations) during the sub-integration is subtracted from the channel data and the residual is scaled so that the values in the DATA array cover the whole available range (-32768 to 32767). The original observed powers are reconstructed using:

Search-mode data may be stored as 1-bit, 2-bit, 4-bit or 8-bit signed or unsigned integers and are written as a byte array. Data digitised with less than 8 bits are packed with earlier samples in higher-order bits of the byte (i.e., "big-endian"). Elements of the data array are in channel, polarisation and sample order with the spectral channels in contiguous locations.

Prior to few-bit digitisation, search-mode sample spectra are generally normalised and given zero mean by forming (S-R)/R, where S is the observed spectrum and R is an estimate of the bandpass or reference spectrum. This effectively does a bandpass calibration and gives an approximately constant rms deviation across the spectrum in order to optimise the few-bit digitisation. These data are normally analysed directly without application of the scale factors and offsets. If required, the reference spectrum may be reconstructed from the DAT_OFFS and DAT_SCL fields of the table. However note that, if channel running means are used to form the reference spectrum, the recorded values are sampled at sub-integration intervals and do do not necessarily represent the exact values used to form the recorded spectra.

When unsigned integers are used to record the truncated data, a zero offset (ZERO_OFFS) is added to the digitised value. Normally ZERO_OFFS = 2^(NBIT - 1) - 0.5, but for total-intensity multi-bit data, a smaller value may be used to give more headroom. The original observed values are reconstructed using:

The output data for long search-mode observations may be split in time or frequency and recorded in separate files to keep file sizes at manageable values. It is assumed that the data sampling is continuous across the split files.

XTENSION= BINTABLE / ***** Subintegration data *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / width of table in bytes

NAXIS2 = * / Number of rows in table (NSUBINT)

PCOUNT = 0 / size of special data area

GCOUNT = 1 / one data group (required keyword)

TFIELDS = 18 / Number of fields per row

EPOCHS = ' ' / Epoch convention (VALID, MIDTIME, STT_MJD)

- If EPOCHS=VALID, then
- the rising edge of phase bin zero corresponds to an integer turn of the pulsar as predicted by the approximation to the timing model used during folding (e.g. tempo2 predictor); and
- the epoch recorded for each sub-integration (typically near the mid-time of the integration) also corresponds to an integer turn of the pulsar.

- If EPOCHS=MIDTIME, then
- the rising edge of phase bin zero corresponds to an integer turn of the pulsar as predicted by the approximation to the timing model used during folding (e.g. tempo2 predictor); and
- the epoch recorded for each sub-integration has no relation to pulse phase.

- If EPOCHS=STT_MJD, then
- the rising edge of phase bin zero corresponds to the phase of the pulsar as predicted by the approximation to the timing model used during folding at the epoch defined by the STT_IMJD, STT_SMJD, and STT_OFFS parameters; this is typically the case when the first sample in the time series is folded into the first phase bin. Furthermore,
- the epoch recorded for each sub-integration has no relation to pulse phase.

INT_TYPE= ' ' / Time axis (TIME, BINPHSPERI, BINLNGASC, etc)

INT_UNIT= ' ' / Unit of time axis (SEC, PHS (0-1), DEG)

SCALE = ' ' / Intensity units (FluxDen/RefFlux/Jansky)

POL_TYPE= ' ' / Polarisation identifier (e.g., AABBCRCI, AA+BB)

NPOL = * / Nr of polarisations

TBIN = * / [s] Time per bin or sample

NBIN = * / Nr of bins (PSR/CAL mode; else 1)

NBIN_PRD= * / Nr of bins/pulse period (for gated data)

Alternatively, if more than one pulse period is contained within the recorded pulse profile, then NBIN_PRD is a sub-multiple of NBIN.

PHS_OFFS= * / Phase offset of bin 0 for gated data

NBITS = * / Nr of bits/datum (SEARCH mode data, else 1)

ZERO_OFF= * / Zero offset for SEARCH-mode data

SIGNINT = * / 1 for signed ints in SEARCH-mode data, else 0

NSUBOFFS= * / Subint offset (Contiguous SEARCH-mode files)

NCHAN = * / Number of channels/sub-bands in this file

CHAN_BW = * / [MHz] Channel/sub-band width

DM = * / [cm-3 pc] DM for post-detection dedisperion

RM = * / [rad m-2] RM for post-detection deFaraday

NCHNOFFS= * / Channel/sub-band offset for split files

NSBLK = * / Samples/row (SEARCH mode, else 1)

NSTOT = * / Total number of samples (SEARCH mode, else 1)

EXTNAME = SUBINT / name of this binary table extension

TTYPE# = INDEXVAL / Optionally used if INT_TYPE != TIME

TFORM# = 1D / Double

TTYPE# = TSUBINT / Length of subintegration

TFORM# = 1D / Double

TUNIT# = s / Units of field

TTYPE# = OFFS_SUB / Offset from Start of subint centre

TFORM# = 1D / Double

TUNIT# = s / Units of field

TTYPE# = LST_SUB / LST at subint centre

TFORM# = 1D / Double

TUNIT# = s / Units of field

TTYPE# = RA_SUB / RA (J2000) at subint centre

TFORM# = 1D / Double

TUNIT# = deg / Units of field

TTYPE# = DEC_SUB / Dec (J2000) at subint centre

TFORM# = 1D / Double

TUNIT# = deg / Units of field

TTYPE# = GLON_SUB / [deg] Gal longitude at subint centre

TFORM# = 1D / Double

TUNIT# = deg / Units of field

TTYPE# = GLAT_SUB / [deg] Gal latitude at subint centre

TFORM# = 1D / Double

TUNIT# = deg / Units of field

TTYPE# = FD_ANG / [deg] Feed angle at subint centre

TFORM# = 1E / Float

TUNIT# = deg / Units of field

TTYPE# = POS_ANG / [deg] Position angle of feed at subint centre

TFORM# = 1E / Float

TUNIT# = deg / Units of field

TTYPE# = PAR_ANG / [deg] Parallactic angle at subint centre

TFORM# = 1E / Float

TUNIT# = deg / Units of field

TTYPE# = TEL_AZ / [deg] Telescope azimuth at subint centre

TFORM# = 1E / Float

TUNIT# = deg / Units of field

TTYPE# = TEL_ZEN / [deg] Telescope zenith angle at subint centre

TFORM# = 1E / Float

TUNIT# = deg / Units of field

TTYPE# = AUX_DM / additional DM (ionosphere, corona, etc.)

TFORM# = 1D / Double

TUNIT# = CM-3 PC / units of field

TTYPE# = AUX_RM / additional RM (ionosphere, corona, etc.)

TFORM# = 1D / Double

TUNIT# = RAD M-2 / units of field

TTYPE# = DAT_FREQ / [MHz] Centre frequency for each channel

TFORM# = D / NCHAN doubles

TUNIT# = MHz / Units of field

TTYPE# = DAT_WTS / Weights for each channel

TFORM# = E / NCHAN floats

TTYPE# = DAT_OFFS / Data offset for each channel

TFORM# = E / NCHAN*NPOL floats

TTYPE# = DAT_SCL / Data scale factor (outval=dataval*scl + offs)

TFORM# = E / NCHAN*NPOL floats

TTYPE# = DATA / Subint data table

TDIM# = (*,*,*) / (NBIN,NCHAN,NPOL) or (NCHAN,NPOL,NSBLK*NBITS/8)

TFORM# = I / I (Fold) or B (1-8 bit) Search

TUNIT# = Jy / Units of subint data

END

### Digitiser Statistics Binary Table Extension

A table of digitiser parameters sampled at regular intervals, for example, each correlator cycle. For example, for each cycle, the mean and rms levels of the digitised signal for each input polarisation channel could be recorded.

XTENSION= BINTABLE / ***** Digitiser statistics *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / Width of table in bytes

NAXIS2 = * / Number of rows in table (NSUBINT)

PCOUNT = 0 / Size of special data area

GCOUNT = 1 / One data group (required keyword)

TFIELDS = 1 / Number of fields per row

DIG_MODE= ' ' / Digitiser mode

NDIGR = * / Number of digitised channels (I)

NPAR = * / Number of digitiser parameters

NCYCSUB = * / Number of correlator cycles per subint

DIGLEV = ' ' / Digitiser level-setting mode (AUTO, FIX)

EXTNAME = DIG_STAT / Name of this binary table extension

TTYPE# = ATTEN / Attenuator settings

TFORM# = E / NDIGR floats

TUNIT# = db / Units of field

TTYPE# = DATA / Digitiser statistics

TDIM# = (*,*,*) / Data table dimensions (NPAR,NDIGR,NCYCSUB)

TFORM# = E / NPAR*NDIGR*NCYCSUB floats

END

### Digitiser Counts Binary Table Extension

A table containing histograms of occurrence of digitised sample values for each polarisation or digitiser channel integrated over some period, e.g., a correlator cycle. Table values are offset and scaled to cover the full range of a 16-bit signed integer. The original histogram values are reconstructed using:

XTENSION= BINTABLE / ***** Digitiser counts *****

BITPIX = 8 / N/A

NAXIS = 2 / 2-dimensional binary table

NAXIS1 = * / Width of table in bytes

NAXIS2 = * / Number of rows in table

PCOUNT = 0 / Size of special data area

GCOUNT = 1 / One data group (required keyword)

TFIELDS = 3 / Number of fields per row

DIG_MODE= ' ' / Digitiser mode

DYN_LEVT= * / Timescale for dynamic leveling

NDIGR = * / Number of digitised channels (I)

NLEV = * / Number of digitiser levels

NPTHIST = * / Number of points in histogram (I)

DIGLEV = ' ' / Digitiser level-setting mode (AUTO, FIX)

LEVSEPN = * / Separation of dig. threshold levels in rms

EXTNAME = DIG_CNTS / Name of this binary table extension

TTYPE# = DAT_OFFS / Data offset for each histogram

TFORM# = E / NDIGR floats

TTYPE# = DAT_SCL / Data scale factor for each histogram

TFORM# = E / NDIGR floats

TTYPE# = DATA / Digitiser count data

TDIM# = (*,*) / Data table dimensions (NPTHIST,NDIGR) \\
TFORM# = I / NPTHIST*NDIGR integers

END