Software Gives Centimeter Positioning With Phone GPS
Written by Mike James   
Thursday, 21 May 2015

It is a little known fact that GPS can provide much more accurate positioning, although only if you provide a big enough antenna. This isn't a reasonable proposition for most applications, but now we have an algorithm that can extract the extra accuracy using nothing but a standard mobile phone aerial.

With good conditions, mobile phone GPS receivers can give your position to 2 to 3 meters. The problem is that multipath reception generally reduces this to 10 meters or worse. Multipath reception spoils the timing information because the signal from a satellite takes a number of paths to the receiver. A bigger directional aerial and more sophisticated processing can reduce multipath reception and achieve centimeter precision.

Now a team of researchers from the University of Texas at Austin have taken the standard hardware used in phones and attempted to improve it with nothing but software - and some feasible, i.e. affordable, hardware upgrades such as a temperature compensated reference oscillator.

The key to the process is a sophisticated software filter that actually makes use of the random movement of the receiver. Simple GPS receivers demodulate the signal and extract the navigation message. This is a data packet that lets the GPS fix the position to a few meters. In principle this is as good as non-military GPS gets, but by looking at the phase of the carrier it is possible to improve the positioning to centimeter precision- as precise as 2mm in theory. The problem is in measuring the total phase of the carrier, and this is impossible if you can't get a strong signal that propagates along a single path between you and the satellite. This is the reason that survey grade GPS systems have to have big and costly antennas. 

The new method uses software to implement a sophisticated filter that attempts to remove the errors caused by multipath reception. The filter includes a term for the position and velocity of the antennas. A surprising consequence of this is that the phase estimation improves as the phone is randomly moved around. 

You can see how good the approach is from the following demonstration.



The phone is a standard mobile phone with the signal tapped off and processed by a software radio and the new filter algorithm. The red area represents 400 solutions for the position of the antenna and you can see it is accurate to about one centimeter. 

To show the possibilities of centimeter-accurate GPS the team prepared a demo video: 


At the moment the processing is being done on a computer separate from the phone, but it should be possible to get it to run on the phone's own processor. Eventually a custom receiver should cost less than $50. Cheap centimeter positioning makes all sorts of things much easier, from robotics and self driving cars to surveys and 3D scanning.


More Information

Centimeter Positioning with a Smartphone-Quality GNSS Antenna

by Kenneth M. Pesyna, Jr., Robert W. Heath, Jr. and Todd E. Humphreys, the University of Texas at Austin

Related Articles

Roads API For A Smooth Accurate Track       

Getting Started with Google Earth       

Getting started with Google Maps JavaScript       


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.



Google Introduces JPEG Coding Library

Google has introduced Jpegli, an advanced JPEG coding library that maintains high backward compatibility while offering enhanced capabilities and a 35% compression ratio improvement at high quality co [ ... ]

JetBrains Launches IDE Services

JetBrains has launched a new product suite for enterprises. JetBrains IDE Services is designed for use by large organizations with the aim of boosting developer productivity at scale.

More News


raspberry pi books



or email your comment to:

Last Updated ( Thursday, 21 May 2015 )