Track Satellites With Android
Written by Harry Fairhead   
Monday, 06 November 2017

The Android Framework now provides access to raw Global Navigation Satellite System (GNSS) measurements on some Android devices. This is unlikely ever to become a mainstream requirement, but it is awesome what can now can be measured with a smartphone.

Recent information added to the Location and Sensors section of the Android developer documentation explains how you can use Android Studio to build an app that captures raw GNSS and logs them to a file.

You'll need a device that can capture data from on of the Global Navigation Satellite Systems GPS, GLONASS, GALILEO and BDS and this claimed to be most devices manufactured in 2016 or later and shipped with Android 7.0 or higher. Depending on the device, raw GNSS measurements can include all or some of the following data: 

  • Pseudorange and pseudorange rate
  • Navigation messages
  • Accumulated delta range or carrier
  • Hardware (HW) clock

A full list with the specific systems they support and the measurements they are capable of is provided.

The GNSS Logger, which is a sample app that shows how to log data related to Android location, including raw GNSS measurements, is part of the GPS Measurement Tools project, open sourced on GitHub.

Code is provided to :

  • Read data from GnssLogger App
  • Compute and visualize pseudoranges
  • Compute weighted least squares position and velocity
  • View and analyze carrier phase (if it is present in the log file)

gnss1

 

 

 

Once you have captured the GNSS log using the GNSS Logger, you can copy the log files from the device to your computer for further analysis. From within the GNSS Logger you can send the files to yourself via email or save them to Google Drive. Alternatively, you can save the files using the file management app on the device, or you can use the Android Debug Bridge (ADB).

The GNSS Analysis App is what you use to analyze the GNSS receiver behavior. It is built on MATLAB but you don't need MATLAB to run it as the app is compiled into an executable that installs a copy of the MATLAB runtime if needed.

The GNSS Analysis control panel provides features such as:

  • Select which satellites are displayed
  • Control the reference position, velocity, and time (PVT) used for calculating measurement errors.
  • Generate analysis reports
  • Define a window in the data between start and end times.

gnss2

 

The GNSS Analysis app organises plots into RF, clocks, and measurements. The RF (radio frequency) plots show the four satellites with the strongest signals for each constellation, for each satellite, the time plot of carrier to noise density and the skyplot of satellite positions.

gnss3

 

More Information

GPS Measurement Tools on GitHub

Android devices that support raw GNSS measurements

Related Articles

Spectacular Launch For Android Oreo

Android Studio 3.0 Released

Android 8.1 Introduces Neural Networks API

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Facebook or Linkedin.

 

Banner


LEGO SMART Bricks - Good Or Bad?
11/01/2026

Announced this week at CES 2026, the SMART Brick is designed to power a new LEGO ecosystem called SMART Play. Will this be user-programmable and provide a replacement for the Mindstorms range of robot [ ... ]



Deno 2.6 Adds NPM And JSR Tool
29/12/2025

Deno 2.6 has been released with a new tool, dx, that is an equivalent to npx and is a way to run binaries from npm and JSR packages.


More News

pico book

 

Comments




or email your comment to: comments@i-programmer.info

 

Last Updated ( Monday, 06 November 2017 )