The way GPS was designed to work originally is two sets of codes. Course Acquisition (CA) code which repeats at 300ms intervals with a deliberate bias was designed to bootstrap the receiver into locating its position in a 1-week Precise (P) long code. This bias was selectively worse in different regions and I think still can be changed in war zones. Happy to be educated further here!
What the US government did was remove the bias from the CA code so it could be used for precise positioning. The military still uses P codes as well. I believe there is a small gain to be had but it’s due to frequencies.
Since then there have been several more advances, mostly to broadcast local augmentation signals. Wide Area (WAAS) and Ground Bases (GBAS) are common in receivers.
L5 is a new band to help solve multipath error in urban areas.
Most receivers also have remote autonomous integrity monitoring, where it can predict its own area of probability (by using groupings of 4 in 5 satellites), and if it’s too large for the intended use case, alert the user. Also with 6 satellites it can calculate combinations of 5 satellite groupings to work out (and exclude) faulty satellites. This is Fault Detection & Exclusion (FDE).
Mobile devices will also download their own separate high resolution almanac and ionospheric data over the internet which is superior to the low data rate GPS almanac. It can also use known cell locations to approximate its position. Combined, this enables rapid (hot) signal lock immediately onto the correct satellite code & Doppler shift frequency, which is why your mobile gets a fix in 3 seconds, versus your car which takes minutes.
> What the US government did was remove the bias from the CA code so it could be used for precise positioning. The military still uses P codes as well. I believe there is a small gain to be had but it’s due to frequencies.
The precision of positioning from the P code is 10 times greater than the C/A code (about 30cm vs 3m). This is due to the wavelength/'chip length' of the code signal which is modulated onto the carrier wave (10.23 Mhz / 29.31 m wavelength for P code, 1.023 Mhz / 293.1 m wavelength for C/A code). Positioning precision is limited to about ~1% of the chip length by signal processing.
This is correct, but I'd like to add that at some point the errors from which frequency and code you use is no longer the dominant factor in the position error. Depending on where you are, either multipath errors (eg due to reflections from buildings or mountains) or athmospheric errors (ie due to the radio signal being distorted in the ionosphere) start to dominate.
What the US government did was remove the bias from the CA code so it could be used for precise positioning. The military still uses P codes as well. I believe there is a small gain to be had but it’s due to frequencies.
Since then there have been several more advances, mostly to broadcast local augmentation signals. Wide Area (WAAS) and Ground Bases (GBAS) are common in receivers.
L5 is a new band to help solve multipath error in urban areas.
Most receivers also have remote autonomous integrity monitoring, where it can predict its own area of probability (by using groupings of 4 in 5 satellites), and if it’s too large for the intended use case, alert the user. Also with 6 satellites it can calculate combinations of 5 satellite groupings to work out (and exclude) faulty satellites. This is Fault Detection & Exclusion (FDE).
Mobile devices will also download their own separate high resolution almanac and ionospheric data over the internet which is superior to the low data rate GPS almanac. It can also use known cell locations to approximate its position. Combined, this enables rapid (hot) signal lock immediately onto the correct satellite code & Doppler shift frequency, which is why your mobile gets a fix in 3 seconds, versus your car which takes minutes.