I used an app to test GPS, that shows me TTFF is equal to a few seconds. I want to understand :
- What is Time To First Fix?
- Is having internet access useful to improve it?
In order to determine where you are with GNSS you need:
Especially the acquisition process takes a lot of time, because:
This information is embedded in the satellite almanac (ephemerides for all satellites) plus information about where you are (you can't see satellites below the horizon) and how fast you are going and in which direction.
Typically, three cases are considered in TTFF performance:
If you have a valid almanac and a good idea of where you are, you can speed up the acquisition process because you don't need to look for all the satellites, only the ones that are in view (recall that you need to correlate PRN codes against the incoming signals, so it helps if you don't need to correlate them all).
The almanac has limited validity, because the GNSS satellites orbits are not perfect due to various disturbances.
GNSS system distribute almanacs in their navigation messages that are modulated on top of the PRN codes. However, these are transmitted at low rate (only 50bps for GPS for example) and worst case it takes 12.5 minutes (!) to get the entire almanac.
If you have other means of access to the almanac (e.g. via an augmentation service via internet) you can speed up the cold-start scenario considerably. Also, internet access (via cellular or WiFi) can help in determining your location, further improving the acquisition process.