Format of recorded data

The data files are organized as a 1280-byte asc_stats configuration structure, followed by the individual ray data in their original order of arrival.

For an explanation of the structure, see the public header file ascope.h.

Ascope data file headers

Each ray is prefaced with a 200-byte asc_ray_header structure that holds additional information from the exact moment that each ray was acquired.

To check Ascope data file headers, type the following command:

dd < RVP8040722170814.ASC bs=1280 count=1 | structmap asc_stats -recursive -data

Reading an Ascope data file

To process the contents of an Ascope data file, begin by opening the file and reading the first 1280-bytes into an asc_stats structure.

Use the actual ray count irec_rays_actual, and ray data length in bytes irec_ray_size, to divide the remainder of the file into fixed length blocks. Each block consists of an asc_ray_header structure followed by the ray data itself.

Ray data

The ray data are defined by the iplottypes[] array, which lists up to 16 different data parameters that were recorded.

Each parameter is stored in its native format as read from the DSP. For information on the data formats, see IRIS Programming Guide (M212927EN) and the PROC command section in RVP10 User Guide (M212604EN).

The length of each data parameter array is rounded up to the next multiple of 4 bytes to make sure that successive elements within the file are aligned on 4-byte boundaries if they need to be.

There is no difference between I and AI, Q, and AQ, and so on in terms of data format. However, the A terms span the full range, and the non-A terms span the full pulse count.

The "derived parameters" MAG_AIQ(10), ARG_AIQ (11), MAG_IQ (15) and ARG_IQ (16) are not recorded on the archive disk, since doing so would not add any more information than that in the original (I,Q) data. Ascope can plot these parameters (because that is often handy). If you want to archive this data, include the raw (I,Q) parameters themselves.

Example

Suppose that a recording is made with the following settings:

  • In the main menu: 30 bins and 10 pulses
  • In the Plot Parameters menu: T reflectivity and L time series
  • In the Record menu: 5 TS-Bins and 7 ray
  • In the General Setup menu: 16-bit time series

Then the data file is 3604 bytes long and consists of:

  • A 1280-byte asc_stats header
  • Seven ray blocks, each 332-bytes long, comprised of a 200-byte asc_ray_header structure, followed by 32 bytes of T data, and 100-bytes of 16-bit L samples.

    The length of the T data was rounded up to the next multiple of four, and that the L sample length is based on:

    ( 10 p u l s e s r a y ) ( 5 b i n s ) ( 2 b y t e s b i n × p u l s e ) = ( 100 b y t e s r a y )