Hacker News new | ask | show | jobs
by kbknapp 832 days ago
GPS satellites don't "send" your coordinates to your receiver. Your receiver is just listening to the broadcast signal from several (usually 4+) satellites and based on the strength of that signal determining how far it is from each of those satellites. Which means the receiver is able to triangulate it's own position.
4 comments

Strength of signal isn't used because strength is an unreliable measure of distance. The amount of atmosphere the signal passes through, reflection/refraction and all manner of weather effects will modify a signal's strength. So the sats transmit a pulse at a pre-agreed time and the receivers use the timing that they receive the signal as the measure of distance.
Pre-agreed time? Don't the satellites pulse a "The current time is x" signal?

With signals from 4 satellites one can triangulate oneself in 3D space, with 5 signals, in 4D! (3D + time). I once did the math and astounded myself that it worked.

If there is no agreed time then you don't know when the signals were sent and cannot make any sense out of the signal. They all have to send either in unison or according to a predetermined schedule. The synced clocks set that schedule.
The clocks are synced between satellites, but if your receiver is cold-booting in the middle of a forest, how does it know what time it is? It will receive a signal from 1 satellite that will say "I sent out this signal at time X", but you still don't know what time it is because you don't know how many nanoseconds it took for the signal to get to you, you can only be sure it's currently some time after X.

It will get another signal from another satellite, which could have the timestamp before X, because it left earlier and took longer to get to your receiver.

As I said, if you do the math, with 5 signals you can then determine your location in 3D space, and time!

> based on the strength of that signal

No, GPS positioning uses the precise time information encoded in the data from the satellites.

> Your receiver is just listening to the broadcast signal from several (usually 4+) satellites and based on the strength of that signal determining how far it is from each of those satellites.

GPS doesn't use the strength of the signal at all. Instead, each signal contains precise information about the current time at the highly-accurate atomic clocks onboard the corresponding satellite (plus some important metadata about each satellite, including things like their orbit parameters). If the receiver already knew the precise time, it could calculate the distance to each satellite from the difference between the true time and the received time (and the speed of the light), and 3 satellites would be enough to triangulate its position. Since the receiver usually doesn't know the precise time, it needs an extra satellite because there are now 4 unknowns (3 for its position plus 1 for the current time).

(Obviously, that's a very simplified explanation, there are plenty of other things which complicate the calculations.)

>and based on the strength of that signal

Wrong. Utterly wrong.

Would you explain why?
Here's a great explainer of GPS starting from really basic concepts.

https://ciechanow.ski/gps/

By the time the signal reaches your GPS receiver, it is below the thermal noise floor of even amazing receivers. But each GPS satellite has a unique pseudo-random code (called a PRN) that is within the signal. Receivers that listen long enough can pick out the PRN and thus the GPS signal.

I'm no GPS expert, I've read some of the theory had enough of a working understanding to deal with tactical navigation systems, but that was in my past. I remember using El-Rabbany's "Introduction to GPS" text.

No. The Internet is at your fingertips.
an explanation not only helps the ignorant, it reinforces the idea within your own thoughts and perhaps seeds new ideas that are derivative; it even teaches the otherwise uncaring that may happen upon the comment.

what you did wasn't that -- but I would just like to point out that simple concise explanations helps the community as a whole; it's not just the ignorant that lose out.

Yes, I know it's likely not your job to educate, and maybe it's a bother that someone acts expert on something that they're clearly not -- but those that care to educate serve everyone in the context of an online forum, not just the naive or ignorant.

That's such a better response than LMGTFY