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 Twitter, Facebook or Linkedin.

 

Banner


Apache Releases Tomcat 11
07/11/2024

Apache has announced the release of Tomcat 11, as well as marking the 25th anniversary of the first commit to the Apache Tomcat source code repository since becoming an ASF project.



Fermyon's Spin WebAssembly Version 3.0 Released
26/11/2024

The open source developer tool for building, distributing, and running serverless WebAssembly applications reaches version 3.0. What's new?


More News

espbook

 

Comments




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

 

Last Updated ( Monday, 06 November 2017 )