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.
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.
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.
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.
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?
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.
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.
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?
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.
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.
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.
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.
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.
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).