How many GPS channels make sense?
The answer is complex due to the way the GPS system operates, so I'm going to simplify a number of things so you understand the principle, but if you are interested in how it's really implemented you'll need to go find a good GPS reference. In other words, what's written below is meant to give you an idea of how it works, but is technically wrong in some ways. The below is not correct enough to implement your own GPS software.
Background
All the satellites transmit on essentially the same frequency. They are technically walking all over each others' signals.
So how does the GPS receiver deal with this?
First, each satellite transmits a different message every mS. The message is 1024 bits long, and is generated by a pseudo random number generator.
The GPS receiver receives the entire spectrum of all the transmitters, then it performs a process called correlation - it generates the specific sequence of one of the satellites, multiplies it by the signal input, and if its signal matches a satellite's signal exactly then the correlator has found one satellite. The mixing essentially pulls the satellite's signal out of the noise, and verified that 1) we have the right sequence and 2) we have the right timing.
However, if it hasn't found a match, it has to shift its signal by one bit and try again, until it's gone through all 1023 bit periods and hasn't found a satellite. Then it moves on to trying to detect a different satellite at a different period.
Due to the time shifting (1023 bits, 1,000 transmissions per second), in theory it can completely search a code in one second to find (or determine there's nothing) at a particular code.
Due to the code shifting (there are currently 32 different PRN codes, one each for each satellite) it can therefore take 30+ seconds to search each satellite.
Further, doppler shift due to the speed of the satellite relative to your ground speed, means that the timebase could be shifted by as much as +/- 10kHz, therefore requiring searching about 40 different frequency shifts for a correlator before it can give up on a particular PRN and timing.
What this means
This leaves us with a possible worst case scenario (one satellite in the air, and we try everything but the exact match first) of a time to first fix off a cold start (ie, no information about the time or location of the receiver, or location of the satellites) of 32 seconds, assuming we don't make any assumptions, or perform any clever tricks, the received signal is good, etc.
However, if you have two correlators, you've just halved that time because you can search for two satellites at once. Get 12 correlators on the job and it takes less than a few seconds. Get a million correlators and in theory it can take a few milliseconds.
Each correlator is called a "channel" for the sake of marketing. It's not wholly wrong - in a sense, the correlator is demodulating one particular coded frequency at a time, which is essentially what a radio receiver does when you switch channels.
There are a lot of assumptions a GPS receiver can make, though, that simplify the problem space such that a generic 12 channel receiver can get a fix, in the worst case, in about 1-3 minutes.
While you can get a 3D fix with a 4 channel GPS, when you lose a GPS signal (goes beyond the horizon, or you go under a bridge, etc) then you lose 3D fix and go to 2D fix with three satellites while one of your channels goes back into correlation mode.
Now your receiver starts to downloaded the ephemeris and almanac, which allows the receiver to very intelligently search for signals. After 12 minutes or so it knows exactly which satellites should be in view.
So the search goes pretty quickly because you know the position and code for each satellite, but you still only have a 2D fix until you actually find a new satellite.
If you have a 12 channel receiver, though, you can use 4 of the strongest channels to provide your fix, a few channels to lock onto backup satellites so it can switch the calculations to them if needed, and several channels to keep searching for satellites the receiver should be able to see. In this way you never lose the full 3D fix.
Since you can only see up to 12 satellites, why would you need more than 12 channels?
There are 24 or so GPS satellites operating at any given time, which means that on one point on the earth you can really only see half of them.
But remember - you can only search for one satellite per correlator, so the primary reason to increase correlators past twelve is to improve the time to first fix, and the main reason to improve that is for power consumption.
If your GPS chipset has to be powered all the time, it's a 100mW power drain all the time. If, however, you only need to turn it on once per second for only 10mS each time, then you just cut your power consumption down to 1mW. This means your cell phone, location beacon, etc can operate for two orders of magnitude longer time on the same set of batteries while still maintaining a full real time fix on their location.
Further, with millions of correlators, one can do more exact searches which can help reduce the effects of radio reflections in urban canyons (tall buildings in big cities used to foul up GPS receivers with fewer correlators).
Lastly, while only 4 satellites are needed to get a 3D fix, good receivers use more satellites in its position algorithm to get a more accurate fix. So only a 4 channel receiver is required, but a 12 channel receiver can get more accuracy.
Conclusion
So the millions of correlators:
- Speeds up satellite acquisition
- Reduces power consumption
- Reduces likelihood of losing a 3D fix even in urban canyons
- Provide better sensitivity, allowing fixes in dense forests, and even in some tunnels
- Provides better positioning accuracy
Thanks to borzakk for some corrections.
You need one channel, per frequency, per satellite.
Most of the cheap receivers (like the one in your phone or car) track only the L1 frequency from only the GPS satellites. If you want accuracy, you need to track two frequencies from each satellite in order to more accurately determine ionospheric delays. If you want better coverage in areas with partial obstructions, you need to track more than just the GPS satellites.
There are currently 32 GPS satellites in orbit, 31 of which were healthy as of last week. A receiver will see less than half of them due to the elevation mask, which means that it ignores any satellite less than 5 degrees above the horizon. The elevation mask can be set higher - 8 or 10 degrees is common. Each of those satellites broadcast on both the L1 and L2 frequencies, and one GPS satellite is currently broadcasting on L5 (in test mode). All future GPS satellites will also support L5, and eventually your regular cheap receivers will use L5 instead of L1. It will probably be the year 2020 before you see L5 replace L1 on cheap devices.
Russia also has a constellation of global positioning satellites known as GLONASS. There are currently 27 GLONASS sats in orbit. As of last week, 23 are healthy, 3 are in maintenance mode, and 1 is in commissioning mode. All of the GLONASS satellites broadcast on two frequencies - L1 and L2.
Europe and China are also building constellations.
If you want to use WAAS correction data, you need one channel for SBAS.
If you want to use OmniStar or Canada's CDGPS, you need a channel for that.
The receiver I'm most familiar with tracks the following channels:
- 14 GPS L1 channels
- 14 GPS L2 channels
- 6 GPS L5 channels
- 12 GLONASS L1 channels
- 12 GLONASS L2 channels
- 2 SBAS channels (WAAS or EGNOS)
- 1 L-band channel (OmniStar or CDGPS)
The newest generation of high end receivers also have additional channels for the European and Chinese constellations.
Why more than 12 channels?
The number of channels inside a Navigation receiver is definitely more than a marketing gag. It is the question how many data you can and want to handle to use a wide spectrum of different navigation systems of similar kind. Please keep in mind that this satellite systems are useful for a big variety of applications (ship - , car-, rail- and airplane navigation, geodesy, timing, monitoring of earth, buildings ionosphere, weather forecast, so on and so on....) and therefore also the variety of receivers (supporting different channels) is wide.
Current high-end geodetic GNSS receivers (for multi-constellation) come around with more than 216 and up to 440 channels. Receivers used for mobile applications uses 66-200 channels. The number of channels has also noting to do with the number of correlators. Each channel can have his own number of correlators. It is true that the number of correlators to reduce the seach space is importens to get a good and stable TTF (time to first fix).
Very important - and thats is described in answer of adam davis: you need one channel per signal per satellite. Since the design of the navigation signals varies (diferent singal strength, modulation, bandwith etc.) you have to prepare the receiver to be capable for any navigation system you would like to add for your position solution.
Lets make a small overview of differnt kind of Navigation systems:
Navigation Systems:
- GPS (America)
- GLONASS (Russia)
- Beidou/COMPASS (China)
- Galileo (Europe)
... and furhtermore Augmentation Systems and regional navigation Systems, which use same/similar frequencies and Navigation messages, which can be used by the same signal aquisition technique:
- QZSS (regional System: Japan, Quasi-stationary)
- IRNSS (regional System. India)
- EGNOS (augmentation system Europe)
- WAAS (augmentation system America)
- OMNISTAR (private augmentation system)
So lets count and come back to the per satellite/per signal discussion (exzerpt):
- GPS: L1,L2,L5 (L5 counts 2 times since there are subchannels inside the signal - the I (in-phase) and Q(quadphase) component for example)
- GLONASS: L1 L2 L3 (also GLONASS uses subchannels for code division multiple access (CDMA) signal aquisition)
- Galileo (E1, E6 (secure signal), E5a E5b E5a+b (wideband signal))
- please refer to the current signal plan for each system and also to the reciever overview (furhter reading)
So if you like to track one GPS Satellite with L1 and L2 and L5a+b you need 4 channels. For a first fix you need 4 Satellites which menas, you need 8 channels only for a direct poisiotn solution without any redundance. The more GPS satellites the more the redundance (and integrity). To speed up: in this configuration you are only able to track 5 GPS Satellites with L1/L2 and L5. For my understanding a weak solution. But if you only consider L1 measurements - than of corse, you are able to track 12 satellites. So the more the channels the more the receiver (or baseband processor) has to work. This belongs on the capability of your chip - ... and definitely the number of useful observations and data for your application. At any time the quastion has to be:
- What do I want for my application?
- How many data I need to get a reliable solution?
- How much processing capabilities I have to get reliable solution?
- How much I want/have to control my solution?
for further reading:
- a very good receiver description from ESA
- 2014 GNSS reciever survey
- Article of Multi-constellation receiver on one single board (GPS World)
- Aviala-Rodriguez et al. (2007): The MBOC Modulation, Indside GNSS, 2(6):43-58 (online)
- Guo et al. (2013): Building a Wide-Band Multi-Constellation Receiver, GPS World, 24(3):36-42
- Galileo Signal Plan
- GPS Signal Plan
- GLONASS Signal Plan
- COMPASS Signal Plan