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


JetBrains Improves Kubernetes Support In IDE Upgrades
12/11/2024

JetBrains has improved its IDEs with features to suggest the logical structure of code, to streamline the debugging experience for Kubernetes applications, and provide comprehensive cluster-wide Kuber [ ... ]



Apache Fury Adds Optimized Serializers For Scala
31/10/2024

Apache Fury has been updated to add GraalVM native images and with optimized serializers for Scala collection. The update also reduces Scala collection serialization cost via the use of  encoding [ ... ]


More News

espbook

 

Comments




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

 

Last Updated ( Monday, 06 November 2017 )