Positioning · Navigation · Timing
Understand how the world knows where it is.
From first principles to cutting-edge research — through interactive learning, engineering tools, and real-world applications. Built to cultivate understanding, not just deliver information.
What would you like to do today?
Concepts
Carrier Phase & Ambiguity
Under the code rides the raw carrier wave — a ruler with 19-centimetre teeth that a receiver can read to a millimetre. The catch is maddening: you can measure the fraction of a wavelength perfectly, but you have no idea how many whole wavelengths you're standing on. Resolve that integer, and you unlock centimetre positioning.
advancedcoreCoordinate Frames
Geodetic, ECEF, and ENU are three different languages for the exact same point. Knowing which one you're speaking — and how to translate — is the quiet backbone of all GNSS.
beginnercoreDilution of Precision
The same measurements can give you a crisp fix or a mushy one depending purely on the geometry of the satellites overhead. DOP is the number that captures that difference.
beginnercoreThe GNSS Error Budget
Every positioning lesson has leaned on the same short list of villains — satellite clock and orbit, ionosphere, troposphere, multipath, receiver noise — without ever sizing them. This is the accounting. Each source is a range error in metres; corrections shrink some to nothing and leave others untouchable. Add the survivors in quadrature and you get the UERE, which the geometry then multiplies into your position error.
intermediatecoreThe EKF & GNSS/INS Integration
The linear Kalman filter needed a ready-made position fix and a straight-line sky. Real GNSS gives neither: pseudoranges are a nonlinear function of position, and the sky disappears in tunnels and urban canyons. The Extended Kalman Filter linearises each measurement about the current estimate, letting it consume raw ranges directly; and by driving its prediction with an inertial unit, it coasts through GNSS outages — the two sensors covering each other's gaps.
advancedcoreRecursive Estimation & the Kalman Filter
Every solver so far answers "where am I right now?" from a single snapshot, throwing away everything it knew a second ago. A moving receiver can do far better by remembering. The Kalman filter carries a running belief forward in time, predicts with a motion model, and optimally blends each noisy fix against that prediction by their relative confidence — smoothing the track, estimating velocity it never measured, and reporting its own uncertainty.
advancedcorePrecise Point Positioning (PPP)
RTK buys centimetres by borrowing a nearby friend's errors. PPP throws the friend away. With a single receiver anywhere on Earth, it applies global precise orbit and clock products and then models every remaining error explicitly — ionosphere, troposphere, tides, antenna effects — solving for position, clock, and float ambiguities in one estimator. The price is convergence time; the payoff is global decimetre-to-centimetre accuracy with no base at all.
advancedcorePseudorange
Why the ranges in satellite positioning are politely called "pseudo" — and how one humble, shared clock error turns clean geometry into a four-unknown puzzle.
beginnercoreReal-Time Kinematic (RTK)
Your phone is good to a few metres; a survey rover is good to a couple of centimetres — from the same satellites and the same sky. The difference is a second receiver sitting still on a known point. Double-difference their measurements and the shared errors vanish, leaving an integer-ambiguity problem whose solution is a centimetre-level baseline.
advancedcoreSatellite Orbits
A GNSS satellite isn't hovering — it's falling, endlessly, and missing the Earth because it's moving sideways fast enough. Kepler's three laws turn that idea into the numbers that decide altitude, period, speed, and where a satellite will be when you need it.
intermediatecoreThe GNSS Signal & Code Ranging
A GPS signal arrives weaker than the noise around it, yet your phone finds it in milliseconds. The trick is the pseudorandom code: slide a local replica until it snaps into alignment, and the amount you slid is the travel time. This is where pseudorange measurements are actually born.
intermediatecoreSingle Point Positioning
The capstone of the foundations: how a receiver takes several imperfect pseudoranges and, by least squares, produces a single best position, a clock estimate, and an honest measure of how much to trust the answer.
intermediatecoreGNSS Time Systems
Every position is a timestamp wearing a costume. Meet the timescales GNSS runs on — TAI, UTC, GPST, and their cousins — why the satellites refuse to take leap seconds, and how one mishandled second becomes a 300,000-kilometre mistake.
beginnercoreTrilateration
Finding where you are by measuring how far you are from several known points — the geometric heart of satellite positioning.
beginnercore