The generic PVT (Position Velocity Time) file is used to input an external trajectory that can be fused with the IMU data. This external trajectory is, most of the time, computed by a GNSS receiver.

For correct operation, the position and velocity data has to be accurately time stamped to an absolute timing.

Conventions

Qinertia expects the position and velocity data to comply with Qinertia coordinate frame and rotations directions as described in the Conventions page.

  • Latitude expressed in decimal degrees and is positive North
  • Longitude expressed in decimal degrees and is positive East
  • Altitude expressed in meters and is positive upward
  • Velocity is expressed in m.s^-1 in the NED (North, East, Down) reference frame

ASCII PVT Format

This is the easiest way to input an external trajectory using a CSV like text file format.

The file format is composed of an optional header followed by PVT data stored line by line. If Qinertia doesn't find the header, the default configuration values are used. The file can use either Windows, Unix or Linux line ending conventions and should use UTF-8 encoding.

ASCII header

The header is used to configure how Qinertia should parse and import the file. The header always starts with the $qpvt magic keyword to identify it. Then each parameter can be set using a succession of <param>:<value> pairs stored line by line.

If there is no header or the parameter is not present in the file, Qinertia will use the default value that is indicated in bold.

ParamOptionalDescription

$version

(error)PVT ASCII file format version, should be set to 1

$timeSource

(tick)

PVT data time stamp format:

  • gps: Seconds from 6 January 1980 (no leap second)
  • gpsTow: GPS time of week in seconds
  • utcIso: ISO 6801 (e.g. 2020-06-19T11:50:04.535Z)
  • unix: Seconds from 1 January 1970 (UTC time)

The default value is gps

$gpsWeekNumber

(tick)

GPS week number to use in case $timeSource is gpsTow

If gpsTow is selected this parameter is mandatory and has no default value.

ASCII data

The ASCII PVT data part is a succession of time stamped position and velocity measurement stored line per line. Each column field is separated by a tabulation '\t' or semicolon ';' character.

FieldTypeUnitOptionalDescription
timestamp--(error)The velocity data time stamp expressed in the format specified by the $timeSource header field.
statusstring-(error)

The PVT type and status that can be:

  • none: No valid position
  • single: Standalone position, typically 1 to 2 meters accurate
  • sbas: Augmented position solution with an accuracy of 60 cm
  • rtkFloat: Real Time Kinematic solution with floating ambiguities
  • rtkFixed: Real Time Kinematic solution with fixed ambiguities
  • pppFloat: Precise Point Positioning with floating ambiguities
  • pppFixed: Precise Point Positioning with fixed ambiguities
latitudedouble°(error)Decimal latitude, positive north, at least 9 digits required
longitudedouble°(error)Decimal longitude, positive east, at least 9 digits required
heightdoublem(error)Height above ellipsoid in meters and positive up, at least 3 digits required
latitudeStddoublem(error)1σ estimated latitude accuracy
longitudeStddoublem(error)1σ estimated longitude accuracy
heightStddoublem(error)1σ estimated height accuracy
numSvUsedinteger-(error)

Number of space vehicle used to compute the solution.

Set it to 0 if unknown.

velocityNdoublem.s^-1(error)North velocity, at least 4 digits required
velocityEdoublem.s^-1(error)East velocity, at least 4 digits required
velocityDdoublem.s^-1(error)Down velocity, at least 4 digits required
velocityStdNdoublem.s^-1(error)1σ estimated north velocity accuracy
velocityStdEdoublem.s^-1(error)1σ estimated east velocity accuracy
velocityStdDdoublem.s^-1(error)1σ estimated down velocity accuracy

PPP Solutions

Most Precise Point Positioning (PPP) services are not able to fix ambiguities. It's the case, for example, for Veripos, Omnistar and Fugro Marinestar solutions. You should thus set the solution status to pppFloat.

Example

The example below shows a few PVT measurements with the file header:

$qpvt
$version:1
$timeSource:gpsTow
$gpsWeekNumber:2000
490735.000;sbas;48.90996248;2.16740109;110.38;0.378;0.312;0.643;10;0.01;-0.06;-0.10;0.008;0.009;0.023
490735.200;sbas;48.90996264;2.16740111;110.35;0.399;0.332;0.640;10;0.02;-0.07;-0.12;0.011;0.008;0.022
490735.400;sbas;48.90996266;2.16740108;110.39;0.381;0.323;0.725;10;0.01;-0.02;-0.05;0.013;0.009;0.039
490735.600;sbas;48.90996263;2.16740112;110.40;0.389;0.333;0.710;10;0.03;-0.03;-0.09;0.019;0.010;0.038
490735.800;sbas;48.90996251;2.16740113;110.42;0.384;0.362;0.699;10;-0.01;-0.04;-0.12;0.009;0.012;0.032
490736.000;sbas;48.90996255;2.16740119;110.37;0.395;0.425;0.685;10;-0.02;-0.02;-0.11;0.008;0.015;0.026
TEXT

Binary PVT Format

For now, there is no binary file format for the PVT input.