Sie sind auf Seite 1von 19

Post-Processing

Software
XPF File Format Specification
Post-Processing Software – Xpf File Format Specification

Copyright
All rights reserved. No part of this manual may be reproduced or transmitted, in any form
or by any means, whether electronic, printed manual or otherwise, including but not
limited to photocopying, recording or information storage and retrieval systems, for any
purpose without prior written permission of iXBlue.

Disclaimer
iXBlue specifically disclaims all warranties, either expressed or implied, included but not
limited to implied warranties of merchantability and fitness for a particular purpose with
respect to this product and documentation. iXBlue reserves the right to revise or make
changes or improvements to this product or documentation at any time without notifying
any person of such revision or improvements.
In no event shall iXBlue be liable for any consequential or incidental damages, including
but not limited to loss of business profits or any commercial damages, arising out of the
use of this product.

Trademarks
Microsoft, MS-DOS and Windows are registered trademarks of Microsoft Corporation.

MU-XPF-AN-001 Ed. B April 2016 1


Post-Processing Software – Xpf File Format Specification

Table of Contents

1 INTRODUCTION .............................................................................................................. 3
2 STRUCTURE .................................................................................................................. 4
2.1 FILE HEADER .............................................................................................................................. 4
2.2 PACKETS .................................................................................................................................... 7

3 DETAILED SPECIFICATIONS ............................................................................................ 8


3.1 FILE HEADER .............................................................................................................................. 8
3.2 CHANNEL DEFINITION .................................................................................................................. 9
3.3 PACKET DEFINITION .................................................................................................................... 9
3.4 FIELD DEFINITION ......................................................................................................................10
3.5 PACKET HEADER ......................................................................................................................10
3.6 PACKET FOOTER .......................................................................................................................11
3.7 TYPE OF RESERVED PACKETS ...................................................................................................12
3.8 DATA TYPE ...............................................................................................................................15
3.9 DATA NATURE ..........................................................................................................................15

IXBLUE CONTACT - SUPPORT ...................................................................................... 17

IXBLUE CONTACT - SALES ........................................................................................... 17

MU-XPF-AN-001 Ed. B April 2016 2


Post-Processing Software – Xpf File Format Specification

1 INTRODUCTION

The eXtended Packet File (Xpf) is the native file used in several post processing software
edited by iXBlue (DELPH INS, ATLANS Post-Processing software, RAMSES REPLAY,
USBL REPLAY). It is used to store the input/output processing data.
This document describes the general organization of an Xpf file. Data organization
concerning packets designed for specific applications is described in additional documents
distributed with the software (html files).

MU-XPF-AN-001 Ed. B April 2016 3


Post-Processing Software – Xpf File Format Specification

2 STRUCTURE

The file is composed of the header followed by a variable number of packets:

header packet packet packet packet packet packet

