Different smartphone use differenct GNSS receivers. What is their static and dynamic accuracy?
This question is put in general way. This can not be answered due to various producers of gnss chips used in smartphones. I have Lenovo K5 Note model with Mediatek chipset inside which is not accurate in general. There is some discussion available at: https://forums.garmin.com/forum/into-sports/running/forerunner-220-aa/62983-.
This is truly chipset dependent question.
Brgds
Dear Mr. Dean I think you are right. The positioning accuracy of smartphones depends on the accuracy of the GNSS receiver. The problem is that the manufacturers do not want to inform about the exact model that is inside.
Last month I tested statically (24h and 1 Hz) and dynamically (on board) the accuracy of 6 models of one manufacturer. To our surprise, the new model had the worst accuracy.
brds
I'm asking How to fix the model of GNSS receiver shipped with each smartphone: Samsung? What I know: S1 -? S2 -? S3 -? S4 -? S5 - u-blox LEA-6N S6 - Broadcom BCM4773 GNSS Location Hub S7 -? S8 -?
I have general knowledge about this issue, but there are too many variables that affects accuracy, so IMHO this is very hard to compare. This is one interesting story about Samsung phones compared:
The S5 processor, the Snapdragon 801 uses the gpsOneGen 8B GPS module. While the S4, I believe used the earlier 8A iteration. The S5 GPS is said to have faster locks and be capable of 2M accuracy as well as support for the Chinese constallation.
Keep in mind that performance is quite dependent on firmware, making even head to head comparisons challenging.
When you compare accuracy in phones it is very hard to get accuracy measurement, due to hardware used, differential gnss data, software issues used... Even same manufacturer is messing out things in various models of the same generation.
This is generally a function of the inbuilt chip for location-based services (LBS) on the mobile phone. For instance, the early iPhone 4 has a GPS chip while iPhone 4S qualcomm chip receives both GPS and GLONASS SiS improving its accuracy and thus better LBS applications. The static and dynamic accuracy of the mobile phone is a function of the inbuilt LBS Chip which could be GPS-only or GPS/GLONASS or Multi-GNSS receiver.
To: Dean Sumic and Lasisi Salami Lawal
Dear Colleagues, Thank you very much for your substantive answers. If you have information about receivers mounted on Sansung Galaxy sieries and Iphone smartphones, please write me.
Continuing our discussion, I will ask:
1. Does the software that smartphone uses affects the NMEA stream (posiiton) that sends the phone out? I do not think so.
2. Does the smartphone's inertial sensor affect the NMEA stream (position) that sends the smartphone out? I do not think so.
Brgs
Cezary
How to calculate the accuracy of smartphone positioning ? Can You suggest a methodology?
Static measures and dynamic measures? What are the measures?
Dear Prof.,
I've got some remarks that may be useful in your research. I will also respond to your two questions from the previous post:
- avoid NMEA from high-level Android/iOS apps. Reason: GGA message, which is fundamental for all of these apps, is very often truncated in terms of precision of Lat/Lon (probably because of the NMEA GGA sentence length limitation). You can loose some important information (Re 1)
- consider using the Android Developer Studio (ADS) instead (or its counterpart in iOS) to create your own app. ADS is very simple and friendly, at least in its basic usage, and allows you to get "raw" coordinates, without additional protocol (maybe you could evaluate raw measurements with ADS and Android 7? This could be extremely interesting research). It also allows you to specify "source" of these coordinates (GNSS, INS, GSM, or its combinations) which leads us to...
- the fact that some position outputs may be improved by other position augmentation sources (i.e. by INS, position may be "locked in" while smartphone does not move or it may be snapped to a known location). It is a common problem of a high-level APIs, we usually don't known what exactly is inside! This could blur the final results of the GNSS module accuracy research; This remark concerns positions send to the user via NMEA (!) (Re 2)
- also important could be a mounting area of the GNSS antenna in a given smartphone. This may force its mounting (on a tripod or a car/bike/plane) during the experiment
- for static measurements it is a matter of duration, number of samples and measures rather than methodology, but for kinematic please consider the following publication: "Validating the efficacy of GPS tracking vehicle movement for driving behaviour assessment" published in Transactions in GIS, or similar.
I won't talk here about firmware or number of satellites and its influence onto the final accuracy, because it's a topic for a completely different conversation.
Hope you will find some of it useful.
Best regards,
Paweł Przestrzelski
Dear Prof. Specht,
your reseach meets my interests since my colleagues and me are working on smartphone's GNSS capability together with students for geodetic purposes (students project).
You asked for the accuracy of different GNSS receiver types for different manufactures. The question is: On which kind of accuracy you are interested in? Positioning? Timing? Velocity? Are you interested in the overall P-N-T accuracy? There are also important points like stability and continuity of observation types like carrier phase and code phase (pseudorange) as well as the performance of the used/installed antenna.
From my geodetic point of view it is the optimal procedure to determine the precision and accuracy of your unit out of the raw data which your unit provides.
Current Android systems (up to Android 7) support to access the real raw-data like carrier phase, code phase (pseudo ranges) and signal-to-noise (C/N0) ratio. At least the carrier phase observation is highly interesting for using smart devices as smartphones in high precision positioning. Besides of classical SPP-Algorithms (single point positioning) the carrier phases allows you to use PPP (precise point positing).
Please find a list of how to access raw data in smartphones:
Here is a very interesting aticle on how the performance of different units could be evaluated:
Beside of this, if you have access to a smartphone which is capable to store GNSS raw data, you could use a RINEX logger app:
to store observations in an independent format (RINEX - receiver indepenent Eexchange format) for further post-processing.
I really recommend the remarks of Pawel Prestrzelski.
Perhaps, clarify which kind of observation type (carrier phase or code phase) you are using and for which observation type you like to calculate the accuracy and / or precision.
as recommended by Pawel Prestrzelski please really make use of the raw measurements that your unit possible provides. The preprocessed solutions (internal position solution etc.) are in most of the cases a rough/errorneous solution or a solution with furhter conditions, which are not reported transparently. Your device could be more accurate and precise, if your data is processed with own algorithms and stochastical models where you know and can control everything.
To compare the units and to evaluate the accuracy and precision, I suppose the following procedure:
static:
In our project we use the following method, to evaluate the quality of smart devices:
kinematic:
....furhtermore, applications like PPP-RTK are highly interesting for such approaches.
From my experiences and point of view, the accuracy and precision of your smart devices is (1) strongly depending on the quality of the observation data delivered by the units and (2) depending on the algorithms you use, to process your observation for Positioning, Navigation and Timing (PNT).
Hopefully my remarks assist you by answering your questions.
Best regards,
tobias
To Paweł Przestrzelski
Dear Doctor, Thanks a lot for the advice and suggestions that I will use in my smartphone research. Thank you for pointing out an interesting publication.
brds
cs
To: Doctor Tobias Karsten
Dear Doctor, Your comments and attached links are invaluable to me. Thank you very much for such a reliable answer and analysis of other publications. I will use them in my Research.
Your idea for stationary measurements is OK and I will apply it. But how to do dynamic measurements?
Dear Prof. Specht,
belonging the daynamic case, several options are possible which only relay on the desired accuracy and correctness.
From my side, I would propose to generate a target trajectory with a RTK unit or in differential GPS/GNSS (carrier phase based) mode simultanously to data recording with a smartphone device. Take care to support a stable body-frame coordinate system between the moving DGNSS/RTK rover and your smartphone device. Furthermore take care to support for both units (DGNSS/RTK rover and smartphone) the same/close similar conditions for the satellite visibility to be fair to both units.
The evaluation of the data should be carried out in a topocentric coordinate system w.r.t. the target trajectory for a meaningful interpretation of the correctness and accuracy of the coordinate estimates.
Interesting topic and interesting answers from several contributors...
A couple of years ago I had to design a system for calibrating the accuracy of an Aircraft Carrier Warship Goniometer and made use of known coastal beacons to improve the accuracy of the system. Below is another links which discusses the accuracy of smartphones GNSS receivers which as already mentioned is a function of the location (free sky view, urban environment...), data processing HW/FW, etc...
I understood that you were looking for comparisons and reference, you can get HW at reasonable cost from EOS that is able to make use of GPS, Galileo, Glonass and Beidou to achieve centimetric accuracy, you could then make comparisons with your phone indications... Best of luck and... I guess we will all be interested by the results when you will publish them :) Best regards,
Patrick
https://eos-gnss.com/mobile-device-lying-gnss-accuracy/
To give a very general answer, I would like to say its accuracy is about a few meters.
As many people point out, without knowing the details of a smartphone, it is really hard to tell the exact accuracy.
In terms of the relative positioning (or say, precision), I think it is below a meter. If I walk a small step in one direction, the dot in the smartphone will move accordingly. This indicates that the relative positioning is below a meter. Probably the map/road constraints help with the relative positioning.
Dear professor,
We tested several smartphones and a tablet, and compared them with an older mapping-grade and survey-grade receiver under forest and open-area conditions. We have conducted a standard test of horizontal accuracy with multiple checkpoints surveyed using total station. No averaging was used in the test. Under open-area conditions, the RMSExy was ~2m for all "smart" devices (even the older ones); in forest the accuracy was variable to a higher degree: 5 to 11.5m (leaf-on season) and 4.5 to 7m (leaf-off season). We tested also an influence of various specific conditions in forest on the accuracy, and the relation between accuracy estimated by device and the real accuracy. The study is available here:
Article Horizontal accuracy and applicability of smartphone GNSS pos...
(or perhaps directly at https://academic.oup.com/forestry/article/90/2/187/2605849)
In my experience the accuracy and overall "behaviour" of GNSS in smartphones is not only hardware-dependent, but can significantly change also with various OS versions (GPS.conf file in system setting etc.). As you already mentioned, newer chipsets don't inevitably have higher accuracy than the older ones (e.g. Experiment Findings GPS (GNSS) accuracy of Lenovo Phab 2 Pro under conditions of...
compared to the previous study).When speaking generally of the smart devices, I think that we can only assume quite coarse ranges of expected accuracies as the number of possible hardware and software combinations is very high..
Best regards,
Julian
If you take into account the way that Android application is obtaining location there is no straightforward answer. Take a look at: https://developer.android.com/guide/topics/location/strategies.html
If you want to investigate the accuracy of a particular phone you should do it by writing your own application just to be sure what is happening inside.
Moreover starting from Nougat you have access to raw phase observations.
https://developer.android.com/guide/topics/sensors/gnss.html
So even RTK is possible.
my strategy for these measurements lies in: stationary measurements:
1. I will install the same software on all smartphones (GPS NMEA)
2. Next - record NMEA (GGA) messages every 1 second in a txt file
3. Calculate accuracy measures: rms, 2drms, CEP, SEP, R95, etc. (using Mathcad 15)
I will determine the true coordinates of the antennas tachymetrically in WGS-84. (phones will stand next to each other).
Take a look at: A study of smartphone satellite positioning performance at sea using GPS and GLONASS system. Both static and dynamic is covered.
Kr
Ivo
My master thesis is based on raw measurements from a Samsung Galaxy S9+, so I will attempt to share my experiences.
There are generally two cases that are of interest: Code measurements and phase carrier measurements. Because of the low-quality GNSS antenna in the smartphone, and because of poor multipath mitigation, the noise on the code has an RMS (average value) of about 5 meters, compared to an approximate RMS of 0.20 m for geodetic receivers. This results in a precision of about 10 meters in 3D, if both GPS and Galileo are used - about 15 meters with GPS only. This, of course, also depends on the number of satellites available. By averaging several measurements, the accuracy can reach about 1.5-2 meters horizontally and 3 meters vertically. The height can be better estimated by using more accurate ionosphere esimtates (e.g. IONEX or local estimates from two-frequncy receiver).
For the phase, I managed to produce a 3D precision of 5 mm by getting fix-solutions from the static-relative method. I measured statically for two hours for two points and got a 5 mm precision for both. This, however, was hard to produce with the kinematic method, even while the smartphone was lying still - some intervals of fix were achieved, however.
Hope this gives some insight into the matter.
Thank You for Your detailed answer. You mention abut phase measurements. Does the smartphones Galaxy can make the phase measurements?
Hi Cezary.
Yes, you can do this in Android 7 or newer - only Android phones. However, your Android phone also needs to have the developer option "Force full GNSS measurements" (see attached image, in Norwegian). This option exists in Android, but maybe also in 7 and 8.
If you don't have this option activated, your phone's system will turn the GNSS components off and on during measuring, causing discontinuity, which again causes cycle slips. My Samsung Galaxy S9+ can measure continuously without cycle slips by forcing full GNSS measurements.
Is this code and phase measurement?
What is pseudorange accuracy of this measurement?
The plot with blue dots are results from code pseudorange SPP, with a horizontal accuracy of about 1.5 m and 3 m vertically.
The plot with green dots are fix solutions from static phase measurements, relative to a base station. While the 3D precision is about 5 mm, the accuracy is approximately 6 cm north and 3-4 cm west. The bad accuracy is most likely due to the SGS9+ antenna reference center not being in the middle of the phone - the phone was centered over the point before measuring. This is further proven to be the case since the same offset appears in the solutions for another measured point. However, since the precision is so good, the antenna offset can be estimated from multiple static measurements. I didn't have time for this in my thesis, though.
By the way, the app I used for collecting the phone's raw measurements is called Geo++ RINEX Logger. I highly recommend it.
Thanks. We will test them. We made also a few tests of smartphones accuracy.
Article Comparative Analysis of Positioning Accuracy of Samsung Gala...
Dear Mr. Specht,
Here is a link that might be of interest to you, several recent post dealing with accuracy of GNSS receivers.
https://www.linkedin.com/feed/hashtag/?keywords=%23GNSS
Best regards,
Patrick
Dear Specht,
Position accuracy play one of the major role in navigation. 2D and 3D position accuracy are available in navigation system. 2D accuracy are 2DRMS (Distance Root Means Square) and CEP (Circle of Error Probable) and 3D accuracy are SEP (Spherical Error Probable) and MRSE (Mean Radial Spherical Error). Same thing also applicable for smartphone GNSS receiver accuracy. From the attached article, you may get some information on GNSS position accuracy.
With best regards,
Somnath Mahato
Please see "Merry, K., and P. Bettinger. 2019. Smartphone GPS accuracy study in an urban environment. PLoS ONE. 14(7): e0219890."
Article Smartphone GPS accuracy study in an urban environment
Dear professor,
Please consider our latest contribution to this topic.
We tested the dual-frequency, multi-constellation smartphone with regard to real-time measurements and processing of raw data.
The study was aimed on applicability in forests, but we considered also open-sky conditions.
Article Advances in smartphone positioning in forests: dual-frequenc...
Best regards,
Julian
Dear Doctor, Thank you. I have read your publication. It is very interesting. I will quote her.
brgs
c.s
Android 11 should allow developers to access the GNSS positioning. It doesn't seem like this was available previously, hence why testing showed little improvement in the positioning of dual frequency phones. Hopefully some one smarter than me will look at using this data class or integrate external antennas.
https://developer.android.com/about/versions/11/features#gnss
https://developer.android.com/reference/kotlin/android/location/GnssAntennaInfo
Dear Kyle, thank you very much for the interesting material. I share the view that it's time to get interested in dual-frequency telephones .
Dear colleagues, I have a very difficult question about measuring accuracy.
how long should a measurement session be to assess accuracy? Is 1 hour enough? is it supposed to be a day? or a week? Who knows and why?
brgds
c.specht
Cezary Specht What level of accuracy are we speaking about (few meters, dm, cm)? If in general, the application is crucial from my point of view and it will be a compromise between accuracy and effectiveness in most cases. E.g. the accuracy of a week-long observation is hardly a useful information for GIS practitioner. In my experiments, I aim on as short observations as possible to achieve acceptable accuracy.
Dear Julian, thank you for the answer, but you didn't answer it. For the begining, let's consider an ordinary GPS with an accuracy of 5-8 m. How do I determine how many of these measurements should I take?