GPS Speed/Distance

bqmassey

Line Up and Wait
Joined
Sep 18, 2006
Messages
633
Location
Central Oregon
Display Name

Display name:
Brandon
In an attempt to satisfy a simple curiosity about how GPS receiver's determine speed, I started doing a little research about the math behind it all. As usual, I ended up with more questions than answers. I was wondering if some of you intelligent folks could help with a few of them.

First off, how do GPS receivers (GPSr's) determine distance between two points? When I started reading about the Great Circle formulas, I realized that the distance between two lat/long pairs (which are more a description of angle than they are distance) would differ depending on how far away from the center of the earth you are. For instance, at sea level the distance between two lat/long pairs is smaller than the distance between those same pairs at 40k feet above sea level. In the same way, two points that are tens of thousands of miles apart at seal level would only be inches apart if the radius of the earth was that of a basketball. So... Does a GPSr determine distance based on the Great Circle formula? If so, does it use sea level as the radius, the terrain level, or your altitude? If it's not based on Great Circle, does it instead convert a straight line distance (which would actually go through the earth if you're standing on the ground)?

My assumption is that it uses Great Circle at MSL based on some particular datum (WGS84 perhaps), but that's simply an assumption.

I have more, but I'll stop there for now.

Anyone knowledgeable on this stuff?
 
Last edited:
The distance/speed solutions are simple vector coordinate problems.
Speed is determined by the time and position of the updated position with reference to the previous position. Distance is the calculation between two points. Speed is the time between the two points The box calculates the altitude (distance from the sat based on the time it takes the signal to arrive as referenced to the synchronizing clock) as a third point in space. Instead of a two point (planar surface) coordinate system, GPS is a three-point (spatial) system. Great Circle doesn't really come into play until the distances become very large.
 
All the great circle distance formulas that I've seen assume a mean radius for the earth at sea level. It's about 4000 miles (I'd have to look up the exact value) so altitude changes are fairly insignificant and in most cases what we "want" is ground distance.

Joe
 
The GPS uses a spherical model to compute distances. It is not a strict sphere but they have a geodesic model. I am guessing it projects you to the surface of the model and thus gets almost the same distance you would get tracing it out on a sectional (which is a conformal projection so closely approximates great-circle distances if not bearings).

So if you asked how far did I *really* fly: you have to add the 2*pi*r for your additional altitude. Never thought of it, do U2 pilots take this into account? At my altitudes I am only a mile up so I'm off by six miles (regardless of the total distance traveled).

Todd
 
WRT point to point distance on a GPS receiver, most if not all compute the GCR between those points projected on a sphere which is a fairly simple equation. Of course, there's nothing inherent in "GPS" that requires or dictates this although I would assume that the TSOs for FAA approved IFR GPS navigators specify the distance calculation and accuracy.

As to speed measurement with GPS, there are two methods. One is the obvious solution of dividing the distance between two position solutions by the time between the reception of the data used to generate those position solutions. Unfortunately this results in a fairly "noisy" speed value and since many receivers provide a solution once a second, filtering multiple sequential values creates a significant delay in a changing speed. TSO c146a (i.e. IFR WAAS) navigators have an update rate of five times per second but even that rate would result in a multi second lag.

Fortunately, the second method provides an inherently less noisy speed measurement. This method involves measuring the received frequency of the transmitted carrier (around 1.5 GHz) which changes proportionately with the relative speed between the satellite and the receiver (AKA Doppler shift). This along with the angles between the receiver path and the direct line between the receiver and the satellite is used to compute the receiver's instantaneous velocity and this measurement can be made for each satellite in view with the results averaged together for more accuracy. AFaIK that's how virtually all aircraft GPS navigators compute speed.
 
Last edited:
I've just come to the realization of why pilots over think every freakin' thing that goes through our minds. It's cheaper spending time doing that than flying. If we had more money and spent more time flying, these forums would become extinct.

Sorry, I just had to get that off my chest. Please continue with what I'm sure will be an exhaustive analysis of the margin of error in GPS TSD calcs due to altitude.
 
I've just come to the realization of why pilots over think every freakin' thing that goes through our minds. It's cheaper spending time doing that than flying. If we had more money and spent more time flying, these forums would become extinct.

Sorry, I just had to get that off my chest. Please continue with what I'm sure will be an exhaustive analysis of the margin of error in GPS TSD calcs due to altitude.

:rofl::rofl::rofl:
 
Please continue with what I'm sure will be an exhaustive analysis of the margin of error in GPS TSD calcs due to altitude.

To quote Jim Weir... We are about to start measuring something with a micrometer, and then cut it with an axe..

We have the ability to measure something so precisely, when honestly getting within 30 feet of it will suffice
 
GPS positioning was a pet subject of mine for many years. Lookout - long post follows. :)

GPS units establish their position by calculating a distance (pseudo-range) to a GPS satellite. This places the position of the GPS somewhere on the surface of a sphere with radius equal to the pseudorange distance to the satellite. Much like the VOR triangulation we use in the plane, the GPS triangulates position based on the overlap of those spheres. Reception from 2 satellites overlaps spheres into a circular surface. a 3rd satellite reduces the circular surface to 2 points. a 4th satellite reduces to a single point. That is how GPS derives position in space. A nice picture can be found here (http://www.ausairpower.net/GPS-Spheres-Chart-1S.png).

GPS receivers generate position in Earth Centered, Earth Fixed (ECEF) coordinates, and then use the difference in subsequent position estimates to derive speed. Therefore, the WGS coordinate system is not necessarily required for this estimate.

Additionally, to help aide receiver velocity estimates, Doppler shift effects on the carrier phase of the GPS signal can be monitored by the GPS receiver. The dopper shift provides the relative speed between the satellite and the receiver. With a large # of satellites being monitored, the dopper shift velocity estimates can be pretty accurate.

Both of these velocity estimates are subject to a number of sources of noise, and would be filtered by a Kalman filter to help provide a steady and accurate position and speed estimates.

To display lat/long, the ECEF coordinates need to be transformed to geodetic coordinates (lat/long) via the WGS84 datum. Once lat and long are known, there are several equations available to calculate great circle bearing and distance. A quick google turned up this page (http://www.movable-type.co.uk/scripts/latlong.html). These equations tend to ignore altitude as it is insignificant compared to the radius of the earth.

Hope this helps.
 
Last edited:
Back
Top