Pulsar Group PsrfitsDocumentation/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

Standard FITS preamble. Conformity with FITS standards can be checked using fits_verify.

HDRVER = '6.1 ' / Header version
FITSTYPE= 'PSRFITS ' / FITS definition for pulsar data files
DATE = ' ' / File creation UTC date (YYYY-MM-DDThh:mm:ss)

Approximate UTC date and time of file creation (YYYY-MM-DDThh:mm:ss)

OBSERVER= ' ' / Observer name(s)
PROJID = ' ' / Project name
TELESCOP= ' ' / Telescope name

Should conform with TEMPO2 usage.

ANT_X = * / [m] Antenna ITRF X-coordinate (D)
ANT_Y = * / [m] Antenna ITRF Y-coordinate (D)
ANT_Z = * / [m] Antenna ITRF Z-coordinate (D)

Location in the ITRF reference frame. Normally obtained from a VLBI solution.

FRONTEND= ' ' / Receiver ID

Observatory standard name for receiver package.

IBEAM = ' ' / Beam ID for multibeam systems

Beam ID number for multibeam systems. Normally beam 0 is the on-axis beam.

NRCVR = * / Number of receiver polarisation channels

Normally = 2 for receiver systems with polarisation capability.

FD_POLN = ' ' / LIN or CIRC

Native polarisation of the feed receptors.

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

Code for sense of feed. FD_HAND = +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver (or at the sky), for FD_HAND = +1, the rotation from A (or X) to B (or Y) is counterclockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. See van Straten et al. (2010), PASA, 27, 104 for a full description of the polarisation conventions adopted for PSRFITS and PSRCHIVE.

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

Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing FA or PA (clockwise when looking down on a prime focus receiver) and in the range +/- 180 deg.

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

Phase of the correlator cross-product A* B for the injected calibration signal. For a linearly polarised calibration signal at FA = FD_SANG, FD_XY = 0. For cal injection in the perpendicular direction (FD_SANG +/- 90 deg), FD_XY = 180 deg.

BACKEND = ' ' / Backend ID

Observatory standard name for the signal-processing (colloquially 'backend') system.

BECONFIG= ' ' / Backend configuration file name

Name of a configuration file used to set up the backend system.

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

BE_PHASE = +1 if the cross-product phase increases with increasing E-vector FA, = -1 for the opposite and = 0 if not known. Changing the sign of BE_PHASE effectively conjugates the electric field and reverses the sign of Stokes V.

BE_DCC = * / 0/1 BE downconversion conjugation corrected

Flag to indicate lower-sideband conjugation corrected in signal processing.

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

Difference between actual signal arrival-time at digitiser and the time-tag value, positive if the time tag is early.

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

Native cycle time of correlation system.

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

'PSR' for a fold-mode observation of a pulsar, 'CAL' for a fold-mode observation of an injected calibration signal, 'SEARCH' for streamed multi-channel data.

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

Approximate UTC date and time of the start of an observation.

OBSFREQ = * / [MHz] Centre frequency for observation

Radio frequency at the mid-point of channel OBSNCHAN/2 of the original observed spectrum, where channels are numbered from 1 to OBSNCHAN. Note: channel 0 (containing the zero-frequency component) is assumed to be dropped.

OBSBW = * / [MHz] Bandwidth for observation

Nominal total bandwidth of the original observed spectrum, i.e. OBSNCHAN x Channel bandwidth.

OBSNCHAN= * / Number of frequency channels (original)

Number of frequency channels in the original spectrum.

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

Dispersion measure value used for on-line (normally coherent) dedispersion.

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

Label encoding the on-axis beam position for an observation with a multibeam system.

SRC_NAME= ' ' / Source or scan ID

Source name or label for an observation.

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

Reference frame for coordinates and position angle (PA)

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

Julian reference date for the equinox of the celestial (RA, Dec) coordinate system. (Note, this is a floating point number, not a string.)

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

Source or pointing right ascension (included for VO compatability).

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

Source or pointing declination (included for VO compatability).

BMAJ = * / [deg] Beam major axis length
BMIN = * / [deg] Beam minor axis length
BPA = * / [deg] Beam position angle

Effective beam major and minor axes and position angle on sky.

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

Pointing or scan-start position in COORD_MD reference frame.

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

For 'TRACK' the beam axis tracks a fixed point on the sky; for 'SCANGC' the beam axis tracks at a uniform rate along a great circle on the sky; for 'SCANLAT' the beam axis tracks at a uniform rate along a line of constant latitude or declination (depending on COORD_MD).

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

