Carrier-smoothing of Code Pseudoranges

When using a single receiver for satellite-based positioning, the carrier-phase observation tends to remain unused unless you are performing a PPP solution. I thought about doing a quick experiment to see why carrier-smoothing of code observations can be useful for single point-positioning.

I had a Static GPS-only observation file, obtained using a single frequency receiver.

Here is what I found…

Position Solution without Smoothing

CodeOnlySol

ECEF-XYZ Solution in meters

Position Solution with Smoothing

SmoothedSol

ECEF-XYZ Solution in meters

Comparison

DiffENU

The difference shown in terms of Local E-N-U components

ApostCombined

Square-root of Aposteriori Variance Factor corresponding to input measurements

Discussion

The communication from GPS satellites is based on code-division multiple access (CDMA) technique. Same is the case for Galileo (from European Union) and Beidou (from China) satellite navigation systems. With CDMA, the idea is that all satellites transmit their signal at the same nominal frequency. However, the signals are modulated with a “secret” message, which is unique for each satellite. Now given that the receivers know this “secret” message, it can figure out which satellites it is listening to. This message is known as Pseudo-Random Noise (PRN) code because it is supposed to seem like noise to anyone without knowledge of the secret contents.

From this, we can conclude that there are two types of observations. The PRN code provides enough information to derive the direct range between satellite-receiver and is referred to as Code Pseudorange. The other observation is derived from the information carrier signal itself, conveniently referred to as Carrier Phase.

The problem with the Carrier Phase is that it does not express the full range between satellite-receiver. This is because the carrier signal is continuous and GPS is a passive system.  Continuous meaning satellites transmit signals 24×7, 365 days a year. Passive meaning the communication stream is one-way whereby receivers are the “ears” and satellites are the “mouth”. When a receiver starts tracking the signal from a satellite, it does not know how much of the signal that defines the satellite-receiver range has already passed. This is the Carrier Phase Ambiguity, or in-short is simply referred to as Ambiguity. Hence, the carrier phase observation cannot be easily used for a position solution without addressing the ambiguity issue.

The easiest position solution can be obtained using the code pseudorange observations. The deal with the code is that it is very noisy. In general, the accuracy of measurements at the receiver is stated to be 1% of the measurement wavelength. The PRN code is a very long message with a wavelength of ~300 meters. Using the 1% rule, we have an error of up to 3 meters for each code observation. Clearly, having a 3 meter noise error-range for our observations is not good and can be deemed unreliable for many applications. Lets look at the carrier phase which has a wavelength of ~20 cm. Using the 1% rule, we have an error of 2 mm for each phase observation. Clearly, this is very much preferable. Therefore, if we can’t directly use the carrier phase observation to obtain a position solution due to the ambiguity issue, we can at least use it to smooth-out the noise in the code observations.

It is still important to understand that carrier-smoothing will only improve the effects of measurement noise. Both types of measurements suffer other biases such as atmospheric errors (ionosphere and troposphere refraction), satellite orbit and clock errors, multipath errors, etc. These errors can be partly accounted for using error correction models in the standard point positioning technique.

Why is carrier-smoothing useful?

Carrier-smoothing can help in reducing the noise in the code measurements. This in turn ensures that the “spread” of the position solution is reduced. The spread refers to the concept of precision. When we obtain a position estimate using measurements from one epoch, we should expect that the independent position estimate using measurements from the next epoch should also be similar, given the absence of measurement outliers. Reducing the noise in the measurements can certainly help to achieve that goal.

One thought on “Carrier-smoothing of Code Pseudoranges

  1. Pingback: What is Ambiguity Resolution? | Aaron Boda

Leave a comment