This page assumes nothing. Before you can read the parent note GNSS index, you need every symbol it throws at you to already feel obvious. So we build each one from a picture. Read top to bottom — each block uses only symbols defined above it.
The picture. Imagine light leaving a lamp. In one second it sweeps out 300,000 km — nearly the distance to the Moon. In one nanosecond (10−9 s) it moves just 30 cm — a ruler's length.
Why the topic needs it. GNSS cannot measure distance directly with a tape. Instead it measures time and multiplies by c. So c is the conversion factor between "how long did the signal take?" and "how far away is the satellite?"
The picture. Think of a runner passing a note. The satellite writes "I sent this at ttx" inside the signal itself. Your receiver looks at its own watch when the note lands and calls that trx.
The travel time is the gap:
Δt=trx−ttx
Why two different clocks matter. The satellite carries an atomic clock (accurate to a billionth of a second). Your phone carries a cheap crystal that drifts. That mismatch is the whole reason we will later need a symbol b (§5). Hold that thought.
The picture. Stand at a street corner. To pin any point you need three numbers: how far right, how far forward, how far up. That triple is a coordinate.
(xi,yi,zi) — known. The satellite broadcasts its own position (from data called ephemeris). Capital clue: it has a subscript i, so there is one per satellite.
(x,y,z) — unknown. This is YOU. No subscript, because there is only one receiver. This is what we are solving for.
Why a square root? Because distance in 3D is just the Pythagorean theorem stacked twice. In 2D the distance between two points is (Δx)2+(Δy)2 — the hypotenuse of a right triangle. Add a third axis and you get one more squared term under the root.
ri=(x−xi)2+(y−yi)2+(z−zi)2
Read it out loud: take the East-gap, square it; the North-gap, square it; the Up-gap, square it; add them; take the square root. That is the length of the arrow from you to the satellite.
The picture. Your watch reads 12:00:00.000001 when the true time is 12:00:00.000000. You are b=1 microsecond ahead. Every travel time you compute is therefore too big by b.
Multiply that time error by c to see it as a distance:
Because the clock adds b seconds of fake delay, and c⋅b metres of fake distance:
Why b is the same in every equation. There is only ONE receiver clock, so the same bias b pollutes every satellite's measurement equally. That is the trick: because b is shared, one extra satellite is enough to pin it down.
Counting unknowns. We now have four unknowns: x,y,zandb. Four unknowns need four equations. One equation per satellite ⇒ you need at least 4 satellites. (See Least Squares Estimation when you have more than 4.)
The equation ρi=ri+cb has a square root in it, which is annoying to solve. The parent note "linearizes" — replaces the curve with a straight-line approximation near a guess. To do that it needs a unit vector and a matrix.
The picture. Point your finger straight at a satellite. The direction your finger points is u^i. Its three components tell you how much of that direction is East, North, and Up.
Why a unit vector shows up. When you nudge your guessed position a tiny bit, how much does the distance ri change? Only the part of your nudge that points along the line to the satellite matters. That "how much of the motion is toward the satellite" is exactly what a unit-vector direction measures. (The formal name for that operation is the derivative ∂ri/∂x — see the parent note; the answer is a component of u^i.)
Each foundation on the left feeds the box on its right; everything funnels into the final GNSS position fix. From here you are ready for the parent note, then Kalman Filter for fusing fixes over time and Inertial Navigation System (INS) for filling gaps.