Visual walkthrough — GPS — pseudorange, trilateration, dilution of precision
Step 1 — A signal that carries a timestamp
PICTURE. In the figure below, the black dot at the top is the satellite. The red line is the radio signal travelling down to the receiver (black dot at the bottom). Two clocks are drawn: the satellite's clock reads the send-time, yours reads the catch-time.
WHY. Distance is speed times time. If we knew exactly how long the trip took, we'd know the distance instantly:
- — the transmit time, stamped by the satellite's atomic clock (extremely accurate).
- — the receive time, read off your clock.
- — the speed of light, m/s, the fixed conversion between "seconds of travel" and "metres of distance."
Step 2 — Your clock lies, so the range is a "pseudo" range
PICTURE. The red bar shows the true distance to the satellite. The extra black segment tacked on is the fake distance injected purely by the clock error. What you actually measure is the whole bar — true plus fake.
WHY. Because the receiver has one clock, the same error corrupts every measurement. Write it down:
- — the pseudorange to satellite : what we can actually observe.
- — the true geometric distance we wish we had.
- — the clock bias (seconds) converted to metres by . Same for all .
Step 3 — One range is a sphere
PICTURE. The red circle is the sphere of possible positions (drawn in 2D as a circle). The satellite is at its centre; you are somewhere on the rim.
WHY. The distance formula in 3D is the equation of a sphere:
- — your unknown position (what we want).
- — the known satellite position, broadcast in the message, expressed in ECEF coordinates.
- The square root turns three coordinate differences into one straight-line distance (Pythagoras in 3D).
Step 4 — Stacking spheres: how many do we need?
PICTURE. Left: two circles crossing at two points. Right: a third circle selecting a single point. The red dot is the located receiver.
WHY the count matters. Each sphere is one equation. In pure geometry there are 3 unknowns , so 3 spheres suffice. But we forgot the clock:
Now count the unknowns honestly: and — that is 4 unknowns. Four unknowns need 4 equations → 4 satellites. The fourth satellite's whole job is to pin down the clock error .
Step 5 — The square roots are ugly, so we linearize about a guess
PICTURE. The red curve is the true sphere. The straight red-dashed line is its tangent at the guess point . Close to the tangent and the curve are almost the same — that is the whole idea of linearizing.
Step 6 — The line-of-sight unit vector, drawn
PICTURE. The red arrow is the unit line-of-sight vector . Its components are its shadows on the axes. Its length is exactly 1.
WHY length 1? Because we divided by . A check with Pythagoras:
So carries only direction, never magnitude. It is the steering of satellite .
Step 7 — One linear equation per satellite
- — the residual: how wrong our current guess is for satellite .
- — the small position fix we're solving for.
- — the small clock fix. Its coefficient is for every satellite (the shared-clock insight again).
PICTURE. The red residual bar is the gap between the range our guess predicts and the range actually measured. The derivation's job is to shrink every such bar to zero.
WHY. This is a linear equation in the corrections — the square root is gone. Each satellite contributes one such line. Stack them.
Step 8 — The geometry matrix and the least-squares solve
- Each row = one satellite = one line-of-sight arrow + a clock column of .
- The last column of 's is — the "clock direction," identical for all.
- — the four corrections.
PICTURE. Each row of is drawn as a red arrow (a satellite direction) sitting beside its . Wide-apart arrows fill the matrix with independent rows; bunched arrows make near-duplicate rows.
Step 9 — The degenerate case: satellites bunched together
PICTURE. Left: arrows spread wide, spheres cross sharply — the intersection is a crisp red point. Right: arrows bunched, spheres graze at a shallow angle — the intersection smears into a fat red blob of uncertainty.
WHY. In the flat 2D toy of the parent note, two directions apart give . When (parallel), the determinant and explodes. That amplification factor is the dilution of precision:
- Wide angular spread ⇒ small determinant is avoided ⇒ low DOP ⇒ good fix.
- Bunched satellites ⇒ near-singular ⇒ high DOP ⇒ poor fix — even with perfect measurements.
The one-picture summary
This final drawing compresses the whole walk: satellites broadcast timestamped signals (Step 1); a lying clock turns range into pseudorange (Step 2); each range is a sphere (Step 3); four spheres pin position and clock (Step 4); we replace curves by tangents via derivatives (Steps 5–6), stack them into (Steps 7–8), least-squares-solve, and read off precision from the geometry (Step 9).
Recall Feynman retelling — say it back in plain words
A GPS satellite yells "the time is now and I'm here." You hear it a moment later, so from the delay you'd know your distance to it — except your watch is cheap and wrong by the same amount for every satellite. Being a fixed distance from one satellite means you're somewhere on a big invisible ball around it. Two balls cross in a ring, three in a point — but the wrong watch adds a fourth mystery number, so you need a fourth ball to solve for it too. The distances come as ugly square roots, so you guess where you are, pretend each ball is flat right there (that's what the derivative gives you — an arrow pointing from each satellite to you), and each satellite hands you one easy straight-line equation. Bundle those arrows into a table , and a bit of least-squares algebra spits out how to nudge your guess. Repeat twice and you've stopped moving — that's your fix. Last trick: if the satellites are all huddled in one corner of the sky, their arrows nearly overlap, the balls just graze each other, and a tiny timing error smears your position over a wide blur. Spread them out and the balls cut cleanly. That spread-vs-huddle amplification is dilution of precision.
Recall Quick self-test
Why exactly 4 satellites, not 3? ::: Because there are 4 unknowns — position and clock bias — and each satellite gives one equation. What does the unit vector point along? ::: From satellite straight toward the receiver (the line of sight); it has length 1. What is the residual ? ::: Measured pseudorange minus the pseudorange predicted by the current guess. Why does the column of 1's appear in ? ::: It is , the clock direction, identical for every satellite. What makes DOP large? ::: Satellites bunched together ⇒ near-parallel line-of-sight arrows ⇒ near-singular ⇒ amplified error.