High Accuracy projects for Smartphones

1,057 views
Skip to first unread message

gpsfan

unread,
Feb 13, 2021, 8:20:11 AM2/13/21
to GPSTest
Passing this along too as there have been threads wondering why there haven't been any high accuracy apps made available for smartphones since raw measurements became available on Android in 2018 and the concurrent released of the first L1+L5 smartphones.

There are a couple of issues it seems :
- the Android phones that output Carrier Phase data (called AccumulatedDeltaRange) in their raw data are few and far between, there is the Mi 8 of course, the Pixel 4, the Pixel 5 and the Huawei P20 so far. None of the newly released L1+L5 phones like the Mi 10/Mi 10 Lite, RealMe X3, etc...output ADR.
- the tiny antennas are a potential problem to get data that will work with RTK solutions. I've logged hours of data with my Mi 8 and post-processed and have very rarely achieved a "Fix Solution".

There have been a few projects though, unfortunately the apps have remained private :
- PPP WizLite : by the French Agency, app pulled from Play Store for unknown reasons but still available on repo sites like APKPure
- Project Possum : https://gmvnsl.com/about-nsl/nsl-blog/15-products-and-services/66-possumusing data from SBAS DFMC (satellite-based augmentation system dual-frequency multi-constellation)
- Project Flamingo : https://www.flamingognss.com/ by far the most advanced project with all the details available in "The FLAMINGO Final Public Report" dated  20/08/2020 - no public app made available and no recent news, might be dead

Any other projects around ?

Knut

unread,
Feb 13, 2021, 10:16:50 AM2/13/21
to GPSTest
In my logfiles, ADR is constantly reported as 0, and the fields Carrier Cycles and Carrier Phase are empty. But the device capabilities for my Pixel 4a 5G are reported by GPStest as supporting GNSS raw measurements. I had "Force full GNSS measurements" enabled. Am I overlooking something?

Knut

unread,
Feb 13, 2021, 10:29:43 AM2/13/21
to GPSTest
Regarding Flamingo, that project was funded by EC H2020 with 2M EUR and ran from Nov 2017 to MAy 2020.
Details can be found at

gpsfan schrieb am Samstag, 13. Februar 2021 um 14:20:11 UTC+1:

Knut

unread,
Feb 13, 2021, 11:07:03 AM2/13/21
to GPSTest
ok, what I have overlooked is that beyond

Raw measurements: SUPPORTED

my phone also reports