Pointing or scan-stop position in COORD_MD reference frame. (Normally equal to the STT position for a TRACK-mode observation)

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

Scan or observation requested duration.

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

During an observation: 'FA' means constant FA, i.e., that the feed stays fixed with respect to the telescope reference frame; 'CPA' means that the feed rotates to maintain a constant PA, i.e., it tracks the variation of parallactic angle. Note that for COORD_MD = 'GALACTIC' PA is with respect to Galactic north and similarly, for COORD_MD = "ECLIPTIC' PA is with respect to Ecliptic north. For 'SPA' the FA is held fixed at an angle such that the requested PA is obtained at the mid-point of the observation; 'TPA' is relevant only for scan observations - the feed is rotated to maintain a constant angle with respect to the scan direction.

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

The requested angle of the feed reference, for FD_MODE = 'FA', with respect to the telescope reference frame (FA = 0), and for FD_MODE = 'CPA', with respect to celestial north (PA = 0) or with respect to Galactic north for COORD_MD = 'GALACTIC'.

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

Operation mode for the injected calibration: for 'OFF' there is no injected calibration; for 'SYNC' the calibration is pulsed synchronously with the folding frequency; 'EXT1' and 'EXT2' indicate that the calibration is driven by one of two possible user-defined external signals.

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

Modulation frequency for the injected calibration signal.

CAL_DCYC= * / Cal duty cycle (E)

Duty cycle for the injected calibration signal.

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

Phase of the leading edge of the injected calibration signal in SYNC mode.

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

Number of pulses across one period of calibration phase.

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

Modified Julian UTC Day number for the reference start time of an observation. The start time is defined to be the leading edge of the first bin for fold-mode observations and the leading edge of the first sample for search-mode observations.

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

Integer seconds from 00h UTC for the reference start time of an observation.

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

Fractional seconds from STT_SMJD for the reference start time of an observation.

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

Approximate local sidereal time for the start time of an observation.

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

Standard FITS Binary Table header

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

UTC date and time that the operation was performed.

TTYPE# = PROC_CMD / Processing program and command
TFORM# = 256A / 256_char string

Free-format string describing the operation - often the command-line string.

TTYPE# = SCALE / Units (FluxDen/RefFlux/Jansky)
TFORM# = 8A / 8-char string

Units of signal amplitude; normally 'FluxDen' before calibration, 'RefFlux' after flux density calibration (replicated in the SUBINT table header for the current file).

TTYPE# = POL_TYPE / Polarisation identifier
TFORM# = 8A / 8-char string

String to identify nature of polarisation products (replicated in the SUBINT table header for the current file). Normally 'AABBCRCI' for NPOL=4 coherence data, where AA and BB are the direct products of the two input channels A and B, and CR and CI are the real and imaginary parts of the cross product A* B. For full Stokes data, 'IQUV' is normally used. For NPOL=1 data with summed orthogonal products, 'AA+BB' is recommended, and for NPOL=2, 'AABB'.

TTYPE# = NSUB / Number of Sub-Integrations
TFORM# = 1J / Long integer

Number of sub-integrations in the processed file (replicated in the SUBINT table header as NAXIS2 for the current file).

TTYPE# = NPOL / Number of polarisations
TFORM# = 1I / Integer

Number of polarisation products (1, 2 or 4) (replicated in the SUBINT table header for the current file).

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

Number of bins across a fold-mode profile (replicated in the SUBINT table header for the current file). For search-mode data NBIN = 0.

TTYPE# = NBIN_PRD / Nr of bins per period
TFORM# = 1I / Integer

The number of bins across the pulsar period (replicated in the SUBINT table header for the current file). For fold-mode data where the folding period is a multiple of the true period, NBIN/NBIB_PRD is the number of pulse periods across the profile.

TTYPE# = TBIN / Time per bin or sample
TUNIT# = s / units of field
TFORM# = 1D / Double

For fold-mode data, TBIN is the folding period/NBIN. For search-mode data, TBIN is the sample interval. (Replicated in the SUBINT table header for the current file.)

TTYPE# = CTR_FREQ / Band centre frequency (weighted)
TUNIT# = MHz / units of field
TFORM# = 1D / Double

Weighted mean of channel centre frequencies. Channel centre frequencies and weights are given in the SUBINT table (DAT_FREQ and DAT_WTS respectively).

TTYPE# = NCHAN / Number of frequency channels
TFORM# = 1J / Long integer

Number of frequency channels or sub-bands across the bandpass (replicated in the SUBINT table header for the current file).

