*If you wish to contribute or participate in the discussions about articles you are invited to join Navipedia as a registered user*

# Carrier-smoothing of code pseudoranges

Fundamentals | |
---|---|

Title | Carrier-smoothing of code pseudoranges |

Author(s) | J. Sanz Subirana, J.M. Juan Zornoza and M. Hernández-Pajares, Technical University of Catalonia, Spain. |

Level | Advanced |

Year of Publication | 2011 |

The noisy (but unambiguous) code pseudorange measurements can be smoothed with the precise (but ambiguous) carrier phase measurements. A simple algorithm (the Hatch filter) is given as follows:

Let's [math]R(s;n)[/math] and [math]\Phi(s;n)[/math] the code and carrier measurement of a given satellite [math]s[/math] at the time [math]n[/math]. Thence, the smoothed code [math]\hat{R}(s;n)[/math] can be computed as:

- [math] \widehat{R}(s;k)= \frac{1}{n} R(s;k)+ \frac{n-1}{n} \left [\widehat{R}(s;k-1)+ \left( \Phi(s;k)-\Phi(s;k-1) \right) \right ] \qquad \mbox{(1)} [/math]

- The algorithm is initialised with:
- [math] \widehat{R}(s;1)= R(s;1) [/math]

where, [math]n=k[/math] when [math]k\lt N[/math] and [math]n=N[/math] when [math]k \geq N.[/math]

This algorithm must be initialised every time that a carrier phase cycle-slip occurs.

The previous algorithm can be interpreted as a real-time alignment of the carrier phase to the code measurement. That is:

- [math] \begin{array}{ll} \widehat{R}(k)&= \frac{1}{n} R(k)+ \frac{n-1}{n} \left [ \widehat{R}(k-1)+ \left( \Phi(k) - \Phi(k-1) \right) \right ]=\\[0.3cm] &= \Phi(k) +\frac{n-1}{n} \left (\widehat{R}(k-1)-\Phi(k-1)\right )+ \frac{1}{n} \left( R(k)-\Phi(k) \right)=\\[0.3cm] & =\Phi(k) + \frac{n-1}{n} \lt R - \Phi\gt _{(k-1)} + \frac{1}{n} \left ( R(k) - \Phi(k) \right )=\\[0.3cm] &= \Phi(k) + \lt R - \Phi \gt _{(k)} \end{array} \qquad \mbox{(2)} [/math]

where the mean bias ^{[footnotes 1]} [math] \lt R - \Phi \gt [/math] between the code and carrier phase is estimated in real time and used to align the carrier phase with the code.

For more information, please go to the article:

## Notes

- ^ The mean value of a set of measurements [math]\{x_1,\cdots,x_n\}[/math] can be computed recursively as: [math]\lt x\gt _k= \frac{1}{k} x_k+ \frac{k-1}{k}\lt x\gt _{k-1}[/math]. The equation (2) is a variant of previous expression, that provides an estimate of a moving average over a [math]N[/math] samples window. Notice that, when [math]k \geq N[/math], the weighting factors [math]\frac{1}{N}[/math] and [math]\frac{N-1}{N}[/math] are used instead of [math]\frac{1}{k}[/math] and [math]\frac{k-1}{k}[/math].