3 pxgf description, 1 background, 2 the pxgf chunk structure – Wavecom PXGF streaming format (GEW) V1.24 User Manual

Page 9: Products

Advertising
background image

C

op

yr

ig

ht

:

©

G

rin

te

k

E

w

at

io

n

20

07

GSY-0D8-SE

RESTRICTED

Interface Requirement Specification for PXGF Streaming and File Format

3 PXGF DESCRIPTION

The PXGF format was designed to represent sampled data with additional information pertaining to
the way in which the data was sampled.

3.1 BACKGROUND

The PXGF format is loosely based on the Microsoft RIFF file format. The RIFF format is based on
the concept of a chunk. Chunks are blocks that contain specific application defined data. In the RIFF
format the complete file is a single RIFF chunk. RIFF chunks and LIST chunks are currently the only
two types of chunks that may contain sub-chunks. All the remaining chunks in the file are children of
the global RIFF chunk.

The RIFF format is unsuitable for our purposes for two primary reasons:

1. The global RIFF chunk is limited in size to 4GB, thereby effectively restricting the file size to

4GB.

2. The RIFF format is unsuitable for streaming applications as one needs to read the whole file

sequentially to be able to parse it. There is no synchronisation mechanism available.

For these reasons a new file and streaming format was proposed and developed, namely the PXGF
format.

3.2 THE PXGF CHUNK STRUCTURE

The PXGF format puts data into chunks. Different types of chunks are defined to store different
information. The type of a chunk is specified by an int32 field in the chunk as shown in table 3.1. An
application that requires data from a particular chunk will register to receive data from that type of
chunk. Chunks that are not recognised are simply skipped over. The size field in the chunk allows
unrecognised chunks to be skipped over. Each chunk starts with the sync number 0xa1b2c3d4.

Element

Type

Description

sync

int32

Synchronisation number 0xa1b2c3d4

type

int32

Derived from the chunk name, e.g. "SOFH", " EOFH", "SSIQ".

size

int32

The number of data bytes in the remainder of the chunk The
value of size must be a multiple of 4.

data

byte[size]

The chunk data in a format specific to the type.

Table 3.1: Structure of PXGF chunks

The maximum amount of data in a chunk is limited to 65536 bytes. This limits the separation
between sync patterns.

The length of each chunk must contain an integral number of 32 bit words even though the
size element in the chunk header is specified as a number of bytes.

The PXGF format supports both little and big endian byte ordering, although it may be
necessary to provide the stream reader with the endian used depending on its
implementation. The endian format for a file or stream may be determined by reading the sync
pattern. It is not permissible to mix chunks of different endian format within a stream or file.

When the PXGF format is used to store information in a file, there must be a global header at
the beginning of the file to aid identification of the file format and the data stored in the file.
This is necessary due to the potentially large size of files.

Nested sub-chunks are not supported as this would unnecessarily complicate synchronisation.

The implication of the previous point is that all chunks are at root level and are interpreted
entirely sequentially. The parser must know which chunks need to be identified before it can

Products

2009-01-13

RESTRICTED

Page 8

Issue 1.24

Advertising