TTYPE# = CHAN_BW / Channel bandwidth
TFORM# = 1D / Double
TUNIT# = MHz / units of field

Width of a channel or sub-band, CHAN_BW = OBSBW/NCHAN (replicated in the SUBINT table header for the current file).

TTYPE# = DM / DM used for dedispersion
TFORM# = 1D / Double
TUNIT# = CM-3 PC / units of field

Dispersion measure used for dedispersion when summing in frequency.

TTYPE# = RM / RM used for RM correction
TFORM# = 1D / Double
TUNIT# = RAD M-2 / units of field

RM used to compensate for Faraday rotation when summing in frequency.

TTYPE# = PR_CORR / Projection of receptors onto sky corrected
TFORM# = 1I / Integer flag

Flag to indicate that FD_HAND has been reversed.

TTYPE# = FD_CORR / Feed basis correction applied
TFORM# = 1I / Integer flag

Flag to indicate that FD_POLN has been changed

TTYPE# = BE_CORR / Backend correction applied
TFORM# = 1I / Integer flag

Flag to indicate that BE_PHASE has been reversed.

TTYPE# = RM_CORR / RM correction applied
TFORM# = 1I / Integer flag

Flag to indicate that the data have been corrected for Faraday rotation and referred to the passband centre frequency OBSFREQ.

TTYPE# = DEDISP / Data dedispersed
TFORM# = 1I / Integer flag

Flag to indicate that the data have been rotated in phase to correct for dispersion and referred to the passband centre frequency OBSFREQ.

TTYPE# = DDS_MTHD / Dedispersion method
TFORM# = 32A / 32-char string

A free-format string to indicate the dedisperion method employed.

TTYPE# = SC_MTHD / Scattered power correction method
TFORM# = 32A / 32-char string

A flag to indicate that scattered power resulting from digitisation has been corrected.

TTYPE# = CAL_MTHD / Calibration method
TFORM# = 32A / 32-char string

A free-format string to indicate the calibration method employed.

TTYPE# = CAL_FILE / Name of gain calibration file
TFORM# = 256A / 256-char string

File name for the calibration observation used.

TTYPE# = RFI_MTHD / RFI excision method
TFORM# = 32A / 32-char string

A free-format string to indicate the method employed to excise radio-frequency interference.

TTYPE# = RM_MODEL / Auxiliary Faraday rotation model description
TFORM# = 32A / 32-char string

A free-format string to indicate the model used to correct for auxiliary (normally ionospheric) Faraday rotation.

TTYPE# = AUX_RM_C / Auxiliary Faraday rotation corrected flag
TFORM# = 1I / Integer flag

Flag to indicate that auxiliary Faraday rotation has been corrected.

TTYPE# = DM_MODEL / Auxiliary dispersion model description
TFORM# = 32A / 32-char string

A free-format string to indicate the model used to correct for auxiliary (normally ionospheric) dispersion.

TTYPE# = AUX_DM_C / Auxiliary dispersion corrected flag
TFORM# = 1I / Integer flag

Flag to indicate that auxiliary dispersion has been corrected.

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

Standard FITS Binary Table header

EXTNAME = OBSDESCR / Name of this binary table extension

TTYPE# = DESCR / Text file stored row by row
TFORM# = 128A / Allow 128 char per row

Free-format plain text description of the observation or processing

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

Standard FITS Binary Table header

EXTNAME = PSRPARAM / Name of this binary table extension

TTYPE# = PARAM / Text file stored row by row
TFORM# = 128A / Allow 128 char per row

Line for line copy of pulsar ephemeris file

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

Standard FITS Binary Table header

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

UTC date and time of polyco creation

TTYPE# = POLYVER / Polyco version ID
TFORM# = 16A / 16-char string

Polyco version number

TTYPE# = NSPAN / Span of polyco block in min
TFORM# = 1I / Integer

Validity range of polyco block; range is centred on REF_MJD.

TTYPE# = NCOEF / Nr of coefficients (<=15)
TFORM# = 1I / Integer

Number of polynomial coefficients, normally either 12 or 15.

TTYPE# = NPBLK / Nr of blocks (rows) for this polyco
TFORM# = 1I / Integer

Number of predictor blocks in this polyco.

TTYPE# = NSITE / Observatory code
TFORM# = 8A / 8-char string

Observatory code (Often a Tempo numeric site code, but string codes are preferred for Tempo2).

TTYPE# = REF_FREQ / Reference frequency for phase
TFORM# = 1D / Double
TUNIT# = MHz / Units of field

Reference radio frequency for which polyco is computed.

