The Physics of GPS

(perthirtysix.com)

126 points | by maouida 20 hours ago

13 comments

  • throw0101a 17 hours ago
    Reminder of Bartosz Ciechanowski "GPS" article:

    * https://ciechanow.ski/gps/

    * 2022: https://news.ycombinator.com/item?id=29981188

    * 2023: https://news.ycombinator.com/item?id=36180316

    * Others: https://news.ycombinator.com/from?site=ciechanow.ski

    Standford's "An Introduction to Satellite Navigation" course is also instructive (recorded 2014):

    * https://www.youtube.com/playlist?list=PLGvhNIiu1ubyEOJga50LJ...

  • hyperbolablabla 1 hour ago
    GPS (using TOA or absolute time of a arrival) is cool and everything, but I'm a much bigger fan of TDOA, when you trilaterate using time _difference_ of arrival, relative to each station. This involves finding the intersection of 3 hyperbolae... Which is where my user name comes from!
  • linzhangrun 6 hours ago
    In principle it's actually easy to imagine: the speed of light is known, the orbital positions are known, the time differences give distances, and then it's just trilateration with three spheres. The idea isn't complicated. Engineering-level precision that’s hard to imagine: light can circle the Earth seven times in one second, so tiny deviations make a world of difference — the atomic clocks on GPS even have to account for relativistic effects. So cool!
  • TravisLS 16 hours ago
    I love these incredibly simple and elegant classic technologies. GPS is one of the best. It seems like it would be incredibly complicated and mysterious, but it's actually quite straightforward.

    I'm working on a presentation now to explain how GPS works to second graders. If they understand it, I'll take some photos and do a write-up.

    • sizzzzlerz 15 hours ago
      even though the concepts are straightforward, the implementation requires great care in order to maintain and extract the required precision. Throw that tech into space takes everything to an even higher level requiring radiation hardening, weight management, and long term reliability. You can't send repair crews to fix them if they break. As an engineer, I am in awe of those who design and build these things.
  • ikidd 15 hours ago
    Also, RTK is an interesting way to correct the signal to get sub-centimeter accuracy. Using the timing differences between satellites with a stationary unit and then sending the that to the rover is a cool workaround and can be used without expensive equipment now.
    • Waterluvian 15 hours ago
      VRS RTK can even get 1cm RMS without needing a stationary unit. Just need atmospheric correction data for your approx location. Which has been amazing for outdoor mobile robotic applications.
      • UltraSane 10 hours ago
        They sell robotic lawn mowers with LIDAR and RTK GPS. LIDAR combined with RTK GPS is very neat because you can place every point in the point cloud on earth's surface.
  • seanalltogether 13 hours ago
    Do the satellites broadcast their own position, or is that all held in a database on your phone? Also why is it so draining on your battery to get GPS location, if it's just solving a simple calculation.
    • throw0101d 13 hours ago
      Both: they broadcast not the location but the orbital characteristics (ephemeris), and devices can save the last received value. As the satellites get 'perturbed' in orbit, their orbital data is updated and re-broadcast.

      * https://gssc.esa.int/navipedia/index.php/GPS_Navigation_Mess...

      * https://www.e-education.psu.edu/geog862/node/1737

      * https://gssc.esa.int/navipedia/index.php/GPS_and_Galileo_Sat...

      * https://en.wikipedia.org/wiki/Ephemeris

    • saltcured 12 hours ago
      The information necessary for a fix is broadcast. The locally stored database helps improve the time to get a fix. A GPS receiver, going from a cold start, needs to listen for many minutes to acquire and decode enough signals to have the required satellite position and timing information to do the calculation.

      Most of the power consumption is for the radio reception that has to detect and decode signals from multiple constantly shifting sources, dealing with their very low signal-to-noise ratios and other challenges like multipath distortion due to atmosphere and surface reflections.

      It's pretty remarkable how much miniaturization has improved the efficiency of these radios. E.g. going from the early "portable" GPS units that essentially had a lead-acid car or motorcycle battery to today's wearables that run on a tiny power budget while supporting a wider range of satellite constellations and radio bands.

    • dwa3592 12 hours ago
      Yes, satellites broadcast their position and time continuously. There's also the database approach (check A-GPS) where you store the satellite's position and query that but just know that it needs to be updated after a while.

      Now about the battery draining - the more satellites your phone GPS captures the higher the precision. You need at least 4 satellites to trilaterate aka get precise lat, long. Listening to the signal from the GPS and then trilaterating is an expensive operation- why? because the satellite signal is very very weak and your phone has to run quite a lot of operations (how far the satellites are, then direction) to get the signal from the noise that's hitting your phone constantly. This is loosely the reason for why it drains the battery (even more so during cold starts).

      I started to build a gps tracker for my cat which wouldn't require a monthly subscription- after burning the first micro-controller I gave up and decided to leash train my cat. Now my cat is leash trained.

    • linzhangrun 6 hours ago
      Because the satellite is very far from you, its antenna power is only a few tens of watts. Your phone needs to extract that faint signal from a noisy background—not from just one satellite, but at least three. That's why it uses so much power.
    • rcxdude 8 hours ago
      Just receiving on a radio is often a surprisingly expensive operation, especially for a small battery powered device that is otherwise well optimized, and especially when you need to receive continuously like with GPS.
  • magneticnorth 15 hours ago
    A slightly related question, if anyone knows - has phone GPS gotten worse in recent generations? More reliance on local wifi networks or something like that?

    I ask because I do a lot of backcountry hiking, camping, and foraging and rely on true GPS-only navigation. My most recent two phones (iphone and pixel) have noticeably worse GPS performance than previous phones, and I even changed OS ecosystems mostly hoping for better GPS, but it didn't help. Maybe I've had bad luck, but two noticeably bad phones in a row seems like it may be a pattern.

    And is there any way to find phones with very good GPS performance?

    • shibapuppie 5 hours ago
      I've noticed very similar degradations in performance moving from a Pixel 3XL to a 7A.

      When disabling "Android intelligence" (iirc this is what runs WiFi location scanning in the background) from running in the background, the 7A would take much, MUCH longer to get a GPS lock on a window sill, vs the 3XL right next to it... as well as lower SNRs and fewer satellites seen and used.

      I don't get it.

    • Boxxed 14 hours ago
      I don't know, but I have noticed that the GPS in my watch (Garmin) seems to be better than the one in my phone.
      • r4sz 12 hours ago
        Because Garmin tools are good
        • myself248 12 hours ago
          Garmin is a GPS company first, a watch company second. It shows.
    • antonvs 13 hours ago
      Aggressive battery saving, thinner phones, competition between multiple radio transceivers in a small device - these can affect GPS performance.

      Try disabling battery saving measures as much as possible and see if it helps.

  • empiricus 11 hours ago
    I found much more interesting the way the gps electronics work. What do you mean you need to know the exact moment you receive a message from a satellite with nanosecond precision? when the message itself is several seconds long.
  • Lukas_Skywalker 14 hours ago
    The explanation about the spheres is slightly inaccurate. With one satellite, you won't get a circle on the earths surface, but a sphere.

    GPS is not constrained to earths surface (or the oblate spheroid approximating it), luckily.

    • throw0101a 14 hours ago
      > With one satellite, you won't get a circle on the earths surface, but a sphere.

      With one satellite you get a sphere in 3D space, but if you are on a surface (like that of the Earth), that gets translated into circle.

      If you are in a plane in the sky (3D space), then you get a spherical 'location fix'.

      • Lukas_Skywalker 13 hours ago
        True. But the GPS receiver doesn't know whether you are on the surface or not (and at what elevation), so it must always assume 3d space, hence a sphere.
        • throw0101a 9 hours ago
          Not wrong, but I think most folks are interested in lat-long.

          If you have lat-long and place it on a pre-canned map, then it's unlikely that most people will be either underground or in the air, and so whatever the surface elevation of the lat-long on the map is, that's most likely (>99% of the time?) where the person is.

          At least from a UX/responsiveness perspective, this is probably a good way to do the math. (In the background get a more accurate 3D fix.)

  • dmk 15 hours ago
    The fact that they deliberately manufacture the satellite clocks to tick at the wrong frequency on the ground (10.22999999543 MHz instead of 10.23 MHz) so that relativity makes them tick correctly in orbit is one of my favorite engineering details in any system.
  • petee 12 hours ago
    Maybe i missed it, but the first step kinda skips over how the inital time is calculated - the cell can't know when the signal was transmitted without some prior time or location knowledge?
    • toast0 8 hours ago
      > the cell can't know when the signal was transmitted without some prior time or location knowledge?

      The signal that GPS satellites broadcast includes the current time, so knowing when the signal was transmitted is easy.

      Knowing when it was received is harder, you would need a calibrated, synchronized clock. But you need to receive multiple signals to figure out your clock, so keep reading for that.

    • oofbey 12 hours ago
      Good catch. The trick is you don’t need a good clock on the phone. Really all you’re measuring is the difference in time signals between the satellites. The clocks on the satellites are (effectively) perfectly synced with each other. So what you measure is that one satellite is ### meters further away from another. Not absolute distance to each satellite.

      It means you need to connect to one more satellite to remove that extra degree of freedom. If your phone had an atomic clock you could get your absolute position in 3D only listening to three GPS satellites, but because of local clock skew you need a signal from a fourth satellite.

  • ck2 15 hours ago
    Wish they could solve the GPS altitude weakness

    Watches that use GPS for altitude are terribly inaccurate

    It is interesting to run the opensource GPSTEST app on a smartphone and watch the MSL "settle" over time but each sat seems to disagree

    * https://github.com/barbeau/gpstest

    btw watches are now getting THREE multi-band L1+L5 GPS chipsets, should help things

    quad-band GNSS coming soon too!

    * https://the5krunner.com/2026/03/06/tri-band-gps-garmin/

    • Geo_ge 14 hours ago
      Decreased vertical precision is an artefact of measurement geometry more than e.g. number of frequencies.

      Horizontal position has the benefit of having satellites at almost all azimuths. But the vertical position estimate only gets satellites from at most half of possible elevations (above the horizon).

      See "Vertical Dilution of Precision":

      https://en.wikipedia.org/wiki/Dilution_of_precision

  • mickhayes 10 hours ago
    [dead]