GPS devices can estimate velocities in ways other than subtracting subsequent positions. For instance they can look at doppler shifts or carrier phase shifts. I always figured that in NMEA messages that consumer GPS receivers output, the velocities aren’'t the trivial ones calculated from the positions, but some other and more interesting version like the above. Does anyone here know?
I did try analyzing thousands of lines from a Garmin GPS17 and I find that there is no simple relation between north-south velocity and the change in latitude, though not surprisingly they have strong correlation.
No references I’ve found about NMEA data or Garmin products explain this point. They’re primarily about handholding and reassuring the consumer not to worry.
I have no idea what chip is in a Garmin 17 but at least some SiRF (very common in consumer devices) chips use Doppler shift (in part) for velocity. It is a little complicated due to the fact that there are somewhat advanced logical filtering/and or smoothing algorithms involved, depending upon the device in question. Check out : this thread (about three quarters of the way down, Carl works for SiRF and is an active poster) or just Google “Kalman Filter” for more info on the basic type of recursive filtering used.