TTYPE# = PRED_PHS / Predicted pulse phase at observation start
TFORM# = 1D / Double

Predicted pulse phase at observation start.

TTYPE# = REF_MJD / Reference MJD
TFORM# = 1D / Double

Reference MJD for polyco block

TTYPE# = REF_PHS / Reference phase
TFORM# = 1D / Double

Pulse phase at REF_MJD (counted from PEPOCH)

TTYPE# = REF_F0 / Zero-order pulsar frequency
TFORM# = 1D / Double
TUNIT# = Hz / Units of field

Pulse frequency (F0) at PEPOCH

TTYPE# = LGFITERR / Log_10 of polynomial fit rms error in periods
TFORM# = 1D / Double

Log_10 of rms pulse phase error for polynomial fit to block span. If this is unacceptably large (e.g., for short-period binary systems) then NSPAN may be reduced or NCOEFF increased.

TTYPE# = COEFF / Polyco coefficients
TFORM# = 15D / NCOEF doubles

Table of the polynomial coefficients.

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

Standard FITS Binary Table header

EXTNAME = T2PREDICT / Name of this binary table extension

TTYPE# = PREDICT / Text file stored row by row
TFORM# = 128A / Allow 128 char per row

Line for line copy of Tempo2 predictor file

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

Standard FITS Binary Table header

EXTNAME = COHDDISP / name of this binary table extension

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

Domain of the phase-coherent dispersion removal convolution.

CHRPTYPE= * / Chirp function descriptor

String identifier for the dedispersion chirp function.

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

Dispersion measure assumed for the coherent dedispersion.

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

Doppler shift of the observed signal compared to the propagation frequency in the interstellar medium. The observed centre frequency and bandwidth are scaled by 1/(1 + DOPPLER) to give the interstellar propagation frequencies, i.e., if the Earth is moving toward the pulsar, DOPPLER > 0.

DATANBIT= * / Number of quantization levels for data

Number of quantisation levels for the data. For IEEE single-precision floating-point data, NBIT = -32.

CHRPNBIT= * / Number of quantization levels for chirp

Number of quantisation levels used to represent the chirp function.

NCHAN = * / Number of input frequency channels

Number of channels (sub-bands) of input baseband data

TTYPE# = FREQ / Center frequency of input channel
TFORM# = 1D / Double
TUNIT# = MHz / Units of field

Centre frequency of each baseband channel

TTYPE# = BW / Bandwidth of input channel
TFORM# = 1D / Double
TUNIT# = MHz / Units of field

Bandwidth of each baseband channel

TTYPE# = OUT_NCHAN / Number of output frequency channels
TFORM# = 1J / Long integer

Number of dedispersed data channels

TTYPE# = OUT_FREQ / Center frequency of each output channel
TFORM# = 1D / OUT_NCHAN doubles
TUNIT# = MHz / Units of field

Centre frequency of each dedispersed data channel

TTYPE# = OUT_BW / Bandwidth of each output channel
TFORM# = 1D / OUT_NCHAN doubles or one double for all
TUNIT# = MHz / Units of field

Bandwidth of each output dedispersed data channel.

TTYPE# = NCHIRP / Number of complex samples in FFT or FIR filter
TFORM# = 1J / OUT_NCHAN long int one long int for all

Length of FFT or FIR filter. If only one entry, then the same filter length is used for all output channels.

TTYPE# = NCYC_POS / Number of complex samples discarded from start
TFORM# = 1J / OUT_NCHAN long int or one long int for all

The number of complex samples discarded from the start of each convolution data sequence. If only one entry, then it is the same for all output channels.

TTYPE# = NCYC_NEG / Number of complex samples discarded from end
TFORM# = 1J / OUT_NCHAN long int or one long int for all

The number of complex samples discarded from the end of each convolution data sequence. If only one entry, then it is the same for all output channels.

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

Standard FITS Binary Table header

NCH_ORIG= * / Number of channels in original bandpass

Number of channels in each bandpass spectrum

BP_NPOL = * / Number of polarizations in bandpass

Number of bandpass spectra

EXTNAME = BANDPASS / name of this binary table extension

TTYPE# = DAT_OFFS / Data offset for each bandpass
TFORM# = E / BP_NPOL floats

Offset for each spectrum

TTYPE# = DAT_SCL / Data scale factor: Val=Data*DAT_SCL + DAT_OFFS
TFORM# = E / BP_NPOL floats

Scale factor for each spectrum

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

Table of integers representing bandpass for each polarisation channel. Spectral value in Janskys = DATA value * DAT_SCL + DAT_OFFS.

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

