3.5.19 · D1Guidance, Navigation & Control (GNC)

Foundations — GNSS — GPS, GLONASS, Galileo, BeiDou

2,177 words10 min readBack to topic

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.


0. The alphabet we are about to earn

Here is the full cast of characters the parent note uses. We define each in order so no symbol appears before it is built.

Symbol Plain name Built in
speed of light (our ruler) §1
transmit time, receive time §2
known satellite position §3
unknown receiver position §3
true geometric distance §4
receiver clock bias §5
pseudorange (measured) §5
leftover error §5
line-of-sight unit vector §6
geometry matrix §6
small correction to guess §6

1. — the speed of light, our measuring stick

The picture. Imagine light leaving a lamp. In one second it sweeps out km — nearly the distance to the Moon. In one nanosecond ( s) it moves just cm — a ruler's length.

Figure — GNSS — GPS, GLONASS, Galileo, BeiDou

Why the topic needs it. GNSS cannot measure distance directly with a tape. Instead it measures time and multiplies by . So is the conversion factor between "how long did the signal take?" and "how far away is the satellite?"


2. and — the two clocks

The picture. Think of a runner passing a note. The satellite writes "I sent this at " inside the signal itself. Your receiver looks at its own watch when the note lands and calls that .

The travel time is the gap:

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 (§5). Hold that thought.


3. Positions: known, unknown

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.

  • known. The satellite broadcasts its own position (from data called ephemeris). Capital clue: it has a subscript , so there is one per satellite.
  • unknown. This is YOU. No subscript, because there is only one receiver. This is what we are solving for.

4. — true straight-line distance (Pythagoras in 3D)

Why a square root? Because distance in 3D is just the Pythagorean theorem stacked twice. In 2D the distance between two points is — the hypotenuse of a right triangle. Add a third axis and you get one more squared term under the root.

Figure — GNSS — GPS, GLONASS, Galileo, BeiDou

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.


5. , , — the clock lie and the "pseudo" range

Now the twist that makes GNSS clever.

The picture. Your watch reads 12:00:00.000001 when the true time is 12:00:00.000000. You are microsecond ahead. Every travel time you compute is therefore too big by .

Multiply that time error by to see it as a distance:

Because the clock adds seconds of fake delay, and metres of fake distance:

Why is the same in every equation. There is only ONE receiver clock, so the same bias pollutes every satellite's measurement equally. That is the trick: because is shared, one extra satellite is enough to pin it down.

Counting unknowns. We now have four unknowns: and . 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.)


6. and — turning geometry into a matrix

The equation 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 . Its three components tell you how much of that direction is East, North, and Up.

Figure — GNSS — GPS, GLONASS, Galileo, BeiDou

Why a unit vector shows up. When you nudge your guessed position a tiny bit, how much does the distance 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 — see the parent note; the answer is a component of .)


Prerequisite map

speed of light c

distance = c times time

two clocks tx and rx

pseudorange rho

3D coordinates xyz

Pythagoras distance r

clock bias b

four unknowns need four sats

line of sight unit vector

geometry matrix H

least squares solve

Dilution of Precision

GNSS position fix

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.


Equipment checklist

Test yourself — if you can answer each, you are ready for the parent note.

What does physically let us convert between?
Time (measured) and distance (wanted): .
Why are and read on different clocks?
is the satellite's atomic clock (in the signal); is your cheap receiver clock — the mismatch creates the bias .
Which position is known and which is unknown, and how do you tell?
with subscript is the known satellite position; with no subscript is the unknown receiver.
Why does contain a square root?
It is the 3D Pythagorean theorem — the length of the hypotenuse across three perpendicular gaps.
What surface does a single distance place you on?
A sphere of radius centred on satellite .
Why is called pseudorange?
Because it is computed from a biased clock, so , not the true distance .
How many metres of error does inject?
m.
Why does the same appear in every satellite's equation?
There is only one receiver clock, so its bias pollutes all measurements equally — which is why one extra satellite pins it down.
Why do we need 4 satellites, not 3?
Four unknowns need four equations; one per satellite.
What does the hat in mean, and what does the vector store?
Length exactly 1; it stores direction (toward satellite ) only, not distance.
What does the matrix encode?
Pure geometry — the sky directions of the satellites, plus a column of s for the shared clock bias.