SlideShare a Scribd company logo
Introduction to GNSS raw measurements in
smartphones
Galileo Hackathon
Dr. Lukasz Bonenberg
15th May 2017
1
Galileo
Guiding light
dima goroziya/CC0
3
SplitShire/BY0
4
GNSS accuracy
Figure courtesy of Prof T Moore
5
What about Android?
Google Services API
developers.google.com/awareness-location/
©Google
7
But how do I know my location?
developer.android.com/guide/topics/location/strategies.
html
©Google
8
Android Nougat
©Google
9
Looking under the hood
©Google
10
Two APIs
©Google
11
Android GNSS observations
• Pseudorange/Pseudorange Rate (code)
• HW clock
• Navigation data
• Accumulated Delta Range (Carrier)
• additional information (Doppler, observation uncertainty, SNR
ect)
Observations provided by android.location are chipsets dependent1.
1Qualcomm Snapdragon, Broadcom BCM4774 or Intel WCS2x00. There could be
more.
12
What can we do?
Urban Canyons
Pexels/CC0
14
More phones than ppl
William Starkey/CC0
15
Applications?
• GIS and asset management
• Crowdsorcing
• Low cost CORS network
• Space weather
• sensor fusion
• improving position in urban areas (Shadow Matching)
What could you do with with phone position on dm level?
16
Sample workflow
Positioning applications use android.gms.location and Sensor from
android.hardware. What could we do with android.location?
• calculate Pseudorange;
• get corrections via NTRIP (DGPS);
• estimate position;
• provide position to android.gms.location (Google Play
Services).
• Convert observables to RINEX;
• Expand NMEA logger for additional messages;
• Send timing and synchronisation information;
17
Summary
Take away
• android.gms.location abstracts and simplifies position use
within application. Main focus is battery use.
• There is existing android.hardware API giving us access to the
phone sensors.
• Android 7 adds GNSS observations API - android.location,
providing more GNSS positioning options (external corrections,
longer observation times, more sophisticated algorithms ect) at
the cost of battery power;
• Eperiment with new ideas and be creative.
19
Useful links
• GSA market report - bit.ly/2h5qhP0
• GSA user report bit.ly/2i36aRj
• Simon Banville blog - www.blackdotgnss.com/2016/09/20/
ppp-with-smartphones-are-we-there-yet/
• Rokybun blog - http://rokubun.cat/2016/06/30/
android-n-preview-gnss-measurements/
• T. Humphrey et al (2016) On the Feasibility of cm-Accurate
Positioning via a Smartphone’s Antenna and GNSS Chip
20
Useful links
• Existing apps using external hardware:
• uCentre bit.ly/uCentre
• NTRIP bit.ly/2q701V3
• RTKGPS+ bit.ly/RTKplus
• Google code github.com/google/gps-measurement-tools
• my fork - github.com/DfAC/gps-measurement-tools
• calculating pseudoranges - github.com/DfAC/AndroidGNSS
• RTKGPS github.com/tomojitakasu/RTKLIB
21
Thank you
Questions?
Lukasz.Bonenberg@nottingham.ac.uk
My presentations can be found at
www.slideshare.net/LukaszKosmaBonenberg
22

More Related Content

2nd Galileo Android Hackathon intro

  • 1. Introduction to GNSS raw measurements in smartphones Galileo Hackathon Dr. Lukasz Bonenberg 15th May 2017 1
  • 5. GNSS accuracy Figure courtesy of Prof T Moore 5
  • 8. But how do I know my location? developer.android.com/guide/topics/location/strategies. html ©Google 8
  • 10. Looking under the hood ©Google 10
  • 12. Android GNSS observations • Pseudorange/Pseudorange Rate (code) • HW clock • Navigation data • Accumulated Delta Range (Carrier) • additional information (Doppler, observation uncertainty, SNR ect) Observations provided by android.location are chipsets dependent1. 1Qualcomm Snapdragon, Broadcom BCM4774 or Intel WCS2x00. There could be more. 12
  • 13. What can we do?
  • 15. More phones than ppl William Starkey/CC0 15
  • 16. Applications? • GIS and asset management • Crowdsorcing • Low cost CORS network • Space weather • sensor fusion • improving position in urban areas (Shadow Matching) What could you do with with phone position on dm level? 16
  • 17. Sample workflow Positioning applications use android.gms.location and Sensor from android.hardware. What could we do with android.location? • calculate Pseudorange; • get corrections via NTRIP (DGPS); • estimate position; • provide position to android.gms.location (Google Play Services). • Convert observables to RINEX; • Expand NMEA logger for additional messages; • Send timing and synchronisation information; 17
  • 19. Take away • android.gms.location abstracts and simplifies position use within application. Main focus is battery use. • There is existing android.hardware API giving us access to the phone sensors. • Android 7 adds GNSS observations API - android.location, providing more GNSS positioning options (external corrections, longer observation times, more sophisticated algorithms ect) at the cost of battery power; • Eperiment with new ideas and be creative. 19
  • 20. Useful links • GSA market report - bit.ly/2h5qhP0 • GSA user report bit.ly/2i36aRj • Simon Banville blog - www.blackdotgnss.com/2016/09/20/ ppp-with-smartphones-are-we-there-yet/ • Rokybun blog - http://rokubun.cat/2016/06/30/ android-n-preview-gnss-measurements/ • T. Humphrey et al (2016) On the Feasibility of cm-Accurate Positioning via a Smartphone’s Antenna and GNSS Chip 20
  • 21. Useful links • Existing apps using external hardware: • uCentre bit.ly/uCentre • NTRIP bit.ly/2q701V3 • RTKGPS+ bit.ly/RTKplus • Google code github.com/google/gps-measurement-tools • my fork - github.com/DfAC/gps-measurement-tools • calculating pseudoranges - github.com/DfAC/AndroidGNSS • RTKGPS github.com/tomojitakasu/RTKLIB 21
  • 22. Thank you Questions? Lukasz.Bonenberg@nottingham.ac.uk My presentations can be found at www.slideshare.net/LukaszKosmaBonenberg 22