Standard FITS Binary Table header

EXTNAME = FLUX_CAL / name of this binary table extension

CAL_MTHD= / Flux cal method

String identifying the method used to determine the flux-calibration spectra

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

File names for calibration observations used to determine the flux-calibration spectra.

NCHAN = * / Nr of frequency channels (I)

The number of channels in each spectrum

NRCVR = * / Number of polarisation channels (I)

The number of polarisation channels

EPOCH = / [MJD] Epoch of calibration obs

The approximate MJD of flux calibration observations

TTYPE# = DAT_FREQ / Centre frequency for each channel
TFORM# = D / NCHAN doubles
TUNIT# = MHz / Units of field

Table of channel centre frequencies for the flux calibration spectra.

TTYPE# = DAT_WTS / Weights for each channel
TFORM# = E / NCHAN floats

Weights for each channel, normally either 0.0 or 1.0. Zero weights may be assigned to channels that are affected by interference.

TTYPE# = S_SYS / System equiv. flux density for each rcvr chan.
TDIM# = (*,*) / Dimensions (NCHAN,NRCVR)
TFORM# = E / NCHAN*NRCVR floats
TUNIT# = Jy

System-equivalent flux densities for each frequency channel for each polarisation. Note that the conventional system-equivalent flux density is the sum of the values for the two polarisation channels.

TTYPE# = S_SYSERR / Est. error of system equiv. flux density
TDIM# = (*,*) / Dimensions (NCHAN,NRCVR)
TFORM# = E / NCHAN*NRCVR floats
TUNIT# = Jy

Estimated uncertainty (1-sigma) of each S_SYS value.

TTYPE# = S_CAL / Calibrator flux density for each rcvr channel
TDIM# = (*,*) / Dimensions (NCHAN,NRCVR)
TFORM# = E / NCHAN*NRCVR floats
TUNIT# = Jy

Equivalent flux density of the injected calibration signal for each frequency channel for each polarisation. Note: Stokes I is the sum of values for each polarisation.

TTYPE# = S_CALERR / Estimated error of calibrator flux density
TDIM# = (*,*) / Dimensions (NCHAN,NRCVR)
TFORM# = E / NCHAN*NRCVR floats
TUNIT# = Jy

Estimated uncertainty (1-sigma) of each S_CAL value.

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

Standard FITS Binary Table header

EXTNAME = CAL_POLN / name of this binary table extension

NCHAN = * / Nr of channels in flux cal file

Number of frequency channels in each polarisation spectrum

TTYPE# = DAT_WTS / Weights for each channel
TFORM# = E / NCHAN floats

Weights for each channel of polarisation spectra.

TTYPE# = DATA / Stokes (Q,U,V) of calibrator rel. to Cal I
TDIM# = (*,*) / Dimensions (3,NCHAN)
TFORM# = E / 3*NCHAN floats

Fractional polarisation spectra for the injected calibration signal.

TTYPE# = DATAERR / Estimated error of Stokes (Q,U,V)
TDIM# = (*,*) / Dimensions (3,NCHAN)
TFORM# = E / 3*NCHAN floats

Estimated uncertainty (1-sigma) in the polarisation spectra

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

Standard FITS Binary Table header

EXTNAME = FEEDPAR / Name of this binary table extension

CAL_MTHD= ' ' / Cross-coupling method

String identifying the method used to obtain the cross-coupling coefficients.

NCPAR = * / Number of coupling parameters

Number of cross-coupling parameters in the DATA table.

NCOVAR = * / Number of parameter covariances

Number of covariances parameters in the COVAR table

NCHAN = * / Nr of channels in Feed coupling data

Number of frequency channels in the data tables

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

Approximate MJD of the observations used to derive the cross-coupling parameters.

TTYPE# = DAT_FREQ / [MHz] Centre frequency for each channel
TFORM# = D / NCHAN doubles
TUNIT# = MHz / Units of field

Table of channel centre frequencies

TTYPE# = DAT_WTS / Weights for each channel
TFORM# = E / NCHAN floats

Weights for each frequency channel

TTYPE# = DATA / Cross-coupling data
TDIM# = (*,*) / Dimensions (NCPAR,NCHAN)
TFORM# = E / NCPAR*NCHAN floats

The table of cross-coupling parameters

TTYPE# = DATAERR / Estimated error of cross-coupling data
TDIM# = (*,*) / Dimensions (NCPAR,NCHAN)
TFORM# = E / NCPAR*NCHAN floats

