Testing Google’s GNSS Analysis Tool for GPS, GLONASS, Galileo, Beidou…

Google has recently released GNSS Analysis Tool to process and analyze Global Navigation Satellite System (GNSS) raw measurements from Android devices. This is mostly designed to enable manufacturers to see whether their GNSS receivers are working as expected.

The tool can also be used for research and to learn more about GNSS, and there are two components:

  • GNSS Analysis tool itself available for Windows, Linux, or Mac OS X
  • GNSS Data Logger app working with Android 7.0 or greater phones that support raw measurements.

You can download both from the release page on Github. I’ve given it a try with a computer running Ubuntu 16.04 and Xiaomi Mi A1 smartphone, but you can the analysis tool even f you don’t have Android 7.0+ smartphone, as sample data is included.

I downloaded GnssAnalysisLinuxV2.4.0.0.zip, and extracted the content in ~/Desktop/GnnsAnalysisFiles directory as instructed.

Click to Enlarge

Now we can open a terminal window and install the utility:

The last command will download MATLAB runtime, and other necessary files and may take a few minutes (around 10 minutes here). Once it’s done, it should show the installer for GnssAnalysisApp 2.400.

Click next and select installation directories for the app and MATLAB Runtine R2016a…

… and click on Install. A bit more patience, and we’ll be able to run the tool using MATLAB Runtine installation directory as parameter:

This will show the control panel below.

Click on Find Log File but and load demofiles/gnss_log_2016_06_30_21_26_07.txt, then click on Analyze & Plot, and it will open many different windows, analyzing the GPS/GNSS data.

Click to Enlarge

People familiar with GNSS will know how to analyze this data, but this will feel like gibberish to anybody unfamiliar with the intricacies of GPS or other GNSS systems. A good way to better understand the data, and learn more about GPS is to close all the windows, and click on “Make report” button with the Android logo instead. This will create a file called GnnsAnalysisReport.html giving some more useful information and whether a given test passed or failed, for example:

When there you can read the analysis, and learn more from the results. Using sample data is fun, but let’s try to use the Android app to gather our own data with Xiaomi Mi A1 smartphone running Android 7.1.2. Once the app (Gnsslogger.apk) is installed, place your phone in an open location, start the app, enable the options in the SETTINGS tab, switch to the LOG tab and tap START LOG.

Click to Enlarge

Leave the app gathering data for a few minutes, optionally setting a timer, and then tap on STOP & SEND button, which should open Android’s share menu, and in my case I simply sent the log to my email, and received it with SensorLog subject with attachment. I could load the attachment, but after clicking on Analyze & Plot the log window reported “No raw measurements read from this file.”. I did have some data in my file, but I had no “Raw” lines, while the sample had some:

So that likely means my phone does not provide any raw GNSS data.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Notify of
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
1 Comment
6 years ago

It is 100% phone issue, you need to have one of the phone listed on the developer site. Please contact me via email: [email protected] to discuss more about this 😉 i m working on the same project

Khadas VIM4 SBC