If you wish to contribute or participate in the discussions about articles you are invited to contact the Editor
Klobuchar Ionospheric Model
Fundamentals | |
---|---|
Title | Klobuchar Ionospheric Model |
Author(s) | J. Sanz Subirana, JM. Juan Zornoza and M. Hernandez-Pajares, University of Catalunia, Spain. |
Level | Advanced |
Year of Publication | 2011 |
GPS satellites broadcast the parameters of the Klobuchar ionospheric model for single frequency users. The Klobuchar model was designed to minimise user computational complexity and user computer storage as far as to keep a minimum number of coefficients to transmit on satellite-user link.
This broadcast model is based on an empirical approach [1] and is estimated to reduce about the 50% RMS ionospheric range error worldwide. It is assumed that the electron content is concentrated in a thin layer at [math]\displaystyle{ 350 }[/math] kilometres in height. Thence, the slant delay is computed from the vertical delay at the Ionospheric Pierce Point (IPP) [footnotes 1] multiplying by a obliquity factor, i.e., the mapping function, see figure 1.
Klobuchar Algorithm equations
The Klobuchar algorithm to run in a single frequency receiver is provided as follows (from [1]):
Given the user approximate geodetic latitude [math]\displaystyle{ \phi_u }[/math], longitude [math]\displaystyle{ \lambda_u }[/math], elevation angle [math]\displaystyle{ E }[/math] and azimuth [math]\displaystyle{ A }[/math] of the observed satellite and the coefficients [math]\displaystyle{ \alpha_n }[/math] and [math]\displaystyle{ \beta_n }[/math] broadcasted in the GPS satellite navigation message:
- 1. Calculate the earth-centred angle (elevation [math]\displaystyle{ E }[/math] in semicircles).
- [math]\displaystyle{ \psi =\frac{0.0137}{E+0.11}-0.022 \qquad\mbox{(semicircles)} \qquad\mbox{(1)} }[/math]
- 2. Compute the latitude of the Ionospheric Pierce Point (IPP)[footnotes 2].
- [math]\displaystyle{ \phi_I=\phi_u+\psi \cos A \qquad\mbox{(semicircles)} \qquad\mbox{(2)} }[/math]
- If [math]\displaystyle{ \phi_I\gt +0.416 }[/math] the [math]\displaystyle{ \phi_I=+0.416 }[/math]. If [math]\displaystyle{ \phi_I\lt -0.416 }[/math] the [math]\displaystyle{ \phi_I=-0.416 }[/math].
- 3. Compute the longitude of the IPP.
- [math]\displaystyle{ \lambda_I=\lambda_u+\frac{\psi \sin A}{\cos \phi_I} \qquad\mbox{(semicircles)} \qquad\mbox{(3)} }[/math]
- 4. Find the geomagnetic latitude of the IPP.
- [math]\displaystyle{ \phi_m=\phi_I+0.064 \, \cos (\lambda_I-1.617) \qquad\mbox{(semicircles)} \qquad\mbox{(4)} }[/math]
- 5. Find the local time at the IPP.
- [math]\displaystyle{ t= 43\,200\, \lambda_I + t_{GPS}\mbox{(seconds)} \qquad\mbox{(5)} }[/math]
- where [math]\displaystyle{ \leq t \lt 86\,400 }[/math],
- therefore: If [math]\displaystyle{ t\geq 86\,400 }[/math], subtract [math]\displaystyle{ 86\,400 }[/math]. If [math]\displaystyle{ t\lt 0 }[/math], add [math]\displaystyle{ 86\,400 }[/math].
- 6. Compute the amplitude of ionospheric delay.
- [math]\displaystyle{ A_I=\displaystyle\sum_{n=0}^{3}{\alpha_n \phi_m^n} \qquad\mbox{(seconds)} \qquad\mbox{(6)} }[/math]
- if [math]\displaystyle{ A_I\lt 0 }[/math], thence [math]\displaystyle{ A_I=0 }[/math].
- 7. Compute the period of ionospheric delay.
- [math]\displaystyle{ P_I=\displaystyle\sum_{n=0}^{3}{\beta_n \phi_m^n}\qquad\mbox{(seconds)} \qquad\mbox{(7)} }[/math]
- if [math]\displaystyle{ P_I\lt 72\,000 }[/math], thence [math]\displaystyle{ P_I=72\,000 }[/math].
- 8. Compute the phase of ionospheric delay.
- [math]\displaystyle{ X_I=\displaystyle \frac{\displaystyle 2\pi(t-50\,400)}{P_I} \qquad\mbox{(radians)} \qquad\mbox{(8)} }[/math]
- 9. Compute the slant factor (elevation [math]\displaystyle{ E }[/math] in semicircles).
- [math]\displaystyle{ F=1.0+16.0\,(0.53-E)^3 \qquad\mbox{(9)} }[/math]
- 10. Compute the ionospheric time delay.
- [math]\displaystyle{ I_{_{_{L1_{GPS}}}}=\left \{ \begin{array}{ll} \left [5\cdot 10^{-9}+ \sum_{n=0}^{3}{\alpha_n \phi_m^n}\cdot \left ( 1- \frac{X_I^2}{2}+\frac{X_I^4}{24} \right) \right ] \cdot F &; |X_I|\leq 1.57\\[0.5cm] 5\cdot 10^{-9}\cdot F &; |X_I|\geq 1.57 \end{array} \right . \qquad\mbox{(10)} }[/math]
- The delay [math]\displaystyle{ I_{_{L1_{GPS}}} }[/math] is given in seconds and it is referred to the GPS L1 frequency.
- Note: For the L1 GPS signal, the delay [math]\displaystyle{ I_{_{L1_{GPS}}} }[/math] corresponds to the term [math]\displaystyle{ \hat{\alpha}_1\,I }[/math] in
- [math]\displaystyle{ \begin{array}{l} R_{_1}=\rho+c(\delta t_{rcv}-\delta t^{sat})+T+\tilde{\alpha_1}(I+K_{21})+\mathcal{M}_1+\varepsilon_1\\[0.2cm] \Phi_{_1}=\rho+c(\delta t_{rcv}-\delta t^{sat})+T- \tilde{\alpha_1}(I+K_{21})+b_1+\lambda_1\,N_1+\lambda_1 w+m_1+\epsilon_1 \end{array} \qquad\mbox{(11)} }[/math]
Although this algorithm is provided to estimate the ionospheric delay in the GPS L1 frequency signal, it can be also used to estimate the ionospheric time delay in the GPS L2 frequency signal or for the GLONASS and Galileo signals, as well. Indeed, taking into account that the ionospheric delay is inversely proportional to the square of the signal frequency, the delay for any GNSS signal transmitted on frequency [math]\displaystyle{ f }[/math] is given by:
- [math]\displaystyle{ I_f= \left ( \frac{f_{_{L1_{GPS}}}}{f} \right )^2\,I_{_{L1_{GPS}}} \qquad\mbox{(12)} }[/math]
Figure 2 is a layout of the Klobuchar model algorithm, showing that the vertical delays are based on a constant value at night time and a half-cosine function in daytime, which amplitude and period is given as a function of the eight parameters ([math]\displaystyle{ \alpha_i,\, \beta_i,\,i=0,\dots,3 }[/math]) broadcasted in the GPS navigation message. A map with the geographical variation of the vertical delay is also depicted in this figure.
Figure 3 illustrates with an example the values of the GPS delays from the Klobuchar model and shows the effect of neglecting such delays in single point positioning for the horizontal and vertical error components.
Figure 3: Ionospheric correction: Range and position domain effect First row shows the horizontal (left) and vertical (right) positioning error using (blue) or not using (red) the Klobuchar ionospheric correction defined in 1. The variation in range is shown in the second row at left
Notes