If you wish to contribute or participate in the discussions about articles you are invited to contact the Editor
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]\displaystyle{ R(s;n) }[/math] and [math]\displaystyle{ \Phi(s;n) }[/math] the code and carrier measurement of a given satellite [math]\displaystyle{ s }[/math] at the time [math]\displaystyle{ n }[/math]. Thence, the smoothed code [math]\displaystyle{ \hat{R}(s;n) }[/math] can be computed as:
- [math]\displaystyle{ \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]\displaystyle{ \widehat{R}(s;1)= R(s;1) }[/math]
where, [math]\displaystyle{ n=k }[/math] when [math]\displaystyle{ k\lt N }[/math] and [math]\displaystyle{ n=N }[/math] when [math]\displaystyle{ k \geq N.\\[0.2cm] }[/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]\displaystyle{ \begin{array}{ll} \widehat{R}_k&=\Phi_k + \lt R - \Phi \gt _k=\\[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 +\frac{n-1}{n} \left (\widehat{R}_{k-1}-\Phi_{k-1} \right )+ \frac{1}{n} \left( R_k-\Phi_k \right)=\\[0.3cm] &= \frac{1}{n} R_k+ \frac{n-1}{n} \left [\widehat{R}_{k-1}+ \left( \Phi_k-\Phi_{k-1} \right) \right ]\\ \end{array} \qquad \mbox{(2)} }[/math]
where the mean bias [footnotes 1] [math]\displaystyle{ \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]\displaystyle{ \{x_1,\cdots,x_n\} }[/math] can be computed recursively as: [math]\displaystyle{ \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]\displaystyle{ N }[/math] samples window. Notice that, when [math]\displaystyle{ k \geq N }[/math], the weighting factors [math]\displaystyle{ \frac{1}{N} }[/math] and [math]\displaystyle{ \frac{N-1}{N} }[/math] are used instead of [math]\displaystyle{ \frac{1}{k} }[/math] and [math]\displaystyle{ \frac{k-1}{k} }[/math].