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

# Code-Carrier Divergence Effect

Fundamentals
Title Code-Carrier Divergence Effect
Author(s) J. Sanz Subirana, J.M. Juan Zornoza and M. Hernández-Pajares, Technical University of Catalonia, Spain.
Year of Publication 2012

## Introduction

The time variation of the ionosphere introduces a bias in the single frequency smoothed code (Carrier-smoothing), due to the code-carrier divergence. This effect is analysed as follows: The single frequency code (R1) and carrier (Φ1) measurements can be written in a simplified form as (see Combining pairs of signals and clock definition):

$\begin{array}{l} R_1=r +I_1+\varepsilon_1 \\ \Phi_1=r -I_1+B_1+\epsilon_1 \\ \end{array} \qquad \mbox{(1)}$

where r includes all non-dispersive terms such as geometric range, satellite and receiver clock offset and tropospheric delay. I1 represents the frequency dependent terms as the ionosphere and instrumentals delays. B1 is the carrier phase ambiguity term, which is constant along continuous carrier phase arcs. $\varepsilon_1$ and ε1 account for the code and carrier thermal noise and multipath. Since the ionospheric term has opposite sign in code and carrier measurements, it does not cancel in the R − Φ combination, but on the contrary, its effect is twofold. That is [footnotes 1]:

$R_1-\Phi_1=2I_1+B_1+ \varepsilon_1 \qquad \mbox{(2)}$

The noisy (but unambiguous) code pseudorange measurements can be smoothed with the precise (but ambiguous) carrier phase measurements through the Hatch filter (see Carrier-smoothing):

$\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} _{(k-1)} + \frac{1}{n} \left ( R(k) - \Phi(k) \right )=\\[0.3cm] &= \Phi(k) + < R - \Phi >_{(k)} \end{array} \qquad \mbox{(3)}$

Substituting (2) in the Hatch filter equation (3), results:

$\widehat{R}_1(k)=\Phi_1(k) + < R_1-\Phi_1 >_{(k)}=r(k) -I_1(k) +B_1+ \langle 2I_1-B_1 \rangle_{(k)} \qquad \mbox{(4)}$

Since the carrier ambiguity term B1 is a constant bias and the average $\langle \cdot \rangle$ is a linear operator, B1 cancels in the previous equation (4), which can be re-written as (where the ionosphere is a time varying term):

$\widehat{R}_1(k)=\Phi_1(k) + < R_1 - \Phi_1 >_{(k)} = r(k) + I_1(k) + \underbrace{2 \left (\langle I_1 \rangle_{(k)} -I_1(k) \right )}_{{bias}_{I}} \qquad \mbox{(5)}$

That is, the time varying ionosphere produces a bias in the single frequency carrier-smoothed code (code-carrier divergence effect), in such a way that the first equation of (1) becomes for the smoothed code $\widehat{R}_1$ as:

$\widehat{R}_1= r+I_1+bias_I+\nu_1 \qquad \mbox{(6)}$

where ν1 is the noise term after the filter smoothing.

## Divergence Free smoother

With two frequency measurements, the ionospheric term can be removed from a combination of the two frequencies carriers. Thus, neglecting the carrier noise and multipath ε1 and ε2 in front to the code $\varepsilon_1$:

$R_1- \Phi_1-2 \tilde{\alpha}_1 (\Phi_1-\Phi_2)= B_{12}+\varepsilon_1 \qquad \mbox{(7)}$

where

$\tilde{\alpha}_1=\frac{1}{(f_1/f_2)^2-1}$.

Using the previous combination (7) in (3), instead of (2), a smoothed code is obtained, free from the code-carrier ionosphere divergence effect, but having the same ionospheric delay as the original unsmoothed code R1:

$\widehat{R}_1= r+I_1+\nu_{12} \qquad \mbox{(8)}$

where ν12 is the noise after the filter smoothing.

This smoothed code is called divergence-free carrier smoothed code

To illustrate the induced bias by the time varying ionosphere divergence on the single frequency smoothed code, the C1 carrier-smoothed code is computed using the expression (2), affected by the ionosphere divergence, and (7), divergence-free. The results are depicted in figure 1, left, where the accumulated bias is shown for three different smoothing filter time lengths (1 hour, 6 minutes and 1 minute). As it can be seen, largest time constant leads to largest biases regarding to the unsmoothed code. In the given example, this bias reaches up to more than 1 meter with the 1 hour time smoothing, and up to $50\, cm$ with the 6 minutes smoothing. Note that these values depend on the ionospheric activity. The ionospheric refraction associated to these figures (from shifted Φ1 − Φ2 carrier phases in meters of L1 delay) is shown at the bottom left plot as reference.

The sinusoidal-like oscillations are due to the code multipath. These oscillations are smoothed by increasing the time constant, but thence, a larger ionospheric bias can be introduced for the single frequency receivers smoothing.

### Ionosphere Free smoother

The previous combination (7) uses two frequency carriers (Φ1 ,Φ2), but only a single frequency code (R1). Using both code and carrier dual frequency measurements, it is possible to remove the frequency dependent effects[footnotes 2]

$\Phi_{_{LC}}=\frac{f_1^2\;\Phi_{_{L1}}-f_2^2\;\Phi_{_{L2}}}{f_1^2-f_2^2}~~~~~;~~~~~ R_{_{PC}}=\frac{f_1^2\;R_{_{P1}}-f_2^2\;R_{_{P2}}}{f_1^2-f_2^2} \qquad \mbox{(9)}$

using the code and carrier ionosphere-free combinations ($R_{_{C}}$, $\Phi_{_{C}}$), see equation (11) in Combining pairs of signals and clock definition. Thence, the equations (1) become[footnotes 3]:

$\begin{array}{l} R_{_{C}}=r + \varepsilon_{_C}\\ \Phi_{_{C}}=r + B_{_C}+ \epsilon_{_C} \qquad \mbox{(10)} \end{array}$

And now, using the previous ionosphere-free combinations of code and carrier, the equation (2) is now:

$R_{_{C}}-\Phi_{_{C}}=B_{_C}+\varepsilon_{_C} \qquad \mbox{(11)}$

Applying this combination as input in the Hatch filter (3), a smoothed solution fully free of the (first order) ionosphere is computed:

$\widehat{R}_{_{C}} = r +\nu_{_{C}} \qquad \mbox{(12)}$

where $\nu_{_{C}}$ is the noise after the filter smoothing. This smoothed code is called (ionosphere-free) carrier smoothed code The right side of figure (1) shows the ionosphere free carrier smoothed solution computed using the same smoothing time constants as with the C1-code.

 The left hand plots corresponds to the C1-carrier smoothing using equation (1), in red (affected by the code-carrier ionosphere divergence), and equation (2), in black (divergence-free). Right hand plots show the ionosphere-free smoothed code using the equation (7). The unsmoothed measurements in green correspond to R1 (left) and RC (right) (zoom to [35000:40000] seconds).

## Notes

1. ^ Where the carrier term ε1 is neglected in front to the code noise and multipath $\varepsilon_1$.
2. ^ The first order ionosphere, which accounts for up to the $99.9\%$ of the ionospheric effect, and the interfrequency bias (see Combining pairs of signals and clock definition)
3. ^ Notice that code and carrier the noise is amplified in this combination (about three times using the legacy GPS signals). See $R_{_{C}}$ noise in right column at figure (1).