gpx-ideas

Proposal for GPX

Quick Introduction

This proposal is to add some useful GPS / GNSS data items to the GPX standard; e.g. “course”, “speed”, accuracy estimates and device information.

I’ve tried to be quite thorough in this article so that the benefits of this additional data are clearly apparent. Apologies for the rather lengthy document.

What is included:

What is NOT included:

Interoperability / compatibility of the proposal with existing software and GPX 1.0 / GPX 1.1 files is of the utmost importance:

Overview of GPS / GNSS

It is perhaps worth quickly summarising the inner workings of a GPS / GNSS receiver in order for the significance of course and speed to be appreciated.

The GPS / GNSS chipset is essentially responsible for producing a PVT (position + velocity + time) solution at regular intervals. This is typically once every second but sometimes more frequently (e.g. 5 Hz, 10 Hz, 20 Hz or 25 Hz).

The overall process can be summarised as two separate steps:

  1. Determination of raw “observables” for each satellite. This occurs during the initial signal acquisition and during the subsequent tracking:
    • Pseudo-range corresponds to the distance from the receiver antenna to the satellite antenna, including receiver and satellite clock offsets and other biases.
    • Carrier phase is a measurement of the beat frequency between the received carrier of the satellite signal and a receiver-generated reference frequency.
    • Doppler shift is the change in frequency for the receiver antenna moving relative to the satellite antenna.
  2. Determination of a PVT solution from the raw “observables” obtained during the first step:
    • Position and time are derived primarily from the pseudo-range observables via trilateration.
    • Course over ground (COG) and speed over ground (SOG) are derived from a 3D velocity, (typically) derived from the doppler shift observables.

The important point to highlight is that GPS / GNSS chipsets do not calculate velocity / speed from the positional data. In essence, position and velocity are calculated independently and speeds derived from the doppler shift observables are far more accurate / robust than speeds derived from positional data.

References

These links are just to get people started: