The generic heading file is used to input a true heading measurement computed, most of the time, by a dual antenna GNSS receiver. To work correctly, Qinertia needs both the true heading measurement as well as the associated true heading estimated accuracy and status.

It also possible to provide a pitch measurement as returned, for example, by any dual antenna GNSS receiver.

For correct operation, the true heading information has to be accurately time stamped to an absolute timing.

Only valid heading measurements should be provided to Qinertia.

Conventions

Qinertia expects the heading and pitch angles to comply with Qinertia IMU coordinate frame and rotations directions as described in the Conventions page.

  • The heading angle is expressed in degrees from -180° to +180° or from 0° to 360° and is positive clockwise.
  • The pitch angle is also expressed in degrees from -90° to +90° and is positive when the front moves upward

Heading sign

You should provide to Qinertia the heading and pitch information as it is returned by the GNSS receiver and never correct for orientation / miss-alignment yourself.

For example, if the dual antenna GNSS heading is returning a north heading (0°) while the INS Y axis is pointing north, you shouldn't NOT apply a 90° offset but rather use Qinertia primary and secondary GNSS lever arm configuration.

ASCII Heading Format

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

The file format is composed of an optional header followed by heading measurements 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 $qhdt 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)HDT ASCII file format version, should be set to 1

$timeSource

(tick)

HDT 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 heading data part is just a succession of time stamped true heading and pitch measurement stored line per line. Each column field is separated by a tabulation '\t' or semicolon ';' character.

Qinertia only requires at least the timestamped heading information to use this input. However, it is strongly recommended to provide an accurate heading standard deviation for good results.

FieldTypeUnitOptionalDescription

timestamp

--(error)

The heading data time stamp expressed in the format specified by the $timeSource header field.

heading

double°(error)Geographic true heading in degrees from 0° to 360° or -180° to +180°

headingStd

double°(tick)

1σ true heading estimated accuracy from 0° to 360°

The default is 0.5°

pitch

double°(tick)

Pitch angle from the primary GNSS antenna to the secondary one from -90° to +90°

pitchStd

double°(tick)1σ pitch angle estimated accuracy from 0° to 180°

baseline

doublem(tick)

Distance between the primary and secondary GNSS antennas. Used for automatic lever arm estimation module to return an accurate secondary GNSS lever arm.

If  you don't have any pitch information but you still would like to provide the baseline information, please set the pitch field to 0° and pitchStd to 180°. Please remember the baseline information doesn't impact the INS accuracy. It is only used by the automatic lever arm calibration module to return a true estimated secondary GNSS lever arm.

Example

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

$qhdt
$version:1
$timeSource:gpsTow
$gpsWeekNumber:2000
490735.000;123.692;0.04;-1.02;0.08;2.09
490735.200;123.822;0.04;-1.03;0.08;2.09
490735.400;124.122;0.04;-1.04;0.08;2.09
490735.600;124.692;0.05;-1.10;0.09;2.09
490735.800;124.792;0.05;-1.08;0.10;2.09
490736.000;124.855;0.05;-1.09;0.10;2.09
490736.200;125.005;0.04;-1.15;0.08;2.09
490736.400;125.102;0.04;-1.22;0.08;2.09
490736.600;125.223;0.04;-1.18;0.08;2.08
490736.800;125.332;0.03;-1.16;0.07;2.08
490737.000;125.255;0.03;-1.10;0.06;2.08
490737.200;125.239;0.03;-1.15;0.06;2.08
TEXT

Binary Heading Format

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