Time to get a fix is mostly what clever techniques the receiver uses. There are various papers demonstrating getting a fix that is probably correct with just a few milliseconds of signal and then lots of processing.
You also have to cut corners to get a (probably correct) fix fast. Things like assuming the almanac hasn't changed since last time, the user hasn't moved more than a few hundred miles, the system clock hasn't drifted by more than a second or so, and no satellites have become unhealthy.
> Things like assuming the almanac hasn't changed since last time, the user hasn't moved more than a few hundred miles, the system clock hasn't drifted by more than a second or so, and no satellites have become unhealthy.
If you are using a smartphone, you could probably validate those assumptions via your other sensors?
I've always noticed my Garmin watch gets a fix extremely fast except for the first time I use it after traveling somewhere new. That first one always takes several minutes.
yes, the math is significantly simplified if you assume you haven't moved. cold start is always much slower (and is called out as such in most GPS datasheets)
You also have to cut corners to get a (probably correct) fix fast. Things like assuming the almanac hasn't changed since last time, the user hasn't moved more than a few hundred miles, the system clock hasn't drifted by more than a second or so, and no satellites have become unhealthy.