GPS is a clock, not a map. Every satellite does one thing: broadcast, very precisely, what time it is. Your receiver works out where it is purely from the tiny differences in when those time signals arrive - and that single fact explains both how it works and why it is so attackable. The signal is a whisper below the noise, it carries no authentication, and a receiver believes whatever time it is told. This piece walks the positioning maths with an interactive you can spoof, then the real-world jamming and spoofing that has moved from theory to daily aviation hazard.
//The Signal Is Below the Noise
GPS L1 sits at exactly 1575.42 MHz. Every satellite transmits on that same frequency, distinguished not by channel but by a unique spreading code - a per-satellite Gold code clocked at 1.023 million chips per second. This is direct-sequence spread spectrum, the same family as the hopping idea: the signal is smeared across a wide band so thin that it arrives below the thermal noise floor - you cannot see a GPS satellite as a peak on a spectrum analyser at all.
The receiver recovers it by correlation: it multiplies the incoming noise by its own replica of each satellite's code, which collapses that satellite's signal back into something readable while spreading everything else out. The gain from that trick - the ratio of the chip rate to the ~50 bit-per-second data - is roughly 43 dB, and it is what lets a receiver hear a signal buried ~20 dB under the noise. It is also, as we will see, a thin kind of protection.
//Why Four Satellites, Not Three
A receiver does not measure true distance. It measures how long each satellite's signal took to arrive and multiplies by the speed of light - a pseudorange, so called because it contains an error: your receiver's clock is a cheap quartz oscillator, nowhere near synced to the satellites' atomic clocks. And crucially, that clock error is the same on every measurement - it inflates every pseudorange by the identical amount.
So the unknowns are your three coordinates plus that shared clock bias: four unknowns, needing four satellites. This is the point every loose explanation gets wrong. It is not "three for a rough fix, four for a better one." The fourth satellite exists to solve the clock, not to add a dimension. Solve all four together and you get position and, as a by-product, the exact time - which is why GPS is the world's primary source of precision timing, and why spoofing it corrupts time as much as place.
The demo is a 2D version of exactly this: two coordinates plus the clock means three satellites. Each satellite's pseudorange draws a circle, but every circle is inflated by the same clock bias, so at the wrong bias the three circles miss each other entirely - the classic bad fix. Drag the bias to its true value and they snap to a single point. That snap is the whole algorithm.
//Jamming Versus Spoofing
Because the signal is so weak, attacking it is easy, and there are two very different ways.
Jamming is brute force: transmit noise on the GPS band loud enough to drown the whisper, and the receiver loses lock. It is denial of service. It is also loud, obvious and easy to geolocate - the victim knows immediately that GPS is gone.
Spoofing is the insidious one: transmit counterfeit but structurally valid GPS signals, slightly stronger than the real ones, and the receiver locks onto the fakes and computes a false position and time - while reporting a completely confident, plausible fix with no error flag. The demo shows this: add a spoofing offset to one satellite and the solved point slides to a lie, but the receiver still produces a single clean fix. A sophisticated spoofer can capture a receiver from its true track and walk it somewhere else smoothly. An obvious outage is survivable; a confident, wrong answer fed to an autopilot is not.
//This Is Not Theoretical Anymore
Since around September 2023, GNSS spoofing has become a routine civil-aviation hazard, which is a genuinely new development. The flight-operations network OPSGROUP compiled roughly fifty crew reports of spoofing across airways near conflict zones - the Baghdad, Tehran, Baku, Cairo and Tel Aviv flight regions - with aircraft shown tens or even a couple of hundred nautical miles off their true position, navigation systems reverting to dead reckoning, and clocks jumping hours. In January 2024 EASA and IATA jointly flagged a sharp rise in spoofing and jamming as a safety threat.
Separately, persistent GPS jamming around the Baltic has had concrete consequences: Finnair suspended its Helsinki-to-Tartu route for about a month from late April 2024 because interference prevented the GPS-reliant approach into the Estonian airport.
Two honesty notes, because this is where reporting gets loose. The crew reports to OPSGROUP are exactly that - reported, not independently forensically confirmed - and the EASA/IATA "sharp rise" is an official characterisation with no published incident count attached. And while the interference itself is thoroughly documented (diverted flights, suspended routes, public anomaly maps), the source is in almost every case alleged - governments attribute the Baltic jamming to Russia, the Middle East activity is inferred from conflict geography - not proven in open sources. The interference is fact; the attribution is allegation. Keep those apart.
//What Actually Hardens a Receiver
None of the defences is "encrypt the signal" - civil GPS has no authentication by design, though that is slowly changing. What helps:
More constellations. Using GPS, Galileo, GLONASS and BeiDou together forces a spoofer to fake all of them coherently and lets the receiver cross-check and throw out the outlier - which is exactly what the demo's rejected second solution illustrates in miniature.
More frequencies. Tracking L1 and L5 together raises the bar again and helps flag interference.
An inertial backup. An INS - accelerometers and gyroscopes - coasts through outages and gives an independent position that spoofing cannot directly touch; disagreement between GPS and the INS is itself a spoofing alarm.
Authentication and sanity checks. Galileo's OSNMA signs the navigation message so a receiver can verify provenance; receiver-autonomous integrity monitoring and multi-antenna angle-of-arrival checks (all the "satellites" arriving from one direction is a dead giveaway) catch the rest.
//Sourcing and Framing
The signal structure (1575.42 MHz, 1.023 Mcps C/A code, CDMA Gold codes, below-noise reception and processing gain) and the pseudorange/clock-bias positioning are standard GNSS, from the GPS interface specification and the standard references (Kaplan and Hegarty; Misra and Enge). The interference incidents are from OPSGROUP, EASA/IATA and aviation reporting, flagged above as reported or alleged rather than confirmed where that is the honest status. The demo solves the 2D trilateration live from the pseudoranges; the figures are exact and checkable.
Framing, as across the cluster: defensive and educational, textbook layer, nothing operational and nothing tied to any specific system. The interpretation is mine - that "GPS is a clock, not a map" is the sentence that makes both the elegance and the fragility obvious, and that the dangerous attack is the one that lies quietly rather than the one that shouts.