The header contains information about the file creation as well as the « metadata » which
enable to interpret the contents of the following packets.
The packets offer a consistent data set (i.e.: inertial measurement, GNSS fix, USBL
detection…). Each packet is assigned to a channel (which represents the instrument
acquiring the data such as GPS #1, GPS #2, DVL bottom track, LBL etc..
Thus the packets can be logically grouped by channel even if this is not obvious in the
packet distribution in the file.

2.1 File Header


The header data is composed of three successive parts:
The file header
The channel definition
The packet definition

file header channel def channel def packet def packet def

1. The file header is a fixed size structure which contains the following fields:
Note: This section indicates the logical structure of the fields. See section 3 - Detailed
Specifications for more information.

Field Description

Marker Marker of the file start, must be "XPF".

Application name Name of the application which creates the file.

Application version Version of the application which creates the file.

File name Original name of the file.

Date Creation date of the file.

Number of channels Definition number of the following channel.

Number of packets definition Definition number of the following packets.

MU-XPF-AN-001 Ed. B April 2016 4


Post-Processing Software – Xpf File Format Specification

2. The channel definition is a fixed size structure which contains the following fields:
Note: This section indicates the logical structure of the fields. See section 3 - Detailed
Specifications for more information.

Field Description

Identifier Digital identifier of the channel.

Label Short name describing the channel data. The label must
contain only the characters [a-z], [A-Z], [0-9] and « - », « _ ».
The use of the space, the tabulation and the dot are
strictly prohibited.

Description Description of the data contained in the channel.

Identifier of the packet type Identifier of the packet type describing the structure of the
data stored in this channel (in the packet definitions).

3. The definition of a packet is a complex structure which is composed of a packet definition


followed by the definition of the packet fields:
Note: This section indicates the logical structure of the fields. See section 3 - Detailed
Specifications for more information.

packet def field def field def field def field def

The header definition of the packet definition is a fixed size structure which contains the following
fields:

Field Description

Identifier Identifier of the packet type. This identifier is free but a number of
reserved identifiers are defined and listed in the paragraph 3.7.

Version Version number of this packet definition.

Field number Number of the fields in this type of packet.

MU-XPF-AN-001 Ed. B April 2016 5


Post-Processing Software – Xpf File Format Specification

The field definition is a fixed size structure which contains the following fields:

Field Description

Label Short name describing the field. The label must contain only the
characters [a-z], [A-Z], [0-9] and « - », « _ ».
The use of the space, the tabulation and the dot are strictly
prohibited.

Type Type of the data (character, integer, floating…). The list of data type
is defined in the paragraph 3.8.

Size Number of items in this field (generally 1, the fields of table type with
several items are supported).

Description Description of the field.

Nature Type of data stored in this field (distance, speed, temperature…). The
list of the data types is defined in the paragraph Erreur ! Source du
renvoi introuvable..

MU-XPF-AN-001 Ed. B April 2016 6


Post-Processing Software – Xpf File Format Specification

2.2 Packets
A packet is composed of three successive parts:
1. A header
2. A content
3. An end of packet

Each different packet is attached to a channel. A double chaining mechanism allows a


quick sequential move from one packet to another for the same channel: each packet
contains the offset in bytes to move to the previous packet and to the following packet.
The following figure shows the principle (the file contains two channels named GPS_1 and
DVL):

GPS_1 GPS_1 DVL GPS_1 DVL GPS_1 DVL


1 2 1 3 2 4 3

The packet header is a structure of fixed size data which is composed of the following fields:

Field Description

Marker Marker of the packet start, must be « $$ ».

Channel identifier Identifier of the channel to which this packet belongs.

Size Total number of bytes in the packet (header and end of packet
included)

Number Number of the packet in the channel.

Offset to the previous Number of bytes between this packet and the previous packet of the
packet same channel (0 for the first packet of the channel).

Offset to the following Number of bytes between this packet and the following packet of the
packet same channel (0 for the last packet of the channel).

The packet has a content defined in the file header. It is specified by the packet definition
associated to the channel to which the packet belongs.
The end of the packet is a fixed size data structure which is composed of the following fields.

Field Description

Marker Marker of the packet end, must be « !! ».

Channel identifier Identifier of the channel to which this packet belongs.

Size Total number of bytes in the packet (header and end of packet
included)

MU-XPF-AN-001 Ed. B April 2016 7


Post-Processing Software – Xpf File Format Specification

3 DETAILED SPECIFICATIONS

The data encoded on 16 and 32 bits use the Little Endian convention (LSB in first), this
convention is currently used on computers running with Microsoft Windows.
The floating-point numbers 32 bits (floating) and 64 bits (double) are encoded according to
IEEE standard.
This section describes in C language the details of the structure indicated in the previous
section. To use this code in a program written with Visual C++, it is recommended to use
the compilation rules #pragma pack in order to align the fields of the structures on one
byte.

3.1 File Header


The file header is encoded as the following C structure:
//--------------------------------------------------------------------------
//! Header of the XPF file (without the auto-descriptive part).
//--------------------------------------------------------------------------
struct S_XpfFileHeader
{
//! Marker of the file start, must be "XPF"
char marker[3];

//! Application name which created the file


char applicationName[32];

//! Application version which created the file


char applicationVersion[10];

//! Original name of the file


char originalFileName[64];

//! Creation date of the file (year).


unsigned short creationYear;

//! Creation date of the file (month).


unsigned char creationMonth;

//! Creation date of the file (date).


unsigned char creationDay;

//! Creation date of the file (hour).


unsigned char creationHour;

//! Creation date of the file (minute).


unsigned char creationMinute;

//! Creation date of the file (second).


float creationSecond;

//! Definition number of following channels.


unsigned short channelDefinitionCount;

//! Definition number of following packets.


unsigned short packetDefinitionCount;
};

MU-XPF-AN-001 Ed. B April 2016 8


Post-Processing Software – Xpf File Format Specification

3.2 Channel Definition


The channel definition is encoded as the following structure C:

//--------------------------------------------------------------------------
//! The structure memorizing the channel definition.
//--------------------------------------------------------------------------
struct S_XpfChannelDef
{
//! Channel identifier
unsigned short channelId;

//! Field label


char label[16];

//! Field description


char description[64];

//! Identifier of the packet type


unsigned short packetId;
};

3.3 Packet Definition


The definition of a packet type is encoded as the following C structure:

//--------------------------------------------------------------------------
//! The structure memorizing the data.
//--------------------------------------------------------------------------
struct S_XpfPacketDef
{
//! Identifier of the packet type (see paragraph 3.7 for reserved values)
unsigned short packetId;

//! Definition version


unsigned int version;

//! Following number of field definition


unsigned short fieldDefinitionCount;
};

MU-XPF-AN-001 Ed. B April 2016 9


Post-Processing Software – Xpf File Format Specification

3.4 Field Definition


The definition of a field is encoded as the following C structure:

//--------------------------------------------------------------------------
//! The structure memorizing the data.//---------------------------------------------------------
-----------------
struct S_XpfFieldDef
{
//! Field label
char label[30];

//! Field type (see paragraph 3.8).


unsigned char type;

//! Field size (0xFFFFFFFF a variable size).


unsigned int size;

//! Field description


char description[64];

//! Field nature (see paragraph 3.9).


unsigned char nature;
};

3.5 Packet Header


The packet header is encoded as the following C structure:

//------------------------------------------------------------------------------
//! Packet header
//------------------------------------------------------------------------------
struct S_XpfPacketHeader
{
//! Marker of the packet start ($$)
char marker[2];

//! Channel identifier


unsigned short channelId;

//! Packet size in bytes (all the packet, header and footer included).
unsigned long packetSize;

//! Packet number in the channel (0 for the first).


unsigned long packetNumber;

//! Offset to reach the previous packet of the same channel (0 for the first
//! packet of the channel).
unsigned long previousPacketOffset;

//! Offset to reach the next packet of the same channel (0 for the last
//! packet of the channel)
unsigned long nextPacketOffset;

};

MU-XPF-AN-001 Ed. B April 2016 10


Post-Processing Software – Xpf File Format Specification

3.6 Packet Footer


The packet footer is encoded as the following C structure:

//------------------------------------------------------------------------------
//! Packet footer
//------------------------------------------------------------------------------
typedef struct S_XpfPacketFooter
{
//! Marker of the packet footer (!!).
char marker[2];

//! Channel identifier.


unsigned short channelId;

//! Packet size in byte (all the packet, header and footer included).
unsigned long packetSize;
};

MU-XPF-AN-001 Ed. B April 2016 11


Post-Processing Software – Xpf File Format Specification

3.7 Type of Reserved Packets


Identifiers 0 to 49 for inertial and common packets:

Label Description Id

InsImu IMU data from the INS 0

InsDvl DVL data (bottom track or water track) received by the INS 1

InsEMLog EM Log data received by the INS 2

InsGps GNSS data received by the INS 3

InsDepth Data of the immersion sensor received by the INS 4

InsUsbl USBL data received by the INS 5

InsLbl LBL (range meter) data received by the INS 6

CommonUtc UTC synchronization data received by the INS 7

InsDmi Packet memorizing the DMI data received by the INS 8

InsSynchro External synchronization data (event marker) received by 9


the INS

InsNav Real time navigation data of the INS 10

InsTemperature Internal temperature data of the INS 15

InsPlatformOrientation Data of the gyro-stabilized platform received by the INS 16

InsSystemTime Synchronization data between the time of the XPF file and 17
the time of the INS internal clock.

InsKalmanState Internal states of the kalman filter 18

InsEarthGravitationalModel Local gravitational data received by the INS 19

InsHexapod Hexapod platform data received by the INS 20

InsManualSpeed Manual speeds provided by the user to the INS 21

CommonAtmosphericPressure Atmospheric pressure log 22

CommonTide Tide log 23

CommonSoundVelocity Sound velocity log 24

Identifiers 50 to 79 for RAMSES packets:

Label Description Id

RamsesStartOfRecurrence Start of a RAMSES recurrent acoustic 50

RamsesSlamRamsesPosition RAMSES position. 51

MU-XPF-AN-001 Ed. B April 2016 12


Post-Processing Software – Xpf File Format Specification

Label Description Id

RamsesSlamBeaconPosition RAMSES beacon position. 52

RamsesTravelTime RAMSES travel time. 53

RamsesRange Distance to a RAMSES beacon. 54

RamsesExternalPosition External position received by a RAMSES. 55

RamsesExternalDepth External depth received by a RAMSES. 56

RamsesExternalSpeed External speed received by a RAMSES. 57

RamsesDistance Distance computed between two RAMSES beacons 58

Identifiers 80 to 89 for USBL packets:

Label Description Id

UsblNavigation USBL system navigation data. 80

UsblDetection USBL detections. 81

UsblBeaconPosition USBL beacon position. 82

UsblProcessingStatus USBL post-processing status 83

Identifiers 90 to 119 for ALIX packets:

Label Description Id

AlixNavigation Result of the ALIX navigation. 90

AlixSpeed Speed data calculated by ALIX 91

AlixHeave Heave data calculated by ALIX 92

- reserved 93

AlixUserAlgoStatus ALIX algorithm status 94

- reserved 95

- reserved 96

AlixUserSensorStatus ALIX simple sensor status 97

AlixUserSensorMergeStatus ALIX simple sensor status (merge stage) 98

- reserved 99

AlixUserSensor3dPosStatus ALIX position sensor status 100

AlixUserSensor3dPosMergeStatus ALIX position sensor status (merge stage) 101

- reserved 102

MU-XPF-AN-001 Ed. B April 2016 13


Post-Processing Software – Xpf File Format Specification

Label Description Id

AlixUserSensor3dSpdStatus ALIX speed sensor status 103

AlixUserSensor3dSpdMergeStatus ALIX speed sensor status (merge stage) 104

- reserved 105

AlixUserZuptStatus ALIX ZUPT status 106

AlixUserZuptMergeStatus ALIX ZUPT status (merge stage) 107

AlixSigilOutput SIGIL data calculated by ALIX 108

AlixSigilCovOutput Covariance of the SIGIL data calculated by ALIX 109

- reserved 110

- reserved 111

Identifiers 120 to 129 for NMEA packets:

Label Description Id

NmeaPHOCT OCTANS $PHOCT sentence 120

NmeaGPRMC GPS $GPRMC sentence 121

NmeaPIXOG_ECHO_ATT USBL $PIXOG,ECHO,ATT sentence 122

NmeaPIXOG_ECHO_POS USBL $PIXOG,ECHO,POS sentence 123

NmeaPIXOG_ECHO_SPD USBL $PIXOG,ECHO,SPD sentence 124

NmeaPTSAG USBL $PTSAG sentence 125

NmeaPIXOG_PPC_DETEC USBL $PIXOG,PPC,DETEC sentence 126

NmeaPIXOG_DBG_PTLBL USBL $PIXOG,DBG,PTLBL sentence 127

Identifiers 140 to 159 for TOOLS packets:

Label Description Id

ToolsNavDiff Difference of two trajectories 140

MU-XPF-AN-001 Ed. B April 2016 14


Post-Processing Software – Xpf File Format Specification

3.8 Data Type


The data type for the packet fields are defined in the following table.

Label Type Id

Byte Unsigned 8-bit integer 0

Word Unsigned 16-bit integer 1

Dword Unsigned 32-bit integer 2

Char Signed 8-bit integer 3

Short Signed 16-bit integer 4

Int Signed 32-bit integer 5

Float IEEE floating on 32 bits 6

Double IEEE floating on 64 bits 7

Date Signed 64-bit integer. Relative date (delay) with an accuracy of 8


100 ns

3.9 Data Nature


The data nature for the fields of a packet are defined in the following table:

Label Nature Id

Unknown Unknown nature measurement 0

Latitude Latitude 1

Longitude Longitude 2

PositionSd Position standard deviation (m) 3

PositionCv Covariance of the position (m2) 4

LinearSpeed Linear speed (m.s-1) 5

LinearSpeedSd Linear speed standard deviation (m.s-1) 6

LinearAcceleration Linear acceleration (m.s-2) 7

LinearAccelerationSd Linear acceleration standard deviation (m.s-2) 8

AngularSpeed Angular speed (rad.s-1) 9

AngularSpeedSd Angular speed standard deviation (rad.s-1) 10

Temperature Temperature (°C) 11

SoundVelocity Sound velocity (m.s-1) 12

Altitude Altitude (m) 13

MU-XPF-AN-001 Ed. B April 2016 15


Post-Processing Software – Xpf File Format Specification

Label Nature Id

Immersion Immersion (m) 14

AltitudeSd Altitude or immersion standard deviation (m) 15

Attitude Altitude information (heading, roll, pitch in °) 16

AttitudeSd Attitude standard deviation (in °) 17

Distance Distance (m) 18

DistanceSd Distance standard deviation 19

TimeLength Time duration (s) 20

ScaleFactor Scale factor 21

Enum Enumeration 22

TimeDrift Time drift 23

RawFogMeasurement Fog raw measurement (rotation by step of 10-3 '') 24

RawAccMeasurement Acceleration raw measurement (speed by step of 10-7 m/s) 25

TravelTime Acoustic travel time (s) 26

TravelTimeSd Standard deviation of the acoustic travel time (s) 27

Phase Phase of the USBL detections 28

SignalToNoiseRatio Signal to noise ratio (dB) 29

Range Slant distance (m) 30

RangeSd Standard deviation of the slant distance (m) 31

Pressure Pressure (Pa) 32

FogMeasurement Fog raw measurement (radian) 33

AccMeasurement Acceleration raw measurement (m/s) 34

MU-XPF-AN-001 Ed. B April 2016 16


Post-Processing Software – Xpf File Format Specification

iXBlue CONTACT - SUPPORT

FOR NON-URGENT SUPPORT:

BY EMAIL: support@ixblue.com
USING THE FORM ON THE IXBLUE WEB SITE www.ixblue.com

FOR 24/7 URGENT SUPPORT:

North America / NORAM


+1 508 975 4640 Ext 1

Europe Middle-East Africa Latin-America / EMEA-LATAM


+33 1 30 08 98 98

Asia Pacific / APAC


+65 6747 7027

iXBlue CONTACT - SALES

North America / NORAM


+1 508 975 4640
iXBlue Inc Boston area US
11 Erie Drive, Natick, MA 01760, US

Europe Middle-East Africa Latin-America / EMEA-LATAM


+33 1 30 08 88 88
iXBlue SAS France
34 rue de la Croix de Fer, Saint-Germain-en-Laye, F-78100, France

Asia Pacific / APAC


+65 6747 4912
iXBlue Pte Limited Singapore
15A Changi Business Park Central 1#04-02 Eightrium Singapore 486035

MU-XPF-AN-001 Ed. B April 2016 17

Das könnte Ihnen auch gefallen