1. GPS Accuracy
  2. How Radar Guns and GPS Determine Velocity
  3. Why GPS is More Accurate
  4. What Does the Judge Say?
  5. Make It Easy and Use the Best, Go with GPS
  6. GPS for Quads
  7. GPS Dynamic Models
  8. Resources


GPS accuracy

Many write off GPS in terms of using it as a speedometer. When reading the specifications of a GPS receiver, it is very easy to misinterpret. For the ublox M8 series, the horizontal accuracy is between 2-2.5 meters (ublox M8N data sheet). It doesn’t seem like we could extrapolate an accurate velocity from such a (relatively) large positional tolerance, and that’s where most people will call foul. However, if you continue reading the specifications, you will see the counter intuitive velocity accuracy of only 0.05m/s! 0.05m/s = 0.11mph = 0.18kph. How is this possible?


How Radar Guns and GPS Determine Velocity

Radar guns

Radar guns measure velocity by sending out a narrow radio signal at a set frequency (like a ray gun). This signal then hits a moving object and reflects back to the radar gun. Due to the speed of the object, the frequency of this reflected signal will be different from when it was sent out. The speed of the object is proportional to the difference in frequency (the Doppler effect).


The simplest way to determine velocity is to calculate change in position over time. However, GPS has a better way to measure velocity – they measure velocity the same way radar guns do by using the Doppler effect. This is why positional accuracy has no bearing on velocity readings.


Why GPS is More Accurate

Unfortunately for radar guns, readings are influenced by their position relative to the moving object it is measuring; in other words, radar guns are influenced by trigonometry. Imagine a car travelling down a straight road and a police officer is on the side of the road with a radar gun. Now draw a straight line from the radar gun to the car. This creates an angle between the line of sight of the radar gun and the direction of travel of the car (the road). The greater this angle, the greater the error in velocity measurement. If this angle is known, a more accurate reading can be calculated.

Without getting into the math, the velocity measured by the radar gun will always be less than the actual velocity. This is why manufacturers typically recommend holding the radar gun at an angle of 10 degrees or less relative to the travelling object. The greater this angle, the lower the velocity reading will be. This error is only added to when measuring velocity of an object in 3D space. When all is said and done, and if you know you have a measurement made at 10 degrees or less, a radar gun has an accuracy of 1mph – not all that bad.

Fortunately for GPS, the angles of the satellites (relative to the receiver) are also being incorporated into the velocity measurements. Since the distance between the satellite and receiver is so great, any positional inaccuracy used to determine satellite angle is negligible. Using the typical satellite altitude of 20,200km and positional inaccuracy of 2.5m, we can see that: tan-1(.0025km/20200km) = 0.000007°. In addition to this, there are multiple satellites being used. It’s like having multiple radar guns measuring and calculating velocity. According to the sources I found (listed below), raw Doppler measurements are as accurate as a few centimeters per second. Also, since multiple satellites are being used, there is less of a chance of getting a false reading – it does happen, but the receiver software is pretty good at filtering these out.


What Does the Judge Say?

Its obvious to see that GPS is more accurate, but does it hold up in court? Yes it does: GPS Data Used To Disprove Radar Gun In Speeding Trial


Make It Easy and Use the Best, Go with GPS

Not only is it easy (and cheap) to install a GPS receiver on a quad, it is much safer when getting speed readings. To properly take a speed reading of a quad, the person taking the reading has to be at a low angle to the line of travel of the quad: in other words, the pilot has to fly as close as he can to the radar gun and risk beaming the holder in the head. I have seen people doing this and barricading themselves behind a car or tipped over picnic table.


GPS for Quads

I have had very limited experience with GPS as far as variety goes. I have tried a Spektrum telemetry GPS unit which gave very poor results. Other GPS units I have tried:

Tarot TL300L

The Tarot wasn’t the greatest, but it worked most of the time. Generally, it would lose satellite lock while flying and freeze. Regardless, it is an easy full featured OSD to set up. Tarot now has a new unit out, the TL300L2 which I have not tried.

Ublox M8N

This was my first try at using a standalone receiver which a friend recommended. This is directly connected to the FC UART. Configuring can be done with the ublox software or you can enable the gps_auto_config on Betaflight. I found that the default settings on the receiver were not usable with a quad so I tried to configure it myself. I’m very good at learning new things, but I was astounded by the number of configuration variables – it was too much to learn in the time frame I wanted so I opted to let Betaflight configure it.


GPS Dynamic Models

Ublox uses dynamic platform models which describes the general motion that the receiver will be moving. This aids in and greatly improves accuracy in calculations. Unfortunately (as of this writing), Betaflight configures the receiver to use the “pedestrian” dynamic platform model. Ublox description of pedestrian model: “Applications with low acceleration and speed, e.g. how a pedestrian would move. Low acceleration assumed.” This hardly describes the motion of a quad and was the reason I was getting terrible results. However, I was able to research and reconfigure the gps.c sourcefile for Betaflight and compile a hex which set the dynamic model to “Airborne<2g”. Results were much better. If anybody is interested in trying it, here are copies of the gps.c file so you can compile a hex:



Ublox M8 Receiver Description and Protocol Specification

As of now, we are testing to see if this change can be implemented into one of the upcoming Betaflight releases.

Update: We have finished testing the Airborne<4g and it will be implemented as the default mode in Betaflight 3.2.0.



How does a GNSS receiver estimate velocity?

Freda P., and A. Angrisano, S.Gaglione, and S. Troisi, ”Time-Differenced Carrier Phases Technique for Precise GNSS Velocity Estimation,” GPS Solutions, Doi: 10.1007/s10291-014-0425-1, 2014

Hoffmann-Wellenhof, B., and H. Lichtenegger, and J. Collins, Global Positioning System: Theory and Practice, Springer, Berlin Heidelberg New York, 1992

Olynik, M., and M. G. Petovello, M. E. Cannon, and G. Lachapelle, “Temporal Impact of Selected GPS Errors on Point Positioning,” GPS Solutions, 6(1-2): 47-57, 2002

Serrano L., and D. Kim D, R. B. Langley, K. Itani, and M. Ueno, “A GPS Velocity Sensor: How Accurate Can It Be? — A First Look,” Proceedings of the ION National Technical Meeting 2004, pp. 875-885, Institute of Navigation, San Diego, California, January 26–28, 2004

Szarmes, M., and S. Ryan, G. Lachapelle, and P. Fenton, “DGPS High Accuracy Aircraft Velocity Determination Using Doppler Measurements,” Proceedings of International Symposium on Kinematic Systems in Geodesy, Geomatics and Navigation – KIS97, pp. 167-174, Department of Geomatics Engineering, The University of Calgary, Banff, June 3–6, 1997

Van Graas, F., and A. Soloviev A., “Precise Velocity Estimation Using a Stand-Alone GPS Receiver,” Proceedings of the ION NTM 2003, Institute of Navigation, Anaheim, California, January 22–24, 2003, pp. 283-292