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

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