Estimated uncertainties (1-sigma) in the cross-coupling parameters

TTYPE# = COVAR / Formal covariances of coupling data
TDIM# = (*,*) / Dimensions (NCOVAR,NCHAN)
TFORM# = E / NCOVAR*NCHAN floats

Table of covariance parameters

TTYPE# = CHISQ / Total chi-squared (objective merit function)
TFORM# = E / NCHAN floats

Table of fit chi-square value for each frequency channel

TTYPE# = NFREE / Number of degrees of freedom
TFORM# = J / NCHAN long (32-bit) integers

Table of number of degrees of freedom for each frequency channel

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

Standard FITS Binary Table header

NPOL = * / Number of polarizations in SK data
NCHAN = * / Nr of channels in SK data

Number of polarizations and frequency channels in kurtosis table

EXTNAME = SPECKURT / Name of this binary table extension

TTYPE# = SK_INT / Samples integrated in SK statistics
TFORM# = V / unsigned integer

Number of samples used to compute each estimate of spectral kurtosis

TTYPE# = SK_EXCIS / SK Excision limits
TFORM# = V / unsigned integer

Kurtosis threshold used to discriminate interference

TTYPE# = FIL_SUM / Filtered SK sum
TDIM# = (*,*) / Data table dimensions (NPOL*NCHAN)
TFORM# = E / NPOL*NCHAN floats

For the corresponding sub-integration, a 2-D array of spectral kurtosis estimates integrated over all samples remaining after interference has been excised.

TTYPE# = FIL_HIT / Filtered SK hits
TDIM# = (*,*) / Data table dimensions (NPOL*NCHAN)
TFORM# = V / NPOL*NCHAN unsigned integers

For the corresponding sub-integration, a 2-D array of the number of spectral kurtosis estimates remaining after interference has been excised.

TTYPE# = UNFIL_SUM / Unfiltered SK sum
TDIM# = (*,*) / Data table dimensions (NPOL*NCHAN)
TFORM# = E / NPOL*NCHAN floats

For the corresponding sub-integration, a 2-D array of spectral kurtosis estimates integrated over all samples.

TTYPE# = UNFIL_HIT / Unfiltered SK hits
TFORM# = K / 64 bit signed integer

For the corresponding sub-integration, the number of spectral kurtosis estimates

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:

Real value = DATA value * DAT_SCL + DAT_OFFS.

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:

Real value = (DATA value - ZERO_OFFS) * DAT_SCL + DAT_OFFS.

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

Standard FITS Binary Table header

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

Different instruments use different conventions for folding a time series into a pulse profile and for recording the epoch of a sub-integration. This parameter describes one of the following three conventions; if it is not specified in the PSRFITS file, then EPOCHS=STT_MJD is assumed.

- If EPOCHS=VALID, then
  1. 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
  2. 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
  1. 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
  2. the epoch recorded for each sub-integration has no relation to pulse phase.
- If EPOCHS=STT_MJD, then
  1. 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,
  2. the epoch recorded for each sub-integration has no relation to pulse phase.

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

Normally data are recorded with a uniform time axis, i.e., sub-integrations are spaced by equal time intervals. However, in post-processing it is possible to make the nominal time axis non-linear, to represent for example, binary orbital phase or longitude. This keyword describes the form of the nominal time axis.

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

Units of the nominal time axis.

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

Units of the data.

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

A string describing the type of polarisation data, e.g., for NPOL=1 total-intensity data (summed orthogonal polarisations), "AA+BB" may be used, where AA represents the auto-spectrum of the A channel and BB represents the auto-spectrum of the B channel. For NPOL=2, "AABB" may be used. For full polarisation data, "AABBCRCI" may be used where CR represents the real part of the A* B cross-spectrum and CI represents the imaginary part. For calibrated Stokes parameters, "IQUV" is normally used.

NPOL = * / Nr of polarisations

The number of polarisation products contained in the DATA table.

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

For fold-mode data, the bin width in seconds; for search-mode data, the sampling interval in seconds.

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

The number of bins in the fold-mode profile. For search-mode data, this parameter is irrelevant and normally set to 1.

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

For observations where only part of the pulse profile is recorded (gated data), NBIN_PRD is the number of bins that the full pulse period would occupy. For example, if 256 bins are recorded across one quarter of the pulse period, NBIN = 256 and NBIN_PRD = 1024.

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

For gated data, the value of pulse phase (in the range 0 - 1.0) corresponding to the leading edge of the first (index zero) bin in the folded profile.

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

For search-mode data, the number of bits per sample datum. Ignored for fold-mode data.

