The Position Calculation and Satellite Selection sections are a little over-simplified. It's not true that one satellite is used for time synchronization and three are used for trilateration. In a four-satellite case, all four are used to solve the four dimensional problem of "where am I in time and space?" In reality, upwards of 12 satellites are used to find a solution to this problem and adding more data improves accuracy.<p>It's true that satellites overhead provide better more vertical position information and that satellites at low elevation are more impacted by the atmosphere. But the math isn't that simple - satellites aren't used for specific purposes. They all contribute to a position solution and useful parameters like vertical and horizontal uncertainty.
If anyone wants to learn about GPS from the ground up, there's an excellent website with interactive explanations by Bartosz Ciechanowski that I can wholeheartedly recommend [1].<p>His blog also covers other topics in a similar style - it's a real treasure trove.<p>[1] <a href="https://ciechanow.ski/gps/" rel="nofollow">https://ciechanow.ski/gps/</a>
Interestingly despite becoming "fully operational" in 1995, GPS was in use in the 1980s and played a huge part in the Gulf War in 1990/1991. "Fully operational" probably means 12 satellites in view at all times for any point on the earth between 55°N/55°S, but it's still very useful even at lower levels of service.<p>It's pretty amazing that a system like that could be envisioned in the 1970s and be fundamentally life-changing by the 1990s. Truly a modern marvel of engineering that we rely upon for precise timing, power grid synchronization, navigation, and a lot more.
If anyone wants to get into the nitty-gritty details of GPS / GNSS, there's a good series of lectures (course) available from Standford University; playlist:<p>* <a href="https://www.youtube.com/watch?v=o1Fyn_h6LKU&list=PLGvhNIiu1ubyEOJga50LJMzVXtbUq6CPo" rel="nofollow">https://www.youtube.com/watch?v=o1Fyn_h6LKU&list=PLGvhNIiu1u...</a><p>Topics include navigation message structure, signal encoding, error budgets, Keplerian parameters, path loss/antenna gain/link budget, plus orbital details of GLONASS/QZSS/BeiDou/Galileo.
GPS can be much more accurate than what the article says. For example, over the continental US the extra WAAS satellites provide accuracy down to more like 3-4 feet for GPS based aircraft navigation. These satellites broadcast correction signals to allow receivers to adjust for small fluctuations in the standard GPS signal. Using that system aircraft can navigate in 3D down to about 200 ft off the ground for a landing approach without the need for any ground-based equipment or transmitters at the airport.
My first years as a software developer, I worked with gathering data from GPS, Glonass, BeiDou and Galileo for use in a DGNSS product. It's been a while since that time, but I remember implementing RTCM-v3 encoder and decoder, gathering signals from all around the globe, and general TCP/IP/networking to ensure high availability and so on. Oh the memories.<p>But the thing that taught me most about orbital mechanics, is still KSP (Kerbal Space Program).
If you're interested in this, you might be interested in the terrestrial radio navigation systems that predated GPS:<p><a href="https://en.wikipedia.org/wiki/Omega_%28navigation_system%29" rel="nofollow">https://en.wikipedia.org/wiki/Omega_%28navigation_system%29</a><p><a href="https://en.wikipedia.org/wiki/LORAN" rel="nofollow">https://en.wikipedia.org/wiki/LORAN</a><p><a href="https://en.wikipedia.org/wiki/Loran-C#e_LORAN" rel="nofollow">https://en.wikipedia.org/wiki/Loran-C#e_LORAN</a><p><a href="https://en.wikipedia.org/wiki/Hyperbolic_navigation" rel="nofollow">https://en.wikipedia.org/wiki/Hyperbolic_navigation</a>
Unfortunately, as it is with many European projects, Galileo is over-promised but yet under-delivered. Currently only 22 satellites are usable: <a href="https://www.gsc-europa.eu/system-service-status/constellation-information" rel="nofollow">https://www.gsc-europa.eu/system-service-status/constellatio...</a>
How did L5 get enabled and still leave us with an accuracy worse than 3.5m? Wasn't it supposed to give us 30cm? What happened to that? <a href="https://en.wikipedia.org/wiki/Global_Positioning_System" rel="nofollow">https://en.wikipedia.org/wiki/Global_Positioning_System</a>
According to this paper, if you hook in all four sat nav systems, you can achieve 10 cm accuracy in minutes, 5cm in 30 minutes, and millimeter accuracy in a few hours.<p><a href="https://www.nature.com/articles/srep08328" rel="nofollow">https://www.nature.com/articles/srep08328</a>
Also interesting is the American extension to GPS called WAAS which is used for aircraft precision.<p><a href="https://en.wikipedia.org/wiki/Wide_Area_Augmentation_System" rel="nofollow">https://en.wikipedia.org/wiki/Wide_Area_Augmentation_System</a>
GPS and Galileo use the exact same frequencies, but call it different things?<p><pre><code> L1 (1575.42 MHz) and L5 (1176.45 MHz)
E1 (1575.42 MHz) and E5a (1176.45 MHz)
</code></pre>
Is there a difference I'm not aware of?
What are the sources of positional uncertainty? Is it mainly uncertainty of the exact position of each satellite at a given time? It's interesting how slowly positioning accuracy has improved. For something that first reached global coverage in 1995 I would've expected four or five orders of magnitude improved precision by now.
Mandatory mention of a cool related project:
<a href="https://play.google.com/store/apps/details?id=com.iiasa.camaliot" rel="nofollow">https://play.google.com/store/apps/details?id=com.iiasa.cama...</a>
on Android, the "locus" mapping app includes a really good diagnostic on GPS reception which I still refer to in the edge cases (inside trains, planes, where even with a window seat reception can be marginal) to understand whats in the sky above me right now