This is an old revision of the document!
Raw OLAP data formats
OLAP produces several data formats, which are intended to be replaced by their final format, such as HDF5. The formats below are not officially supported and subject to change without notice.
Beamformed Data
Beamformed data can be recorded as either complex voltages (yielding X and Y polarisations) or one or more stokes. In either case, a sequence of blocks will be stored, each of which consists of a header and data. The header is defined as:
struct header { uint32_t sequence_number; /* big endian */ char padding[508]; };
in which sequence_number starts at 0, and is increased by 1 for every block. Missing sequence numbers implies missing data. The padding can have any value and is to be ignored.
Complex Voltages
As of 2010-09-20, the following block format is used:
struct block { struct header header; /* big endian */ fcomplex voltages[SAMPLES|2][SUBBANDS][CHANNELS]; }
Below is a list of the constants used, and which key they represent in the parset file as produced by OLAP:
SAMPLES | The number of time samples in a block | OLAP.CNProc.integrationSteps |
SUBBANDS | The number of subbands (beamlets) specified | len(Oberservation.subbandList) |
CHANNELS | The number of channels per subband | Observation.channelsPerSubband |
Types
A 'float' is a 32-bit IEEE floating point number. An 'fcomplex' is a complex number defined as
struct fcomplex { float real; float imag; };