ZERO_OFF= * / Zero offset for SEARCH-mode data

For data recorded as unsigned integers, the offset of the nominal data zero in digitiser units (actual data value = unsigned integer value - ZERO_OFF).

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

A flag to indicate that the data values are signed integers rather than unsigned integers.

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

For files split in time, NSUBOFFS is the accumulated sub-integration count at the start of this file (such that true index value = file index value + NSUBOFFS).

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

Number of frequency channels for each polarisation

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

Channel bandwidth in MHz. Note that CHAN_BW < 0 implies decreasing frequency with increasing channel number.

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

Dispersion measure used for post-detection dedispersion.

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

Rotation measure used for post-detection correction of Faraday rotation

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

For files split in frequency, NCHNOFFS is the true channel index of the first channel in this file (true index value = file index value + NCHNOFFS).

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

For search-mode data, the number of samples in one table row or sub-integration.

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

Total number of valid samples in a search-mode file. This is useful since the last row may not be completely filled. Note, for split files, NSTOT should be the number of samples in that file, i.e., not accumulated over the whole observation.

EXTNAME = SUBINT / name of this binary table extension

TTYPE# = INDEXVAL / Optionally used if INT_TYPE != TIME
TFORM# = 1D / Double

If INT_TYPE is not "TIME", this column gives the value of the time-like coordinate at the sub-integration centre, expressed in appropriate units (e.g., degrees for longitude).

TTYPE# = TSUBINT / Length of subintegration
TFORM# = 1D / Double
TUNIT# = s / Units of field

Duration of sub-integration (or row for search-mode data)

TTYPE# = OFFS_SUB / Offset from Start of subint centre
TFORM# = 1D / Double
TUNIT# = s / Units of field

Time since the observation start at the centre of each sub-integration (or row).

TTYPE# = LST_SUB / LST at subint centre
TFORM# = 1D / Double
TUNIT# = s / Units of field

Approximate local sidereal time at the sub-integration centre

TTYPE# = RA_SUB / RA (J2000) at subint centre
TFORM# = 1D / Double
TUNIT# = deg / Units of field

Pointing J2000 Right Ascension at the time of the sub-integration centre. For scanning observations this may change with time.

TTYPE# = DEC_SUB / Dec (J2000) at subint centre
TFORM# = 1D / Double
TUNIT# = deg / Units of field

Pointing J2000 Declination at the time of the sub-integration centre. For scanning observations this may change with time.

TTYPE# = GLON_SUB / [deg] Gal longitude at subint centre
TFORM# = 1D / Double
TUNIT# = deg / Units of field

Pointing Galactic longitude at the time of the sub-integration centre. For scanning observations this may change with time.

TTYPE# = GLAT_SUB / [deg] Gal latitude at subint centre
TFORM# = 1D / Double
TUNIT# = deg / Units of field

Pointing Galactic latitude at the time of the sub-integration centre. For scanning observations this may change with time.

TTYPE# = FD_ANG / [deg] Feed angle at subint centre
TFORM# = 1E / Float
TUNIT# = deg / Units of field

Angle of the feed reference (normally the A or X probe) with respect to the telescope zenith meridian.

TTYPE# = POS_ANG / [deg] Position angle of feed at subint centre
TFORM# = 1E / Float
TUNIT# = deg / Units of field

Angle of the feed reference (normally the A/X probe) with respect to the celestial meridian. This may be held at a fixed value by adjusting the feed angle according to the variation of parallactic angle during an observation (FD_MODE = "CPA").

TTYPE# = PAR_ANG / [deg] Parallactic angle at subint centre
TFORM# = 1E / Float
TUNIT# = deg / Units of field

Parallactic angle at the time of the sub-integration centre.

TTYPE# = TEL_AZ / [deg] Telescope azimuth at subint centre
TFORM# = 1E / Float
TUNIT# = deg / Units of field

Telescope azimuth angle at the time of the sub-integration centre.

TTYPE# = TEL_ZEN / [deg] Telescope zenith angle at subint centre
TFORM# = 1E / Float
TUNIT# = deg / Units of field

Telescope zenith angle at the time of the sub-integration centre.

TTYPE# = AUX_DM / additional DM (ionosphere, corona, etc.)
TFORM# = 1D / Double
TUNIT# = CM-3 PC / units of field

An additional time-varying component of dispersion measure to be added to the interstellar component. This allows observed dispersion measures to separated into a constant or slowly varying component and a time-varying (normally solar-system) component.

