In the last blog post we did a literature review on what information is required to enable cm-level positioning with a mobile device. Now we’ll get into the Android API to understand how to access the necessary information to construct the pseudorange and carrier-phase measurements for precise positioning. Access to the GNSS measurements in the android devices were added in API level 24 and can be referenced here. The API includes several interesting elements that we’ll discuss in future blog posts. You can visit the Android documentation for the original defintion of these terms but we found them a bit cryptic. We tried to describe them a bit simpler. It is important to note all units provided by android are in units of nanoseconds which can be a bit cumbersome, because getFullBiasNanos has at least 20 digits.
In the previous blog post, we examined the current performance of cell phones in contrast to handheld GNSS devices. The cell phones had an overall horizontal accuracy of approximately 10 m with an error at the 95th percentile of approximately 25 m, where as, the handhelds had an accuracy of approximately 3 m with an error at 95 th percentile of approximately 5 m. The maximum error for cell phones were 66 m and for handhelds was 10 m. The larger spread of the position estimates can be attributed to cell phones having a higher sensitivity, allowing measurements with greater magnitude of multipath and measurement noise to be utilized within the processing engine.
In this post we examine, what is needed to enable high accuracy (m to cm level positioning) with a cell phone. To enable high accuracy positioning with a cell phone, we need cycle-slip free carrier-phase measurements and accurate error modelling of the satellite and atmospheric errors. Such a task is challenging and haven’t been achieved (as yet) utilizing our current generation of consumer grade cell phones. Within this blog post, we will review the measurement quality within a cellphone, relevant error models and the measurement residuals.
The GNSS team at York University is working on a mobile application that capitalizes on Google’s recent announcement to allow access to GNSS pseudoranges on android devices. The focus of the series of upcoming blog posts would document the learning process as GNSS specialists channel their knowledge towards the android environment.
Blog post series
Recently, my research has shifted away from GNSS positioning and more towards clocks. I’ve been examining different products for correcting satellite clock errors and different strategies for combining the products. Looking at the variations in the GNSS timing system, a timing system some people would describe as an absolute measure of time, motivated the question, “What is time?”.