Does passing GPSTest, mean carrierPhase will be available

496 views
Skip to first unread message

Mike Horton

unread,
Jun 7, 2021, 4:48:33 PM6/7/21
to GPSTest
I am looking to buy a new Android for the major purpose to explore my dual-frequency RTK and PPP algorithm performance on Smart Phones.

Will a phone which pass GPS Test with dual band support for sure support carrier phase information thru Android?

I am thinking either Google Pixel 5 or Samsung Galaxy 21 Ultra as possible candidate devices for testing....

Thanks,
Mike Horton

Jay Zebryk

unread,
Jun 7, 2021, 5:14:01 PM6/7/21
to Mike Horton, GPSTest
Hello,

I am thinking of upgrading my brand-new Pixel 4A to a Pixel 4A/5 specially for that capability.
Looks like the Pixel 5 has it as well but would be a major price jump in comparison.

Peace,
--
Jay Zebryk


--
You received this message because you are subscribed to the Google Groups "GPSTest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gpstest_andro...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gpstest_android/c6eb8992-7d21-4acd-b860-f9dd6e325662n%40googlegroups.com.

Sean Barbeau

unread,
Jun 7, 2021, 6:14:08 PM6/7/21
to GPSTest
Mike,
Good question!

For anyone reading this, I'd first suggest reading this article which talks about the general problem of understanding GNSS features of devices:

...which also introduces the GPSTest Database for crowd-sourced GNSS info (a Google Sheet):

As the above article says, the GPSTest Database attaches this info from the device to user submissions:
  • Raw measurements —SUPPORTED if the device APIs return valid GnssMeasurement pseudorange data, and UNSUPPORTED if it does not. Apps can use these raw measurements to calculate a location using innovative techniques that might be more accurate than the one your device OEM has implemented.
  • Carrier phase via getAccumulatedDeltaRangeMeters()— Carrier phase measurements are a more accurate way of determining your location from satellite signals than pseudorange alone by leveraging information from the radio waves that carry GNSS data (see this Google I/O presentation and this InsideGNSS article for details). If a device supports carrier phase measurements via GnssMeasurement.getAccumulatedDeltaRangeMeters() this field will be set to SUPPORTED, and UNSUPPORTED if it does not. If the device hasn’t reported measurement data at the time of submission, this value may be shown as UNKNOWN.
So to do RTK, when choosing a device you need to make sure that Column N in the database "Carrier phase (getAccumulatedDeltaRangeMeters())" says SUPPORTED.

Specifically, this is the rough logic that GPSTest uses to check for support:
  • if at least one GnssMeasurement has the GnssMeasurement.ADR_STATE_VALID bit set to true and that same measurement has a non-zero value for GnssMeasurement.getAccumulatedDeltaRangeMeters(), then this column is set to SUPPORTED. Otherwise, it's NOT_SUPPORTED.
Here's the actual source code:

Data from GnssMeasurement.getAccumulatedDeltaRangeMeters() is what gets logged to CSV when you use GnssLogger or GPSTest for raw measurements on these devices. So it should indicate that you'll get valid (non-zero) numbers, although GPSTest doesn't do any additional analysis of those numbers. For more info on what gets logged for raw measurements see:

If you want to find dual-frequency devices in the Database, then Column H "Dual-frequency" should also show SUPPORTED (you can also check Column J "GNSS CFs" to see if L5 and E5a are listed as supported signals).

Note that there is a caveat to the GPSTest Database - this data reflects the experience of the user that submitted this data and there isn't a guarantee that your experience will be the same - for details see the "Caveats" section of the above article.

After reviewing the database, it looks like the Google Pixel 5 or Samsung Galaxy 21 Ultra (Exynos variant) both satisfy the above SUPPORTED criteria for dual-frequency and non-zero values from GnssMeasurement.getAccumulatedDeltaRangeMeters(). 

Note that the Samsung Galaxy 21 Ultra (Qualcomm Snapdragon variant) does NOT - it shows UNSUPPORTED for GnssMeasurement.getAccumulatedDeltaRangeMeters(). You can tell if a device is Qualcomm or Exynos (which uses the Broadcomm chip) by checking Column G "GNSS hardware model name".

Here are the devices and model numbers that seem to satisfy both criteria (dual-frequency and RTK) as of June 7, 2021 (but double-check the sheet yourself to make sure):
  • Pixel 4
  • Pixel 4 XL
  • Pixel 5
  • Huawei P40 (Dual SIM) (ANA-NX9)
  • HUAWEI P30 (ELE-L29)
  • HUAWEI P40 Pro Plus 5G (International) (ELS-N39)
  • HUAWEI P40 Pro 5G (International) (ELS-NX9)
  • HUAWEI Mate 20 Pro (LYA-L09, LYA-L29)
  • HUAWEI HONOR View20 (PCT-L29)
  • HUAWEI P30 Pro (VOG-L04, VOG-L29)
  • HUAWEI HONOR 20 (YAL-L21)
  • Samsung SM-G981B Galaxy S20 5G (Exynos/Broadcom)
  • Samsung SM-G988B Galaxy S20 Ultra 5G (Exynos/Broadcom)
  • Samsung SM-G996B Galaxy S21+ 5G (Exynos/Broadcom)
  • Samsung SM-G998B Galaxy S21 Ultra 5G (Exynos/Broadcom)
  • Samsung SM-N975F Galaxy Note10+ (Exynos/Broadcom)
  • Xiaomi Mi 8
Note that support can change over time so as time passes please check again to see if the latest firmware supports it (see Columns G "GNSS hardware model name" and Column AD "Android software (Incremental) build" for software versions).

Pixel 4a 5G is not dual-frequency but does support RTK (based on the Database).

An aside - note that to log carrier phase data you also need ensure that you enable the Android system setting to "force full GNSS measurements" - see this article for more details:

I'd love to hear feedback from anyone who has tried to do RTK on the above devices to hear their experience - I haven't tried myself.

Sean

gpsfan

unread,
Jun 7, 2021, 6:30:43 PM6/7/21
to GPSTest
RTK is impossible as of now on due to the lack of any available software support, there is Android software (RTGPS+ in the Play Store and RTKDroid, available on request) that offers RTK but not from the built-in receiver. Based on the PPK results it's probably not worth the effort, sadly.
I have done quite a few tries with PPK using my Mi 8 but have been unable to get an RTK Fix with any of my measurements, unlike with my $10 uBlox 8 USB GPS, so it's probably due to the "challenges" of using a tiny "antenna" ;-)
I'm pretty sure I linked to the excellent RTKLibExplorer blog where some trials were done using "boosted" measurements from an Mi 8 (placed on a choke ring antenna), here it is : https://rtklibexplorer.wordpress.com/2021/02/27/another-look-at-l1-l5-cellphone-ppk-with-rtklib/

V. Kelly Bellis

unread,
Jun 8, 2021, 10:28:27 AM6/8/21
to GPSTest
Great reply; thank you Sean!

And ditto, please, on the ask for replies from RTK users.

Kind regards,

Kelly

Mike Horton

unread,
Jun 8, 2021, 2:33:04 PM6/8/21
to GPSTest
I have my own algorithms, but that said I am not super optimistic either.

I am hoping to get some good decimeter accuracy.  Also I might play with some RF gadgets to see if I can get better quality signals into the phone (will need to look at a tear down).

In a few months when have some experience will post back what I find. 

Thank you for all the help.  I plan to get the Pixel 5.  Wish is supported the Beidou signals, but seem no perfect choice for USA and must work on Verizon...

Mike

Reply all
Reply to author
Forward
0 new messages