Accumulated delta range: NOT_SUPPORTED
:-(

gpsfan

unread,
Feb 13, 2021, 12:37:06 PM2/13/21
to GPSTest
Yeah, like the Mi 10 Lite (SD765), or the RealMe X3 (SD855), there seems to be a trend there..
I'm not sure if there's any point in having Raw Measurement if ADR is not available since that's the data you need to do post-processing or RTK...

Sean Barbeau

unread,
Feb 15, 2021, 1:10:49 PM2/15/21
to GPSTest
>I'm not sure if there's any point in having Raw Measurement if ADR is not available since that's the data you need to do post-processing or RTK...

Yes, but to be clear, you can still calculate a position using the pseudoranges calculated from the C/A codes.  Presumably this can still yield improvements in accuracy over the black-box location calculated by the chipset if Google is using it as part of their improved positioning implementation:

ADR allows you to do carrier phase (RTK) measurements, which have the potential to be higher accuracy due to the increased time resolution over using C/A code alone. There is a good explanation of this in this Google I/O video for anyone that wants to dive further:

But as you say this requires a good antenna, and it's not clear to me if we're there yet. 

Also RTK requires that the chipset remain powered on (no duty-cycling), which currently requires users to enable developer mode and turn off duty-cycling as I explain here:

So even if apps implemented RTK right now, the number of users that would benefit from it is very, very small. If Google enabled this setting by default (they haven't so far due to battery life concerns), that would open it up to a much larger audience.

>Any other projects around ?

I've been trying to track some of these projects, especially the OSS ones, here:

If I missed anything pull requests are welcome!

Sean

gpsfan

unread,
Feb 15, 2021, 1:42:42 PM2/15/21
to GPSTest
Yeah Van Diggelen from Google said specifically at the IO meeting (link was shared a couple of weeks ago) that CarrierPhase was of no help with the 3DML algorithms they're pushing out. He didn't give details on how it works but they're likely using raw measurements coming from the chip.
As for computing a better position using the raw measurement, it seems unlikely as the chips do pseudo range smooting and can leverage the sensor info directly.
You have to wonder why ADR is not being output on most smartphones, is there some lobbying from the pros ? But with the weak antennas and the difficulty in getting a FIX with PPK processing there don't seem to be many reason for them to be concerned.

Sean Barbeau

unread,
Mar 4, 2021, 8:43:44 PM3/4/21
to GPSTest
Interesting development in Android S preview and RTK - it looks like there is now a way for apps to directly request disabling of duty-cycling when requesting raw measurements:

This would allow apps to do carrier phase measurements without needing the user to go into developer mode and disable duty cycling themselves. 

Sean

gpsfan

unread,
Mar 5, 2021, 5:45:18 AM3/5/21
to GPSTest
Sounds good but that leaves the problem of phones ACTUALLY recording CarrierPhase Data, for the time being we only have the Mi 8, the Huawei Mate 20 , the Pixel 4 and the Pixel 5 as far as I can tell ?

Sean Barbeau

unread,
Mar 5, 2021, 11:18:27 AM3/5/21
to GPSTest
Looking at what people have been submitting to the GPSTest Database, there are actually a number of others that support valid ADR data (see column N):

I removed the ADR column values for all the early GPSTest version submissions that had problems so those cells are now blank. The remaining values in column N are good data from more recent submissions.

Other devices that seem to be reporting good ADR:
* Pixel 4a
* Huawei P20
* Huawei Honor View 20
* Samsung Galaxy XCover 4s
* Samsung Galaxy S21 Ultra (Exynos variant with BCM4775)
* Huawei Nova Lite

Given that the Pixel 4a and Pixel 5 both support ADR now I'm guessing the Pixel 4a 5G does too.

I have scripts set up that will remove duplicate entries from the database, but it will prefer to keep those with ADR info, so over time this column will be populated with more info (and if anyone previously submitted data and sees their entry missing ADR, please uninstall/reinstall the app and resubmit!).

I plan to release the v3.9 beta to production soon, so hopefully that should bring a lot more reports from users as well. Given the above, I would expect to see more devices that support it.

Sean

gpsfan

unread,
Mar 5, 2021, 5:01:26 PM3/5/21
to GPSTest
Yes I checked that list earlier today and again a minute ago and the Pixel 5 showed both Supported and Unsupported, maybe an old entry, it's safe to assume it does, as well as the Pixel 4 since the test data for the decimeter competition was collected on these phones on top of the Mi 8. The Pixel 4a probably supports ADR too but since it's not a DF phone, it's going to be inferior for RTK (when a solution appears) and PPK.
Nearly 3 years down the road of Raw GNSS measurements and DF phones, the dearth of available phones that have both raises a few questions and won't encourage developers to spend much time to offer app for such a limited market.

Sean Barbeau

unread,
Mar 5, 2021, 5:08:52 PM3/5/21
to gpsfan, GPSTest
The two Pixel 5 records are for before and after the March update (see "GNSS hardware model name" and "Android software (incremental) build" columns for these records). Before the March update ADR was broken on the Pixel 5 and they just fixed it in the latest update.

I'm in the process of writing a Medium article on this to explain some of these items.

Sean

--
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/25d90672-08e5-4180-a662-b6a2da7488e9n%40googlegroups.com.

Knut

unread,
Mar 6, 2021, 8:47:51 AM3/6/21
to GPSTest
yesssss, rushing to my phone after just having read this message ;-) And indeed, ADR is now reported as working.

Finally, some "above average" GNSS value on this mostly average piece of hardware which has set me back EUR 539 / US$ 640 last Dec :-| (OK, camera is good, albeit too much AI postprocessing for my taste and screen is not too bad). To add insult to injury, a number of retailers just lowered price to EUR 399 :-(

Is there an app anyone would recommend for me to check out that the ADR is actually recording meaningful values? I guess I could generate logfiles with GPStest or GalileoPVT and postprocess them, but maybe there are simpler approaches??

Cheers,

Knut

gpsfan

unread,
Mar 6, 2021, 12:11:16 PM3/6/21
to GPSTest
Can't really think of another way no since RTKLib+ for Android does not support internal receivers outputting "raw GNSS measurements", if it did we could see the "bars" for each satellite.

I would log Rinex data directly with "GNSS Log" or Geos++ Rinex (actually there you can sort of see if the data is meaningful as it shows cycle slips) or the  NSL Flamingo Logger. Then upload your file to https://jason.rokubun.cat/ and choose Static/PPK and see what happens. They don't show the quality of the RTK Process though (Fix/1 or Float/2) unlike RTKPost from the free RTKLib but if you're not familiar with it the learning curve is rather steep

Sean Barbeau

unread,
Mar 23, 2021, 1:17:40 PM3/23/21
to GPSTest
>Is there an app anyone would recommend for me to check out that the ADR is actually recording meaningful values?

In GPSTest you can log raw measurements to Android Monitor for Android Studio, which will provide a plain text readout of all the GnssMeasurement information to LogCat:

This is easier to read than the GNSSLogger-style logs if you're looking for ADR states for cycle slip info, etc. reported by GnssMeasurement.getAccumulatedDeltaRangeMeters(). See the ADR_STATE_* constants at the top of this class for possible values:

This is what I ended up using when I was trying to troubleshoot the GPSTest Database implementation.

Sean

gpsfan

unread,
Mar 26, 2021, 2:42:38 PM3/26/21
to GPSTest
Since reviewers (like this guy http://www.youtube.com/watch?v=DK4ktTNhonY) are using GPSTest, a live indicator of ADR being present or not would be great for an upcoming version as having that feature on board is really the only way Android Smartphones are going to offer sub meter accuracy, either in real time via RTK (when an app becomes available, chicken and egg thing) or via PPK, something that requires a bit of work with RTKLib but is very easy with the online JASON service.

Sean Barbeau

unread,
Apr 1, 2021, 7:10:47 PM4/1/21
to gpsfan, GPSTest
Agreed - this will be part of https://github.com/barbeau/gpstest/issues/313

Sean

--
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.

Emilio González

unread,
Apr 2, 2021, 8:13:16 AM4/2/21
to GPSTest
Hi there,


These guys are also making the Galileo reference HAS user algorithm.

Cheers

gpsfan

unread,
Apr 3, 2021, 12:13:37 PM4/3/21
to GPSTest
Thanks for the tip, that's a very interesting app as it offers PPP corrections in real time. Now it's a bit "locked" since you can only export your data to KML but you can still experiment fully with it...and that's where you see that our Android DF phones with their tiny antennas offer limited opportunities for improved accuracy even with RT/Post processing.

Due to the fact that PPP corrections only work with satellites that are both L1/L5 my Mi 8 goes from a "non PPP" satellite "pool" of 26 satellites (9xGPS, 5xGalileo, 6xGlonass and 6xBeidou) to 6 satellites (2xGPS L1/L5 and 4X Galileo E1/E5) and as a result the solution is well..poor, even with the correction. What you lose in "raw data" is not at all made up by the RT PPP corrections. Besides you also lose all the advantages of the Android "fused" connection (network, sensors).

I got a maximum "convergence" of 81% and sub meter accuracy I think but that's only theoretical, the accuracy was way lower compared to the actual position on Google Maps (as a side note, there is a 1 meter error in Google Maps calibration where I live as verified by RTK post-processing with a uBlox 8 receiver).

Looking forward to hearing what results others are getting. By the way they have a list of phones that output raw data on their website and as we know here there are very few recent ones unfortunately...they're missing the Pixel 4 and 5 though https://spaceopal.com/navcast/navcast-app/raw-measurements-devices/ - So the Mi 9 does support raw data ? I thought it didn't unlike the Mi 8 or was it just navigation data that's missing (not that it's really needed for post-processing).

Sean Barbeau

unread,
Apr 3, 2021, 1:56:23 PM4/3/21
to gpsfan, GPSTest
Thanks, that's good info!

IIRC Mi 9 supports raw pseudorange but not ADR (carrier phase) or nav messages.

GPSTest database partially indicates this although it needs a new submission from the app after ADR support detection was correctly implemented:

So if you have a Mi 9 please submit!

Sean

--
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.

gpsfan

unread,
Apr 4, 2021, 6:46:12 AM4/4/21
to GPSTest
Yes I misread their table, they do show "Back up" so no ADR.

Has anyone else with a compatible phone tried 3PGo ?

gpsfan

unread,
Dec 25, 2023, 5:56:58 PM12/25/23
to GPSTest
So I tried PPP Wizlite and 3PGO on my Pixel 6 today and...neither seem to work anymore, how sad ! It looks like high accuracy GPS for "consumers" is never going to happen...

Jim bell

unread,
Dec 26, 2023, 1:04:39 PM12/26/23
to gpsfan, GPSTest
I just tried accessing gmv.com, couldn't be found.

--
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.
Reply all
Reply to author
Forward
0 new messages