Dual frequency positioning of Chinese smartphone Xiaomi Mi8 with Android GNSS Analysis Tool

category: gnss
tags: rtk

GNSS function of Xiaomi Mi 8

Android GNSS Analysis

Many smartphones have a reception function that receives radio waves broadcast from GNSS (Global Navigation Satellite System) such as GPS in the US, Galileo in Europe, BeiDou in China, QZS in Japan.

If you measure your own position only by satellite radiowaves when even if you stop, it may appear to move from several meters to several tens of meters. Such “positioning error” is said to be caused by inconsistencies between the satellite internal clock correction value and satellite position information and the broadcast contents, and by fluctuations in the amount of radio wave delay caused by the electron density density of the ionosphere in the sky. The Smartphones and car navigation systems use the information from the acceleration sensor and tire rotation sensor to indicate that they are stopped when they are stopped. In recent years, positioning satellites broadcast radio waves in multiple frequency bands in order to reduce the positioning error caused by the latter ionosphere on the receiving side.

A high-performance GNSS receiver for surveying simultaneously receives radio waves of two or more frequencies to determine the position. On the other hand, in most car navigation systems and smartphones, positioning is performed by receiving only one representative frequency for each GNSS, called L1 or E1. However, for such applications, Broadcom in the U.S. company introduced a relatively inexpensive dual-frequency GNSS positioning chip BCM47755 in September 2017.

A Chinese smartphone Xiaomi Mi 8 can measure dual frequency GNSS with this BCM47755, and it can also extract the positioning internal information called ``accumulated delta range’’ according to the Google’s Raw GNSS Measurements page.

Therefore, I purchased Mi 8 and installed the GNSS Logger APK on Mi 8. Other software that checks the GNSS function includes G-RitZ Logger and GPSTest.

Xiaomi Mi 8

By the way, this Mi 8 is not certified by the Japanese technical standards conformance system, so its cellular communication function and wireless LAN function cannot be used in Japan. However, I was able to connect to wired Ethernet with OTG connection to the USB-C port. It is a pity that it takes time to load GNSS measurement data into a PC.

Raw Data Measurement

This Mi 8 was placed on the university roof and GNSS radiowaves were measured for about 15 minutes.

Dual-frequency GNSS measurement

The measurement data was imported into a personal computer and analyzed. This “Android GNSS Analysis” software should automatically get the files needed for analysis, but it failed in my environment. Manually obtained these data according to the error message, I could see the following analysis graphs.

Results of Android GNSS Analysis

Pressed the “Make Report” button after the analysis was completed, I saw a summary of the measurement. A wide variety of reports are output. There are items of API, Received Signal Analysis, Receiver Clock Analysis, Pseudorange Analysis, C/No Explanation (Satellite Plot), Receiver Clock Explanation, Pseudorange Explanation. Unfortunately, my Mi 8 had the following message in the Received Signal Analysis section:

GPS(L1), mean of strongest 4 median C/No = 42.1 dBHz
Pass/fail reference threshold = 38.0 dBHz
GPS(L5), mean of corresponding L5 C/No = 38.5 dBHz
Error: mean(L5 signals) weaker than mean (L1 signals)
FAIL BECAUSE L5 WEAKER THAN L1

GLO(L1), mean of strongest 4 median C/No = 41.0 dBHz
Pass/fail reference threshold = 35.5 dBHz
PASS

GAL(E1), mean of strongest 4 median C/No = 37.1 dBHz
Pass/fail reference threshold = 38.0 dBHz
GAL(E5), mean of corresponding L5 C/No = 37.0 dBHz
Error: L1 signals -0.9 dB compared to reference
FAIL BECAUSE OF WEAK SIGNALS
Error: mean(L5 signals) weaker than mean (L1 signals)
FAIL BECAUSE L5 WEAKER THAN L1

BDS(L1), mean of strongest 4 median C/No = 34.5 dBHz
Pass/fail reference threshold = 38.0 dBHz
Error: L1 signals -3.5 dB compared to reference
FAIL BECAUSE OF WEAK SIGNALS

QZS(L1), mean of strongest 2 median C/No = 22.2 dBHz
Pass/fail reference threshold = 38.0 dBHz
QZS(L5), mean of corresponding L5 C/No = 21.1 dBHz
Error: L1 signals -15.8 dB compared to reference
FAIL BECAUSE OF WEAK SIGNALS
Error: mean(L5 signals) weaker than mean (L1 signals)
FAIL BECAUSE L5 WEAKER THAN L1

FAIL

The good thing about this smartphone is that it can receive L5 and E5 signals, which are the second frequencies. If you use it in general, there is an effect of increasing the number of satellites that can receive this second frequency.

This Android GNSS Analysis is intended to perform more accurate positioning using the accumulated delta range. I was expecting that this integrated delta range information could be extracted not only for L1 and E1 signals, but also for L5 and E5 signals, so that high-precision positioning could be achieved. The above C/No report shows that the received signal strength of L5 and E5 signals is low. Because of this, other analyzes failed. The reason is that this GNSS antenna cannot catch L5 and E5 signals well. This is because the L1 signal and E1 signal are received well.

The conclusion of this time is “The era of multi-frequency GNSS positioning is emerging.” This experiment was conducted in an open sky environment (almost no obstacles in the sky), but I would like to try it in other places.