Introduction
The smartphone in your pocket is a remarkably capable GNSS instrument - far more capable than most users realise. Since Android 7.0 (Nougat) in 2016, Android devices have exposed raw GNSS measurements through an API that allows developers and researchers to access the same fundamental observables - pseudoranges, carrier phases, Doppler - that geodetic receivers use for centimetre-level positioning. Combined with dual-frequency GNSS chips that are now standard in flagship devices, the modern smartphone is a legitimate GNSS research and prototyping platform.
Android Raw GNSS Measurements API
The Android GnssStatus and GnssMeasurement APIs, available since API level 24 (Android 7.0), provide access to the raw measurements computed by the device''s GNSS chipset. For each tracked satellite signal, the API exposes:
- ReceivedSvTimeNs: The received satellite signal time in nanoseconds - the basis for pseudorange computation
- TimeOffsetNs: Time offset for the measurement epoch
- PseudorangeRateMetersPerSecond: Doppler-derived pseudorange rate (velocity)
- CarrierFrequencyHz: The signal frequency, allowing L1/L5 discrimination
- Cn0DbHz: Carrier-to-noise density ratio
- AccumulatedDeltaRangeMeters: Accumulated carrier phase (when available)
Starting from Android 11 (API level 30), the GnssAntennaInfo API provides access to antenna phase centre offset (PCO) and phase centre variation (PCV) corrections for compatible devices - enabling higher-quality carrier phase processing.
These raw measurements must be processed by the developer into pseudoranges and carrier phases; the API does not provide them directly in RINEX notation. Google''s GNSS Logger application provides a reference implementation for logging raw measurements to CSV files compatible with offline analysis.
Dual-Frequency Smartphones
The Xiaomi Mi 8, launched in May 2018, was the world''s first consumer smartphone to receive dual-frequency GNSS signals (L1+L5) using Broadcom''s BCM47755 chipset. Since then, dual-frequency GNSS has become standard in flagship devices from virtually all major manufacturers. Current iPhone 15 and later and Android flagship models from Samsung, Google Pixel, and others track L1 and L5 signals from GPS, Galileo, and BeiDou, with some devices also tracking GLONASS and QZSS.
The benefit of L5 signals on smartphones is the same as on any other receiver: the higher chipping rate (10.23 MHz vs 1.023 MHz for L1 C/A) makes L5 more resistant to multipath, and the dual-frequency combination enables ionospheric correction. Research studies have demonstrated 20–40% horizontal accuracy improvement when using L1+L5 dual-frequency combinations versus L1-only, with differential GNSS (DGNSS) methods achieving RMS horizontal accuracies of approximately 1.2 metres.
What Raw Measurements Enable
PPP on a Smartphone
Precise Point Positioning using smartphone raw measurements has been demonstrated in research. Static smartphone PPP in ideal conditions has achieved horizontal accuracy of 20–50 cm. This is a remarkable result for a consumer device, though it remains orders of magnitude less precise than a geodetic receiver and requires long convergence times (30+ minutes) and ideal open-sky conditions.
Multipath Detection
The dual-frequency multipath combination observable - derived from L1 and L5 code and carrier measurements - can be computed from smartphone raw measurements to detect and characterise multipath in urban environments. This capability is valuable for urban positioning research and for developing multipath mitigation algorithms without specialised hardware.
Algorithm Research and Education
Perhaps the most significant value of smartphone raw GNSS measurements is enabling low-cost, accessible GNSS research. Students and researchers can prototype positioning algorithms, test signal processing concepts, and collect real-world data in diverse environments without purchasing dedicated GNSS equipment. Applications such as GPSTest (open source) and Geo++ RINEX Logger convert raw measurements to RINEX format for processing with standard tools.
Practical Applications and Apps
Several apps make smartphone raw GNSS measurements accessible without programming:
- GPSTest: Open-source Android app displaying satellite status, signal strengths, and raw measurement quality indicators - an excellent diagnostic tool
- GNSSLogger: Google''s reference logging app, outputs raw measurements to CSV for offline analysis
- Geo++ RINEX Logger: Converts raw Android measurements to RINEX format directly on the device, enabling post-processing with RTKLIB or PPP services
Limitations Versus Survey Receivers
The gap between smartphone GNSS and survey-grade receivers remains large:
- Antenna quality: Smartphone antennas are small, patch-type antennas optimised for compact form factor rather than GNSS performance. They have poor multipath rejection, elevation-dependent gain patterns, and are affected by the phone''s own electronics and the user''s hand and body.
- Carrier phase availability: Manufacturer firmware decisions determine whether carrier phase measurements are exposed through the Android API. Many devices do not expose carrier phase even when the chipset is capable, making RTK-grade processing impossible.
- Duty cycling: Battery management features can interrupt continuous GNSS tracking, causing cycle slips that prevent ambiguity resolution.
- C/Nâ‚€ levels: Smartphone L5 C/Nâ‚€ averages approximately 3 dB-Hz below L1 - a significant disadvantage for weak-signal environments.