Vane

Home › Guides

How GPS Measures Speed: Doppler, Not Distance Over Time

You might expect a GPS speedometer to divide distance by time. Good receivers do something better: they measure your speed directly from the Doppler shift of the satellite signals.

Updated 1 October 2026

Two ways to get speed from GPS

1. Distance over time (position differencing)

Take two positions a second apart, measure the distance between them, divide by the time. It is simple, and it is what you would do with a map and a stopwatch. The trouble is that each position has an error of a few metres, and those errors do not cancel neatly. Two fixes one second apart, each off by 3 m in different directions, can make a parked car appear to move at 20 km/h. Averaging over longer intervals smooths the noise but makes the reading lag.

2. Doppler shift

You have heard the Doppler effect: an ambulance siren sounds higher as it comes towards you and lower as it goes away. Satellite signals do the same thing. Each satellite broadcasts on a precisely known frequency. Your motion towards or away from it shifts the frequency your receiver hears, by a few hertz for every metre per second.

The receiver already tracks each signal's carrier wave very precisely to stay locked on, so it knows the shift for every satellite it can see. Each one gives your speed along the line to that satellite. With four or more satellites in different directions, the receiver solves for your full velocity: speed and direction, horizontally and vertically, along with a small correction for its own clock drift.

lower pitch higher pitch velocity Each satellite's frequency shift gives one component of your velocity.
Moving towards a satellite raises the frequency you receive; moving away lowers it. Combining several satellites in different directions gives the full velocity.

Why Doppler speed is better

How accurate is it?

ReceiverSpeed accuracy
The GPS system itself (US performance standard)Velocity error ≤ 0.2 m/s (0.7 km/h), 95% of the time, global average
Dedicated GNSS module with a good antenna (u-blox M9)0.05 m/s (0.2 km/h), median
Smartphones on the move (2022 study, two Android phones)0.1 to 0.4 m/s (0.4 to 1.4 km/h)

In plain terms: in open sky, a phone's GPS speed is usually right to within about 1 km/h (under 1 mph). Apple publishes no figure for iPhones, but each reading comes with its own speedAccuracy estimate, which good apps use to decide whether to trust it.

When GPS speed goes wrong

What phones and browsers expose

On iPhone, Core Location gives each fix a speed in metres per second, negative when invalid, plus speedAccuracy. In a web browser, the Geolocation API gives coords.speed, the horizontal speed in m/s, or null when the device cannot measure it. A laptop locating itself by Wi-Fi has no satellite receiver and reports no speed. Our online speedometer uses that browser value, and falls back to distance over time only when the browser gives nothing.

Sources

Read next