Triangulation came up in a different thread and it reminded me to recommend everyone who doesn& #39;t know how GPS works to look up how it works, because it& #39;s really cool!
The thing to keep in mind here is that GPS is a _broadcast_. Every receiver that sees a satellite gets the same signal from it, and there& #39;s never any communication going in the other direction.
Part of the GPS signal from a satellite is just the satellite telling you which one it is; ignoring other logistics for now, assume you know about all the GPS satellites beforehand.
As mentioned, this is basically a triangulation problem, but here& #39;s the fun issue: what kind of signal can you broadcast that lets you precisely tell how far away the satellite is? I mean you could include other characteristics like signal strength to get a very rough idea,
but that& #39;s affected by tons of things like weather, interference, how built-up the area you& #39;re in is, etc., so that& #39;s really really noisy and not very useful.
The solution, since I don& #39;t want to leave you hanging: the main things a GPS broadcast signal tells you are:
1. I& #39;m satellite X (so you know who it& #39;s coming from),
2. I& #39;m on orbit Y,
3. the current time is T
GPS satellites use atomic clocks for timekeeping, and they send very precise time in UTC. The signal takes a while to reach you. So when you& #39;re listening to several satellites at once, they all tell you where they are and what they think the current time is.
Their clocks are synchronized(*); you can use the clock to figure out where they were on their orbit when they sent the message, and also to figure out how long the message travelled.

(*) for the purposes of this thread, I will sidestep relativistic/clock skew etc. issues here
You can follow @rygorous.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: