The first thing a receiver needs to do when it’s powered up is look for satellites. How it does this depends on long it has been since the receiver was last locked on to a GPS satellite. That’s because, as discussed in our GPS signal page, each satellite in the GPS constellation transmits a navigation message, and part of that message is an almanac that contains rough information on the orbit of every satellite in the constellation.
Almanac data is useable for about six months, so using its last known position and the current time, the receiver can make an educated guess about which satellites should be in view. It tries this because the alternative is to blindly search for all satellites—and that can take some time. In fact, that’s why a receiver that hasn’t been powered up for some time, or has been shipped around the world since it was last powered on, can take a great deal of time to acquire GPS lock—because it has to blindly search.
Searching for satellites
Powering up the receiver
When the receiver is powered up, it uses the current time, its last known position and the almanac data to work out which satellites is should be able to see. It searches an area of sky 150o above the horizon.
Almanac data is valid for about six months without being updated.
Most receivers have a large number of channels. Each channel searches for a signal. If it doesn’t find one, it tries some new parameters. More channels reduces the time required to lock on to the frequency, phase and code from a given satellite. Once locked, channels can be used to search for other satellites.
Moving the receiver
If the receiver has moved significantly since it last produced a valid position measurement, it will take longer to lock on as it will be looking for satellites that are not there. Equally, if the almanac is out of date a new copy will need to be captured. It takes 12.5 minutes to do this, but first a satellite must be found from which to receive.
On the assumption that our receiver has valid almanac data, and hasn’t moved much since it was last powered up, it will have a reasonable idea of which satellites it should be able to see at the current time and how the signal frequency will be affected by Doppler shift. It can now start to look for the signal from the satellites it expects to see in the signal the antenna is picking up.
The receiver begins by conducting a two-dimensional search for the signal’s frequency and C/A code phase. This is not easy, but as end-users, we don’t need to worry too much about this. Once the receiver thinks it has found the signal from a satellite it confirms this, then locks onto it with a PLL (Phase Locked Loop) and a CLL (Code Locked Loop). It then searches for bit synchronisation before demodulating the data.
So, now we have found the satellite, we need to know how to work out the range to the satellite – This article explains how to do this.