TTYPE# = AUX_RM / additional RM (ionosphere, corona, etc.)
TFORM# = 1D / Double
TUNIT# = RAD M-2 / units of field

An additional time-varying component of rotation measure to be added to the interstellar component. This allows observed rotation measures to separated into a constant or slowly varying component and a time-varying (normally solar-system) component.

TTYPE# = DAT_FREQ / [MHz] Centre frequency for each channel
TFORM# = D / NCHAN doubles
TUNIT# = MHz / Units of field

Centre frequency of each channel or sub-band. For data where channels have been summed to form sub-bands, the frequency of each sub-band is the weighted mean of the centre frequencies of the summed channels.

TTYPE# = DAT_WTS / Weights for each channel
TFORM# = E / NCHAN floats

Channel weights, in the range 0 - 1. Channels may be given zero weight if they are affected by interference or outside the effective bandpass. Normally defaults to 1.0 for original recorded data.

TTYPE# = DAT_OFFS / Data offset for each channel
TFORM# = E / NCHAN*NPOL floats

Value subtracted from data to give zero mean for each channel.

TTYPE# = DAT_SCL / Data scale factor (outval=dataval*scl + offs)
TFORM# = E / NCHAN*NPOL floats

Scale factor used so that the integer table data cover the full available range.

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

Table containing the digitised data. For fold-mode data, 16-bit integers are used to represent the scaled and baseline-subtracted data. Search-mode data are stored as a byte array. If NBIT < 8, samples are packed into bytes with earlier samples in the higher-order bits.

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

Standard FITS Binary Table header

DIG_MODE= ' ' / Digitiser mode

String identifier for digitiser system.

NDIGR = * / Number of digitised channels (I)

Number of digitiser channels. Normally NDIGR = 2 for receivers with two orthogonally polarised receiver channels.

NPAR = * / Number of digitiser parameters

Number of parameters of digitised signal recorded per cycle. For example, if the mean and rms digitiser levels are recorded for each digitiser (polarisation) channel, NPAR = 4.

NCYCSUB = * / Number of correlator cycles per subint

Number of sets of NPAR parameters for each sub-integration.

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

String describing method of setting digitiser thresholds. Normally "AUTO" means that the threshold levels are automatically adjusted according to the rms fluctuation of the input signal.

EXTNAME = DIG_STAT / Name of this binary table extension

TTYPE# = ATTEN / Attenuator settings
TFORM# = E / NDIGR floats
TUNIT# = db / Units of field

Settings of the primary attenuators used to adjust the input signal level at the digitiser input for each polarisation channel.

TTYPE# = DATA / Digitiser statistics
TDIM# = (*,*,*) / Data table dimensions (NPAR,NDIGR,NCYCSUB)
TFORM# = E / NPAR*NDIGR*NCYCSUB floats

Table of parameters of the digitised signals sampled each correlator cycle.

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:

Histogram value = DATA table value * DAT_SCL + DAT_OFFS.

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

Standard FITS Binary Table header

DIG_MODE= ' ' / Digitiser mode

String identifier for digitiser system.

DYN_LEVT= * / Timescale for dynamic leveling

Timescale for automatic adjustment of input signal levels (default unit: s)

NDIGR = * / Number of digitised channels (I)

Number of digitiser channels. Normally NDIGR = 2 for receivers with two orthogonally polarised receiver channels.

NLEV = * / Number of digitiser levels

Number of digitiser levels, e.g., for a 9-bit digitiser, NLEV = 512.

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

Number of bins in each histogram (normally = NLEV).

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

String describing method of setting digitiser thresholds. Normally "AUTO" means that the threshold levels are automatically adjusted according to the rms fluctuation of the input signal.

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

For multi-bit digitising, the nominal separation of the digitiser threshold levels expressed in units of the rms fluctuation of the input signal. For 2-bit 4-level digitising, it is the absolute value of the digitiser threshold levels with respect to the mean level, expressed in units of the rms fluctuation of the input signal.

EXTNAME = DIG_CNTS / Name of this binary table extension

TTYPE# = DAT_OFFS / Data offset for each histogram
TFORM# = E / NDIGR floats

Data offsets for each digitiser histogram

TTYPE# = DAT_SCL / Data scale factor for each histogram
TFORM# = E / NDIGR floats

Values used to scale histogram to cover the full range of signed 16-bit integers.

TTYPE# = DATA / Digitiser count data
TDIM# = (*,*) / Data table dimensions (NPTHIST,NDIGR) \\ TFORM# = I / NPTHIST*NDIGR integers

Table containing scaled and offset histogram values as signed 16-bit integers.

END