Decoding GNSS navigation messages on Android

  1. NMEA data — Contains information about the locations calculated by the GNSS hardware in the industry-standard NMEA 0183 format
  2. Raw GNSS measurements —Contains raw pseudorange and carrier phase information from satellites that you can use to compute your own location
  3. Navigation messages — Contains the information about the GNSS constellations (e.g., almanac, ephemeris, clock offsets) that are needed by the receiver acquire GNSS signals. See EU GSA’s documentation and GPS.gov’s documentation for more details.

Looking at the Android documentation

Looking at the raw data

Decoding the data

The structure of the GPS L1 C/A navigation message (Source: Navipedia)

Wait…do we even need navigation messages from the Android API?

Closing thoughts

--

--

--

Improving the world, one byte at a time. @sjbarbeau, https://github.com/barbeau, https://www.linkedin.com/in/seanbarbeau/. I work @CUTRUSF. Posts are my own.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Introduction to Kivy

From CSV to Buxfer: an unexpected journey — Conclusions

New in Slack Project Management: nTask for Slack is here!

The How To ETNA Network, Series I

Top 10 Devops talks of 2021

10 Examples to Master Python Tuples

My Adventures at FOSS ASIA

Step by Step

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Sean Barbeau

Sean Barbeau

Improving the world, one byte at a time. @sjbarbeau, https://github.com/barbeau, https://www.linkedin.com/in/seanbarbeau/. I work @CUTRUSF. Posts are my own.

More from Medium

Third-party apps — a small rant

How to install Android Studio on your Mac and launch Emulator.

Connect your bitbucket repo with slack in two easy steps

How we Implemented Dark Mode with Capacitor