Posted by Frank van Diggelen, Software Engineer
Last year in Android Nougat, we introduced APIs for retrieving Global
Navigation Satellite System (GNSS) Raw measurements from Android devices. This
past week, we publicly released GNSS
Analysis Tools to process and analyze these measurements.
Android powers over 2 billion devices, and Android phones are made by many
different manufacturers. The primary intent of these tools is to enable device
manufacturers to see in detail how well the GNSS receivers are working in each
particular device design, and thus improve the design and GNSS performance in
their devices. However, with the tools publicly available, there is also
significant value to the research and app developer community.
How to use the tool
The GNSS Analysis Tool is a desktop application that takes in raw the GNSS
Measurements logged from your Android device as input.
This desktop application provides interactive plots, organized into three
columns showing the behavior of the RF, Clock, and Measurements. This data
allows you to see the behavior of the GNSS receiver in great detail, including
receiver clock offset and drift to the order of 1 nanosecond and 1 ppb and
measurement errors on a satellite-by-satellite basis. This allows you to do
sophisticated analysis at a level that, until now, was almost inaccessible to
anyone but the chip manufacturers themselves.
The tools support multi-constellation (GPS, GLONASS, Galileo, BeiDou and QZSS)
and multi-frequency. The image below shows the satellite locations for L1, L5,
E1 and E5 signals tracked by a dual frequency chip.
The tools provide an interactive control screen from which you can manipulate
the plots, shown below. From this control screen, you can change the background
color, enable the Menu Bars for printing or saving, and select specific
satellites for the plots.
Receiver test report
The tools also provide automatic test reports of receivers. Click “Make Report”
to automatically create the test report. The report evaluates the API
implementation, Received Signal, Clock behavior, and Measurement accuracy. In
each case it will report PASS or FAIL based on the performance against known
good benchmarks. This test report is primarily meant for the device
manufacturers to use as they iterate on the design and implementation of a new
device. A sample report is shown below.
Our goal with providing these Analysis Tools is to empower device manufacturers,
researchers, and developers with data and knowledge to make Android even better
for our customers. You can visit the GNSS
Measurement site to learn more and download this application.
Android Developers Blog