0.3.0
Loading...
Searching...
No Matches
Klobuchar.hpp File Reference

Klobuchar Ionospheric correction model. More...

Go to the source code of this file.

Functions

double NAV::calcIonosphericTimeDelay_Klobuchar (double tow, Frequency freq, int8_t freqNum, double latitude, double longitude, double elevation, double azimuth, const std::array< double, 4 > &alpha, const std::array< double, 4 > &beta)
 Calculates the ionospheric time delay with the Klobuchar model.
 

Detailed Description

Klobuchar Ionospheric correction model.

Author
T. Topp (topp@.nosp@m.ins..nosp@m.uni-s.nosp@m.tutt.nosp@m.gart..nosp@m.de)
Date
2022-05-26

Function Documentation

◆ calcIonosphericTimeDelay_Klobuchar()

double NAV::calcIonosphericTimeDelay_Klobuchar ( double tow,
Frequency freq,
int8_t freqNum,
double latitude,
double longitude,
double elevation,
double azimuth,
const std::array< double, 4 > & alpha,
const std::array< double, 4 > & beta )

Calculates the ionospheric time delay with the Klobuchar model.

Parameters
[in]towGPS time of week in [s]
[in]freqFrequency of the signal
[in]freqNumFrequency number. Only used for GLONASS G1 and G2
[in]latitude𝜙 Geodetic latitude in [rad]
[in]longitudeλ Geodetic longitude in [rad]
[in]elevationAngle between the user and satellite [rad]
[in]azimuthAngle between the user and satellite, measured clockwise positive from the true North [rad]
[in]alphaThe coefficients of a cubic equation representing the amplitude of the vertical delay
[in]betaThe coefficients of a cubic equation representing the period of the model
Returns
Ionospheric time delay in [s]
Note
See [27] Klobuchar p. 329
See [21] IS-GPS-200 ch. 20.3.3.5.2.5 Figure 20-4 p.131-134

Algorithm description

Given the approximate position $ \phi, \lambda $, the elevation angle $ \varepsilon $, the azimuth $ \alpha $ as well as the 8 Klobuchar coefficients $ \alpha_i, \beta_i, i = 0,...,3 $ one can compute the following:

  • earth-centred angle (elevation in semicircles)

    \begin{equation} \label{eq:eq-klobuchar-earthCentredAngle}
    \psi = \frac{0.0137}{\varepsilon + 0.11} - 0.022
\end{equation}

  • latitude of the Ionospheric Pierce Point IPP (semicircles)

    \begin{equation} \label{eq:eq-klobuchar-latIPP}
    \phi_\mathrm{IPP} = \phi + \psi \cos(\alpha)
\end{equation}

    If $ \phi_\mathrm{IPP} > 0.416 $, then $ \phi_\mathrm{IPP} = 0.416 $ and if $ \phi_\mathrm{IPP} < -0.416 $, then $ \phi_\mathrm{IPP} = -0.416 $ .
  • longitude of the Ionospheric Pierce Point IPP (semicircles)

    \begin{equation} \label{eq:eq-klobuchar-longIPP}
    \lambda_\mathrm{IPP} = \lambda + \frac{\psi \sin(\alpha)}{\cos(\phi_\mathrm{IPP})}
\end{equation}

  • geomagnetic latitude of IPP

    \begin{equation} \label{eq:eq-klobuchar-latIPP-geomag}
    \phi_\mathrm{mag} = \phi_\mathrm{IPP} + 0.064 \cos(\lambda_\mathrm{IPP}-1.617)
\end{equation}

  • local time at IPP in [s]

    \begin{equation} \label{eq:eq-klobuchar-localTimeIPP}
    t = 43200 \lambda_\mathrm{IPP} + t_\mathrm{GPS}
\end{equation}

    where the local time at IPP is $ 0 \leq t < 86400 $, so if $ t \geq 86400 $, $ t = t - 86400 $ and if $ t < 0 $, $ t = t + 86400 $.
  • slant factor (elevation in semicircles)

    \begin{equation} \label{eq:eq-klobuchar-slantFactor}
    F = 1.0 + 16.0 (0.53-\varepsilon)^{3}
\end{equation}

  • amplitude of ionospheric delay in [s]

    \begin{equation} \label{eq:eq-klobuchar-amp}
    A_\mathrm{I}=\sum_{n=0}^{3} \alpha_{n} \phi_{mag}^{n}
\end{equation}

  • period of ionospheric delay in [s]

    \begin{equation} \label{eq:eq-klobuchar-period}
    P_\mathrm{I}=\sum_{n=0}^{3} \beta_{n} \phi_{mag}^{n}
\end{equation}

    If $ P_\mathrm{I} < 72000 $, set it to $ P_\mathrm{I} = 72000 $.
  • phase of ionospheric delay in [rad]

    \begin{equation} \label{eq:eq-klobuchar-phase}
    X_\mathrm{I} = \frac{2\pi (t-50400)}{P_\mathrm{I}}
\end{equation}

  • ionospheric time delay in [s]

    \begin{equation} \label{eq:eq-klobuchar-ionoTimeDelay}
    I_{L1_{GPS}}= \begin{cases}{
    \left[5 \cdot 10^{-9}+ A_\mathrm{I} \cdot\left(1-\frac{X_{I}^{2}}{2}+\frac{X_{I}^{4}}{24}\right)\right] \cdot F} & , \text{if} \left|X_{I}\right| < 1.57 \\
    5 \cdot 10^{-9} \cdot F & , \text{if} \left|X_{I}\right| \geq 1.57
    \end{cases}
\end{equation}

  • The ionospheric time delay $ I_{L1_{GPS}} $ refers to the GPS L1 frequency and gets adapted to the given frequency automatically.