NMEA IDs

Mikkel Kirkgaard Nielsen edited this page Jul 14, 2016 · 2 revisions
Clone this wiki locally

Over time, the APIs once designed for GPS have been expanded to include support for other GNSS systems. NMEA has set a de-facto standard for communicating with a GNSS device with NMEA 0183, and portions of it can also be found in implementations that use different protocols to control the GNSS chip. This is also the case in the Android GPS API, which is a high-level wrapper around NMEA 0183 or alternative protocols.

NMEA 0183 protocol uses two-character “talker IDs” at the beginning of each sentence, which identify the source of the sentence. A number of systems other than GNSS are supported. GP is the ID for GPS, GL for GLONASS, GA for Galileo, BD for BeiDou and GN for generic GNSS using any combination of the mentioned sources (reference).

Additionally, each satellite is identified by an NMEA ID, with different ranges assigned to each system. Thus, even when accessing such data through an API that discards NMEA talker IDs, the system can still be identified by the satellites’ NMEA IDs.

NMEA IDs can be roughly divided into the following ranges:

  • 1–32: GPS
  • 33–54: Various SBAS systems (EGNOS, WAAS, SDCM, GAGAN, MSAS) – some IDs still unused
  • 55–64: not used (might be assigned to further SBAS systems)
  • 65–88: GLONASS
  • 89–96: GLONASS (future extensions?)
  • 97–192: not used
  • 193–195: QZSS
  • 196–200: QZSS (future extensions?)
  • 201–235: Beidou

GPS

NMEA ID Range: 1–32 source

GPS is a global GNSS, controlled by the USA and fully operational. It was the first civilian GNSS.

The number is equal to the PRN of the satellite. PRNs 33–37 are reserved; their NMEA IDs would overlap with those used by various SBAS systems. source

SBAS

NMEA IDs: 33, 35, 37–42, 44, 46–48, 50–51, 53–54

Various local GNSS augmentation systems (SBAS – Satellite-Based Augmentation System) exist. They occupy NMEA IDs immediately following those of GPS, with overlaps between systems.

NMEA ID is generally PRN minus 87.

EGNOS

NMEA IDs: 33, 37, 39, 44 source

EGNOS (European Geostationary Navigation Overlay Service) is a European GPS augmentation system.

WAAS

NMEA IDs: 35, 46–48, 51

WAAS (Wide Area Augmentation System) is an American GPS augmentation system.

SDCM

NMEA IDs: 38, 53–54 source

SDCM (System for Differential Correction and Monitoring) is a proposed Russian GLONASS augmentation system.

GAGAN

'NMEA ID Range: 40–41 source

GAGAN (GPS-aided geo-augmented navigation) is an Indian GPS augmentation system.

MSAS

NMEA IDs: 42, 50 source

MSAS (Multi-functional Satellite Augmentation System) is a Japanese GPS augmentation system.

OmniSTAR

NMEA IDs: None known

OmniSTAR is a commercial, world-wide GPS augmentation system provided by Fugro. It consists of 2 satellites.

SNAS

NMEA IDs: None known

SNAS (Satellite Navigation Augmentation System) is a GNSS augmentation system proposed by China.

StarFire

NMEA IDs: None known

StarFire is a commercial, world-wide GPS augmentation system provided by John Deere. It consists of 6 satellites.

PRNs do not seem to conform to the common practice of placing them in the 120+ range. This source mentions PRNs 2 and 30. The mapping of PRNs to NMEA IDs is not known.

Starfix DGPS System

NMEA IDs: None known

Starfix is a commercial, world-wide GPS augmentation system provided by Fugro.

WAGE

NMEA IDs: None known

WAGE (Wide Area GPS Enhancement) is a US military GPS augmentation system. It is not available for civilian use.

GLONASS

NMEA ID Range: 65–88 source, this source mentions an upper boundary of 96

Glonass is the Russian counterpart to GPS, completed in 2011. NMEA ID is slot number (1–24) plus 64. Where a PRN is needed, the slot number plus 37 is used. source

QZSS

NMEA ID Range: 193–195 (expected in practice, theoretically up to 200 or 210)

QZSS (Quasi-Zenith Satellite System) is a Japanese time-transfer system, to augment GPS. It full configuration consists of three geosynchronous satellites, with completion planned for 2013.

The assigned NMEA ID range is 193–210 (source). The source suggests that NMEA codes will be assigned in ascending order, thus we are likely to see only 193–195 for the first time after launch. If new satellites were to be launched to replace the existing ones, there is a possiblity of higher numbers being used. Since the upper NMEA IDs in the assigned range overlap with Beidou, the upper boundary is likely to be 200.

Satellites:

Beidou

NMEA ID Range: 201–235 source, source

Beidou is the Chinese counterpart to GPS, currently being deployed and operational in part. The final configuration, scheduled to be complete by 2020, consists of 35 satellites, 5 of which are geostationary and will only ever be picked up in a particular geographic area. So far 16 satellites have been launched, 2 of which are not operational.

The Compass-G satellites (NMEA IDs 201–205) are geostationary.

PRN appears to be NMEA ID minus 200. source

Satellites:

Galileo

NMEA ID Range: Not known (possibly not yet assiged)

Galileo is the proposed EU counterpart to GPS, currently being deployed and not yet operational. The final configuration will consist of 27 active satellites, plus 3 spares.

It is possible that a PRN to NMEA ID mapping has not yet been defined, as NMEA has also not yet defined a talker ID for Galileo. source

Satellites:

IRNSS

NMEA ID Range: Not known

IRNSS (Indian Regional Navigation Satellite System) is an Indian regional satellite navigation system, currently being deployed and scheduled to be fully operational by mid-2015. Its availability will be limited a region extending approximately 1,500 km around mainland India. The final configuration consists of 3 geostationary and 4 geosynchronous satellites. source