GPS timing and computational complexity I have been using Garmin GPS device for years. Just curious which algorithm is used in the device:


Navigation equations that can calculate both GPS device's position and its clock bias. In this way, the time display should be accurate with the clock in the satellite. However, the computational complexity could be very high. See https://en.wikipedia.org/wiki/Global_Positioning_System.
Use TDOA method similar to what is explained at https://en.wikipedia.org/wiki/Multilateration. The computational complexity could be much lower, but you will not be able to obtain the receiver's time bias.


Note: This question is based on the assumption that the satellites' positions and TOFs have already been extracted from the received satellite signals.
Computational complexity lies in the correlator banks you need to despread the GPS signal, not in the position and time calculation (these are not separate things. You can't have one without the other). In fact, the TDOA system is very likely far more computationally intense, since it needs to do more cross-correlations.

You need to use the first method; 2. can't work, you'd need a clock that is about as stable and thus as large, power-hungry and expensive as that on the GPS satellites. Even with that clock, it wouldn't work well, because you still need to account for a lot of effects, including special relativity, that you can't solve via simple TDOA.

Computational complexity is still rather high, indeed, but really, not a problem since the late 1990s, where highly integrated chips for GPS became the norm. What it does do is drain the battery of your smartphone!