Introduction

The ionosphere is a significant error source for users of global navigation satellite systems (GNSS). Ionosphere-induced range errors may vary from a few centimeters to tens of meters depending on geophysical conditions. Fortunately, the ionosphere is a frequency-dispersive medium, and therefore, the most part (>99%) of the ionospheric delay can be corrected by combining signals at two or more frequencies (Odijk 2003). However, higher-order ionospheric effects, such as the second- and third-order terms, and ray-path bending-related effects, are not canceled out in such an approach. They become one of the main limiting factors for applications where millimeter level accuracy is demanded, e.g., in GNSS-based space geodesy.

Brunner and Gu (1991) can be credited for computing higher‐order ionospheric effects and developing correction formulas for them. They considered the second-order term and the curvature correction term for the dual-frequency ionospheric correction of the Global Positioning System (GPS) observations. Similarly, Bassiri and Hajj (1993) investigated the first-, second- and third-order ionospheric delays on GPS code and carrier-phase observations. They assumed an Earth-centered tilted dipole approximation for the geomagnetic field for second-order delay estimation and ignored the ray-path bending errors. Jakowski et al. (1994) studied ionosphere-induced ray-path bending effects in precise positioning using GPS (20,000 km altitude) and Navy Navigation Satellite System (NNSS, 1000 km altitude) signals. Later, Strangeways and Ioannides (2002) presented a method for the range correction to better than 1 cm accuracy by employing three factors: one representing the ratio of the slant total electron content experienced by two frequencies and the other two representing the ratio of their geometric path lengths with respect to the true range.

Kedar et al. (2003) studied the impact of the second-order term on precise positioning under high-ionization conditions for low-latitude GPS receivers. They found a global southward displacement of several millimeters in the station positions. Later, Fritsche et al. (2005) found a similar southward displacement trend in the receiver position due to second-order ionospheric term but with a smaller magnitude. They recommended the correction of higher-order ionospheric effects due to their non-negligible impact on the reference frame origin and GNSS satellite positions. Hawarey et al. (2005) investigated the second-order ionospheric term for very-long-baseline interferometry (VLBI) and found that further improvements can be achieved by using a more realistic magnetic field model such as the International Geomagnetic Reference Field (IGRF) model.

Using data from the International GNSS Service (IGS) global network of receivers, Hernández-Pajares et al. (2007) further studied the second-order effect on geodetic estimates, such as receiver positions, satellite clocks and orbits. They found submillimeter-level shifting in receiver positions along a southward direction for low-latitude receivers and along a northward direction for high-latitude receivers, suggesting a different displacement pattern with respect to previous studies. Hoque and Jakowski (2008, 2012) derived different approximation formulas to correct the second- and third-order terms, errors due to excess path length in addition to the free-space path length, i.e., the total electron content (TEC) difference at two GNSS frequencies for L band signals. Petrie et al. (2011) investigated the potential effects of the bending terms described by Hoque and Jakowski (2008) on a global GPS network. They found the bending correction for the L1–L2 ionosphere-free linear combination to exceed the 3 mm level in equatorial regions. A comprehensive summary of higher-order effects on geodetic quantities considering all relevant higher-order contributions can be found in Hernández-Pajares et al. (2014).

As already mentioned, the first-order ionospheric term can be eliminated by combining dual-frequency measurements. Theoretically, triple-frequency GNSS measurements can eliminate the first- and second-order ionospheric terms. However, such multiple-frequency combinations lead to amplification of all uncorrelated errors such as multipath and noise and are practically not useful (Hernández-Pajares et al. 2014). Instead, higher-order ionospheric effects are often computed by using TEC values provided by global ionospheric maps (GIMs) (Kedar et al. 2003; Fritsche et al. 2005). Another, more precise, option consists of computing slant TEC (STEC) from carrier-smoothed code observations and applying satellite and receiver differential code biases (DCBs) obtained from an external process (Hernández-Pajares et al. 2007).

Recently, Zehentner and Mayer-Gürr (2016) described an approach for precise orbit determination based on precise point positioning (PPP) (Zumberge et al. 1997; Kouba and Héroux 2001). In their approach, all observations are used, including code and phase observations on all frequencies. Since the first- and second-order ionospheric delays are linearly dependent on STEC, the authors proposed to estimate STEC parameters directly in the positioning filter by changing the partial derivatives to include the contribution of higher-order effects. Their work did not, however, analyze in details the validity of this new approach. Therefore, the purpose of our investigation is to test this proposed estimation strategy.

The functional model described by Zehentner and Mayer-Gürr (2016) is first reviewed, followed by an analysis on the impact of the receiver DCB parameter on the validity of the model. Subsequent sections present the data and tests conducted to support our analysis and experimental results. Finally, the conclusion makes recommendations with regard to the estimation of higher-order effects in PPP.

Estimating higher-order ionospheric effects

The computation of higher-order ionospheric effects typically requires external inputs such as a GIM or pre-computed station DCBs. Since both the first- and second-order delays are linearly dependent on STEC, Zehentner and Mayer-Gürr (2016) proposed to include STEC parameters in the positioning filter as an alternate means of modeling higher-order ionospheric effects.

To explain the proposed methodology, let us introduce the functional model for the carrier-phase (L) and code or pseudorange (P) observables on frequency \(i\):

$$L_{i} = \bar{\rho } - \left( {\mu_{i}^{\left( 1 \right)} + \frac{{\mu_{i}^{\left( 2 \right)} }}{2} + \frac{{\mu_{i}^{\left( 3 \right)} }}{3} - \mu_{i}^{{\left( {\Delta b} \right)}} + \mu_{i}^{{\left( {\Delta {\text{TEC}}} \right)}} } \right) \cdot {\text{STEC}} + \lambda_{i} N_{i} ,$$
(1)
$$P_{i} = \bar{\rho } + \left( {\mu_{i}^{\left( 1 \right)} + \mu_{i}^{\left( 2 \right)} + \mu_{i}^{\left( 3 \right)} + \mu_{i}^{{\left( {\Delta b} \right)}} + \mu_{i}^{{\left( {\Delta {\text{TEC}}} \right)}} } \right) \cdot {\text{STEC}} + {\text{DCB}}_{i} .$$
(2)

The term \(\bar{\rho }\) contains all non-dispersive effects such as the geometric range between the satellite and receiver antenna phase centers (\(\rho\)), the receiver and satellite clock offsets (\({\text{d}}T\) and \({\text{d}}t\), respectively) and the zenith tropospheric delay (\(T_{z}\)) multiplied by a mapping function (\(m\)):

$$\bar{\rho } = \rho + {\text{d}}T - {\text{d}}t + m \cdot T_{z} .$$
(3)

For this quantity to be independent of frequency, it is assumed that frequency-dependent error sources such as phase-center variations and carrier-phase windup effects were properly accounted for. The quantities \(\mu_{i}^{*}\) represent STEC partial derivatives and will be detailed hereafter. The float carrier-phase ambiguities \(N\) are multiplied by the wavelength of the carrier (\(\lambda\)) and are understood to contain receiver- and satellite-dependent phase biases. The DCB can be added for \(i > 1\) to model the receiver inter-frequency delays with respect to the \(P_{1}\) observable. More details regarding the handling of the DCB parameter will be provided in the next section.

The partial derivative for the first-order ionospheric effect can be obtained, for STEC expressed in TEC units (TECU), as:

$$\mu_{i}^{\left( 1 \right)} = \frac{{40.3 \cdot 10^{16} }}{{f_{i}^{2} }},$$
(4)

where \(f_{i}\) is the frequency in Hz. The second-order ionospheric delay partial derivative is (Fritsche et al. 2005):

$$\mu_{i}^{\left( 2 \right)} = \frac{{7527 \cdot 10^{16} \cdot c}}{{f_{i}^{3} }} \cdot \left( {\left| {B_{0} } \right| \cdot \cos \theta } \right),$$
(5)

where \(\left| {\varvec{B}_{0} } \right|\) is the magnitude of the Earth’s magnetic field (in nT) at the intersection of the ionospheric pierce point computed using coefficients from the IGRF available at https://www.ngdc.noaa.gov/IAGA/vmod/igrf.html, and \(\theta\) is the angle between the magnetic field vector and the direction of signal propagation.

The remaining higher-order effects are not linearly dependent on STEC and would require iterations in the least-squares adjustment or a priori values for STEC. The third-order partial derivative can be obtained from the approximation provided by Pireaux et al. (2010):

$$\mu_{i}^{\left( 3 \right)} = \frac{{2437 \cdot 10^{16} }}{{f_{i}^{4} }} \cdot \left[ {\frac{{\left( {20 - 6} \right) \cdot 10^{12} }}{{\left( {4.55 - 1.38} \right) \cdot 10^{18} }} \cdot \left( {{\text{VTEC}} - 4.55 \cdot 10^{18} } \right) + 20 \cdot 10^{12} } \right] \cdot \eta ,$$
(6)

where VTEC is the vertical TEC and \(\eta\) is the shape factor often taken as 0.66 (Fritsche et al. 2005). Other effects include the bending of the ray with respect to a straight line-of-sight vector \((\Delta b)\) and the excess TEC due to this bending (\(\Delta {\text{TEC}}\)), for which approximate formulas can be derived from Hoque and Jakowski (2012):

$$\mu_{i}^{{\left( {\Delta b} \right)}} = \frac{{2.9344 \cdot 10^{5} }}{{f_{i}^{4} \cdot 10^{ - 24} }} \cdot \left[ {\frac{1}{{\sqrt {1 - 0.826\cos^{2} \left( e \right)} }} - 1} \right] \cdot {\text{STEC,}}$$
(7)
$$\mu_{i}^{{\left( {\Delta {\text{TEC}}} \right)}} = \frac{{58.689 \cdot 10^{16} }}{{f_{i}^{4} \cdot 10^{ - 12} }} \cdot \left[ {\frac{1}{{\sqrt {1 - 0.826\cos^{2} \left( e \right)} }} - 1} \right] \cdot {\text{STEC,}}$$
(8)

where \(e\) is the elevation angle of the satellite.

In this work, only (4) and (5) were considered leading to the simplified functional model:

$$L_{i} = \bar{\rho } - \left( {\mu_{i}^{\left( 1 \right)} + \frac{{\mu_{i}^{\left( 2 \right)} }}{2}} \right) \cdot {\text{STEC}} + \lambda_{i} N_{i} ,$$
(9)
$$P_{i} = \bar{\rho } + \left( {\mu_{i}^{\left( 1 \right)} + \mu_{i}^{\left( 2 \right)} } \right) \cdot {\text{STEC}} + {\text{DCB}}_{i} .$$
(10)

Using precise satellite orbit and clock correction products, these equations can be used at the user end to compute a PPP solution to estimate the receiver position, clock offset, tropospheric zenith delay, carrier-phase ambiguities and STEC parameters. Even when using uncombined signals, the receiver DCB is typically not estimated in PPP solutions unless external ionospheric constraints are applied in the filter (Odijk et al. 2016). More details on this topic are provided in the next section.

Impact of the receiver differential code bias

Although not discussed in Zehentner and Mayer-Gürr (2016), it is important to recognize changes in the estimable parameters when estimating higher-order ionospheric effects in PPP. For simplicity, let us consider the single-satellite model where observables from one satellite are used to estimate a range parameter, a STEC parameter and carrier-phase ambiguities:

$$\left[ {\begin{array}{*{20}c} {L_{1} } \\ {L_{2} } \\ {P_{1} } \\ {P_{2} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} 1 & {\mu_{L1} } & {\lambda_{1} } & 0 \\ 1 & {\mu_{L2} } & 0 & {\lambda_{2} } \\ 1 & {\mu_{P1} } & 0 & 0 \\ 1 & {\mu_{P2} } & 0 & 0 \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\bar{\rho }} \\ {\text{STEC}} \\ {N_{1} } \\ {N_{2} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} 0 \\ 0 \\ 0 \\ {\text{DCB}} \\ \end{array} } \right].$$
(11)

To keep this model as general as possible, the partial derivatives \(\mu_{*}\) are signal dependent and vary if we estimate only first-order ionospheric effects or include higher-order effects. Since there are four observations and, technically, five parameters if we consider the receiver DCB, one has to pick a single parameter that will not be explicitly estimated. In our case, the DCB parameter is not of interest and is not included as an estimable parameter. In this case, it will propagate into the estimates of other parameters as:

$$\left[ {\begin{array}{*{20}c} {\Delta \bar{\rho }} \hfill \\ {\Delta {\text{STEC}}} \hfill \\ {\Delta N_{1} } \hfill \\ {\Delta N_{2} } \hfill \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} 1 \hfill & {\mu_{L1} } \hfill & {\lambda_{1} } \hfill & 0 \hfill \\ 1 \hfill & {\mu_{L2} } \hfill & 0 \hfill & {\lambda_{2} } \hfill \\ 1 \hfill & {\mu_{P1} } \hfill & 0 \hfill & 0 \hfill \\ 1 \hfill & {\mu_{P2} } \hfill & 0 \hfill & 0 \hfill \\ \end{array} } \right]^{ - 1} \left[ {\begin{array}{*{20}c} 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ {\text{DCB}} \hfill \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} { - \mu_{P1} /\left( {\mu_{P2} - \mu_{P1} } \right) } \hfill \\ {1/\left( {\mu_{P2} - \mu_{P1} } \right)} \hfill \\ {\left( {\mu_{P1} - \mu_{L1} } \right)/\left[ {\lambda_{1} \left( {\mu_{P2} - \mu_{P1} } \right)} \right]} \hfill \\ {\left( {\mu_{P1} - \mu_{L2} } \right)/\left[ {\lambda_{2} \left( {\mu_{P2} - \mu_{P1} } \right)} \right]} \hfill \\ \end{array} } \right] \cdot {\text{DCB}} .$$
(12)

Hence, this parameterization implies that all estimated quantities are biased by a multiple of the DCB. When estimating only first-order ionospheric effects, the impact on the range parameter can be derived from (12):

$$\left. {\begin{array}{*{20}c} {\mu_{P1} = u_{1}^{\left( 1 \right)} } \\ {\mu_{P2} = u_{2}^{\left( 1 \right)} } \\ \end{array} } \right\}\Delta \bar{\rho } = \frac{{ - u_{1}^{\left( 1 \right)} }}{{u_{2}^{\left( 1 \right)} - u_{1}^{\left( 1 \right)} }} \cdot {\text{DCB}} = \frac{{ - f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }} \cdot {\text{DCB}} .$$
(13)

Since the DCB scale factor in (13) is satellite independent, the DCB parameter would be absorbed by the receiver clock estimate when combining ranges from several satellites and would therefore not propagate into the receiver position. However, when estimating both first- and second-order ionospheric effects, the range parameter becomes biased by:

$$\left. {\begin{array}{*{20}c} {\mu_{P1} = \mu_{1}^{\left( 1 \right)} + \mu_{1}^{\left( 2 \right)} } \\ {\mu_{P2} = \mu_{2}^{\left( 1 \right)} + \mu_{2}^{\left( 2 \right)} } \\ \end{array} } \right\} \Delta \bar{\rho } = \frac{{ - \left( {\mu_{1}^{\left( 1 \right)} + \mu_{1}^{\left( 2 \right)} } \right)}}{{\left( {\mu_{2}^{\left( 1 \right)} + \mu_{2}^{\left( 2 \right)} } \right) - \left( {\mu_{1}^{\left( 1 \right)} + \mu_{1}^{\left( 2 \right)} } \right)}} \cdot {\text{DCB}} .$$
(14)

The DCB scale factor in (14) is now time and satellite dependent since the partial derivative \(\mu_{i}^{\left( 2 \right)}\) involves the magnitude and orientation of the magnetic field at the ionospheric pierce point. As a consequence, the definition of the range parameter effectively changes at every epoch and differs among satellites. These discrepancies will thus propagate into the receiver position when combining the range estimates from all satellites. The larger the magnitude of the DCB, the more impact should be noticed on the position estimates.

Explicit estimation of the receiver DCB in PPP is possible when adding external ionospheric constraints in the filter or when modeling VTEC using a mathematical representation such as a polynomial expansion (Odijk et al. 2016). In this case, range parameters become unbiased which allows for the estimation of higher-order ionospheric effects in the PPP filter. This approach will be tested in subsequent sections.

Experimental data and methodology

In order to assess the impact of higher-order ionospheric corrections on static and kinematic PPP solutions, four European permanent stations were selected: MATE, HERS, ONSA and TRO1 (see Fig. 1; Table 1). Their differences in latitude, implicating various levels of STEC observed in the line of sight between satellites and stations, vary from ~40° to 70°. The position of the first three stations corresponds to mid-latitude ionospheric conditions, whereas the last station (TRO1) is located in the auroral oval. For testing purposes, we chose the period from November 8–12, 2001 (DOY 312–316), covering high solar activity. Such time span ensured high values of higher-order ionospheric terms and, as a consequence, should allow the clear identification of their influence on positioning. The selected period corresponds to low geomagnetic activity. Its highest level was observed in pre-midnight hours on November 10 when the Kp index reached 3+ (ftp.gfz-potsdam.de/pub/home/obs/kp-ap). Both data set and period were intentionally the same as in the work of Elmas et al. (2011), in which significant impacts of higher-order ionospheric effects were reported.

Fig. 1
figure 1

Distribution of stations

Table 1 Station coordinates

The impact of higher-order ionospheric terms can be mitigated in GNSS positioning using different methods. One possible solution is its preliminary elimination by the application of external information on STEC values. This approach is more complex in a real-time implementation, but in post-processing it can be treated as a reference for further investigations. In this study, the mitigation of the second- and third-order terms was performed using the RINEX_HO utility available at https://www.ngs.noaa.gov/gps-toolbox/RINEX_HO.html (Marques et al. 2011). The program allows users to generate corrected RINEX files as well as saving information on STEC and higher-order ionospheric values computed according to the equations:

$$I_{i}^{\left( 2 \right)} = \mu_{i}^{\left( 2 \right)} \cdot {\text{STEC}},$$
(15)
$$I_{i}^{\left( 3 \right)} = \mu_{i}^{\left( 3 \right)} \cdot {\text{STEC}}.$$
(16)

The STEC values can be basically derived from two different algorithms. The first one is based on the spatiotemporal interpolation of STEC values from a GIM, computed using the single-layer model with a shell height of 450 km as a default value. In this case, the conversion from VTEC to STEC is performed with the use of \({ \cos }\left( z \right)\) mapping function. The second algorithm enables direct retrieval of slant ionospheric information using the geometry-free linear combination of smoothed code observations and the input of instrumental DCBs. As reported by Hernández-Pajares et al. (2007), this approach provides more accurate STEC values, especially in equatorial regions and for low-elevation angles. On the other hand, its efficiency is related to the precision of DCBs and observation quality, characterized here by the number of cycle slips. Handling of carrier-phase discontinuities is a prerequisite for correctly performing the smoothing process using phase observations. As a result, the application of the second algorithm may be problematic at low and high latitudes where cycle slips are frequent. With regard to the Earth’s magnetic field model, required for the second-order ionospheric effect computation, the utility has implemented three models: the dipolar approximation, the corrected geomagnetic model from parameterized ionospheric model (PIM) and the IGRF model.

In this work, the higher-order ionospheric effects were eliminated using STEC values from GIMs provided by the Center for Orbit Determination in Europe (Schaer 1999) and the IGRF model (version 11). Using STEC from GIMs is justified by the lack of DCB for one of the stations (HERS) and, more importantly, by problems encountered with the smoothing procedure. The latter issue, manifested as arcs with negative STEC values, was probably an effect of incorrectly handled cycle slips and prevented the use of the second approach. It should be noted that the same algorithm (GIM + IGRF11) was applied in the work of Elmas et al. (2011).

Preliminary analysis of STEC and higher-order ionospheric terms

As mentioned previously, the RINEX_HO program can generate output files containing STEC and higher-order ionospheric terms. This information can be used for a preliminary investigation of ionospheric conditions and the magnitude of higher-order ionospheric corrections applied to the observations in the corrected RINEX files. Figure 2 presents the comparison of the temporal variations of STEC values at all selected stations during the period covering November 8–12, 2001, using GPS Time. The most pronounced effect in the time domain is the increased electron concentration caused by solar radiation observed near local noon. The maximum levels of STEC at these hours are up to 8 times higher than in the nighttime and exceed 160 TECU. The daily pattern of this STEC enhancement repeats from day to day and gradually drops together with increasing latitude. The minimal values observed at particular epochs can be treated as an approximation of VTEC at specific stations. In the case of TRO1, one can observe a second growth of STEC values during nighttime. This enhancement occurs only for selected days (November 9/10 and 10/11) and reaches up to 100 TECU in the slant direction. This phenomenon is probably related to the movement of dayside ionization across the polar cap which may result in increased levels of TEC at high latitudes on the nightside as well. From Fig. 2, it should also be noted that time series of STEC from GIMs is smooth and cannot provide any information on dynamic effects within the ionosphere. However, it can be assumed that such effects may be significant only for TRO1 station. Considering midlatitudes, the amplitude of ionospheric disturbances does not usually exceed a few TECU. Thus, their impact is much lower than the previously described effects.

Fig. 2
figure 2

Temporal variations of STEC from November 8–12, 2001

PPP is usually performed based on the ionosphere-free linear combination of observations or, equivalently, by estimating STEC parameters in the filter. Both of these approaches basically imply the same impact of higher-order ionospheric terms on estimated coordinates when STEC parameters are unconstrained. Thus, in the following analysis, all higher-order terms are computed for the ionosphere-free linear combination. It should be mentioned that this conversion modifies their values and causes a sign reversal as well. As expected, the temporal variations of the second-order ionospheric term are characterized by the same daily pattern as it was for STEC values (see Fig. 3). However, due to the dependence between the magnetic field lines and the direction of signal propagation as shown in (5), second-order values can be both positive and negative. Comparing the results at different stations, there is a reduction in second-order terms together with increasing latitude: the maximal positive and negative values equal to 19.5, −7.0 and 10.1, −2.6 mm for MATE and TRO1, respectively. These extreme values occur for low-elevation measurements oriented toward the north (positive) or south (negative). This is confirmed using an example of spatial distribution of second-order terms at station MATE (Fig. 4). For clarification purposes, the time span used in this figure (9:00–15:00 GPST, November 9) corresponds only to period of maximal STEC values. As a result, the application of the second-order correction leads to either shorter or longer carrier-phase observations depending on their azimuth. Finally, with longer carrier-phase measurements coming from the south, positioning results should be affected by a superposition of positive shift in estimated latitude and negative one for height. The strongest impact on these position components is expected to be observed at MATE. Assuming a symmetrical sky distribution of satellites with respect to N–S axis, the estimated longitude should be unchanged.

Fig. 3
figure 3

Temporal variations of second-order ionospheric terms at L1 frequency, November 8–12, 2001

Fig. 4
figure 4

Spatial distribution of second-order ionospheric terms at station MATE for hours 9:00–15:00 of GPS time, November 8, 2001

Figure 5 demonstrates the corresponding results for the third-order ionospheric term. According to (6) and (16), and considering the sign reversal for the ionosphere-free signals, these values can only be negative and are approximately three times smaller than the second-order term. During nighttime, the third-order term does not exceed a few tenths of mm. Thus, their impact for such periods is expected to be lower than the noise of phase observations and probably can be ignored for this region even in very precise applications. During the period of maximal electron concentration, the third-order term reaches up to −5.9 and −3.6 mm at MATE and TRO1 stations, respectively. However, such values are observed only at low-elevation angles. In the case of satellites observed at high elevations, the third-order term is basically lower than 1.0 mm as shown in Fig. 6. The application of these corrections implies shorter carrier-phase observations and should result in a positive shift of the height. With a symmetrical satellite sky distribution, there is no change to be expected in the horizontal plane.

Fig. 5
figure 5

Temporal variations of third-order ionospheric terms at L1 frequency, November 8–12, 2001

Fig. 6
figure 6

Spatial distribution of third-order ionospheric terms at station MATE for hours 9:00–15:00 of GPS time, November 8, 2001

Description of the PPP processing methodology

Precise point positioning uses measurements collected from a single GNSS receiver to estimate the user position, the receiver clock offset at every epoch and a residual tropospheric delay in the zenith direction often modeled as a random walk process. To obtain the utmost accuracy, both carrier-phase and code observations are used, meaning that states modeling carrier-phase ambiguities must also be added to the PPP filter. When uncombined, also called “raw,” measurements are used, slant ionospheric delay parameters are required, and DCB parameters can also be incorporated to the filter. This model has already been described mathematically by (1) and (2). In this work, only the first- and second-order ionospheric effects were modeled, leading to the simplified model of (9) and (10).

The PPP technique relies on precise satellite orbit and clock corrections. Our analysis was conducted with products provided by the Centre National d’Études Spatiales (CNES) as a part of the repro2 initiative (Rebischung et al. 2016). All error sources affecting GNSS observables were also modeled following Kouba (2015) and the latest International Earth Rotation and Reference Systems Service (IERS) conventions (Petit et al. 2010). Among these error sources are the transmitting and receiving antenna phase-center offsets and variations, the phase windup effect, relativistic corrections, earth tides, ocean loading, etc. Second-order ionospheric effects were taken into account in the computation of the CNES satellite clock corrections, and modeling such effects at the user end assures full compatibility with the products. Satellite DCBs were provided by the Center for Orbit Determination (CODE) (Schaer 1999).

The software used for the tests presented in the subsequent section is a development version of Natural Resources Canada (NRCan) PPP software, allowing for ambiguity resolution. Ambiguity resolution, consisting of fixing carrier-phase ambiguity parameters to integer values, could be achieved thanks to the widelane satellite offsets provided as a part of the CNES satellite clock products (Loyer et al. 2012). To handle receiver-dependent biases, an ambiguity datum is defined within the software to allow for the estimation of separate clock parameters for each signal. The details of this technique are out of the scope of this paper, and interested readers are referred to Collins et al. (2010) for more details. The benefits of ambiguity resolution are typically an improvement in the east component in static mode and an overall improved stability of the position estimates in kinematic mode.

To allow for an explicit estimation of the receiver DCB, slant ionospheric delay parameters were constrained using TEC values derived from GIMs. Since the latter exhibit temporally correlated errors, constraints were only applied at the first epoch of a satellite pass or at the epochs following cycle slips. The standard deviation associated with these pseudo-observations is derived from the RMS maps contained in the IONEX format (Schaer et al. 1998), scaled by the single-layer mapping function. According to studies by Hernández-Pajares et al. (2009) and Rovira-Garcia et al. (2016), GIMs provided by the IGS typically correct about 80–85% of the slant ionospheric delay. For this reason, the standard deviation associated with the constraints was inflated to 20% of the delay in the event that their value was smaller than this threshold. This strategy was implemented to avoid over-constraining of the slant ionospheric delay parameters which would negatively impact the position estimates.

Results

Four positioning test cases were computed for each station on all days as summarized in Table 2. The first solution, labeled NO_CORR, simply omits higher-order ionospheric corrections. The second solution uses the RINEX_HO utility to remove second- and third-order ionospheric effects based on a global ionospheric map. The third solution, referred to as PPP, estimates first- and second-order ionospheric effects directly into the PPP filter without special considerations for DCBs. Finally, the last solution (PPP + GIM) uses a GIM to allow for the estimation of station DCBs directly into the PPP filter.

Table 2 Positioning test cases

We first look at kinematic solutions which highlight intraday position variations caused by higher-order ionospheric effects. Figure 7 demonstrates the epoch-by-epoch differences between the RINEX_HO and the NO_CORR solutions for station HERS on November 8, 2001. A bias in the latitude (north) component reaching 3 mm is clearly apparent between 08:00 and 20:00 GPST, a period where large STEC led to cm-level second-order ionospheric delays (see Figs. 2, 3). The height also is slightly affected, while no impact is seen on the longitude. These results show similar trends as previous studies presented by Hernández-Pajares et al. (2007) for instance.

Fig. 7
figure 7

Position differences between the RINEX_HO and NO_CORR kinematic PPP-AR solutions for station HERS on November 8, 2001

When comparing the PPP and RINEX_HO solutions for the same station in Fig. 8, the latitude variations observed in the previous figure have vanished. It is thus possible to conclude that the method of estimating STEC parameters in the PPP solution accounts for intraday variations of positions in the same manner as the RINEX_HO corrections. On the other hand, obvious biases of 2 mm in latitude and 4 mm in height are now contaminating the solution. It is quite concerning that these biases are larger than the impact of higher-order ionospheric effects. The cause for these discrepancies can be attributed to improper modeling of the receiver DCB, as demonstrated hereafter.

Fig. 8
figure 8

Position differences between the PPP and RINEX_HO kinematic PPP-AR solutions for station HERS on November 8, 2001

Without external ionospheric information, the PPP filter cannot allow for the estimation of the receiver DCB parameter. As explained in a previous section, this quantity propagates into the receiver clock offset, slant ionospheric delays and carrier-phase ambiguities when estimating only first-order ionospheric delays. However, when considering higher-order effects, the receiver DCB also propagates into the position estimates. Adding constraints on STEC parameters using a GIM permits explicit estimation of the DCB and, therefore, leads to unbiased position estimates. To prove this affirmation, Fig. 9 shows the kinematic position differences for test cases PPP + GIM and RINEX_HO, again for station HERS on November 8, which are now zero mean. This plot thus demonstrates the feasibility of estimating higher-order ionospheric effects within the PPP filter. It is important to emphasize that constraints from the GIM were only applied in the filter at the first epoch of each satellite arc, and not at every epoch of the data set, as required by the RINEX_HO utility.

Fig. 9
figure 9

Position differences between the PPP + GIM and RINEX_HO kinematic PPP-AR solutions for station HERS on November 8, 2001

To get a better understanding of the conclusions drawn from the previous examples, four stations (HERS, MATE, ONSA and TRO1) were processed over a period of 5 days in static mode, as originally presented by Elmas et al. (2011). Figure 10, showing position differences between the RINEX_HO and the NO_CORR test cases, again highlights that the latitude component is mainly affected by higher-order ionospheric effects with station positions shifting northward. The impact of higher-order ionospheric effects over a 24-h static session is obviously smaller than in kinematic mode. Taking Fig. 7 as an example, even though the maximal bias in the latitude component reaches up to 3 mm, the average over the entire session is approximately 1 mm which corresponds to the value displayed in Fig. 10 for station HERS on November 8. The magnitude of the position differences for each station correlates quite well with the magnitude of higher-order ionospheric effects as presented in Figs. 3 and 5, with the largest biases for low-latitude station MATE and the smallest biases for high-latitude station TRO1. These results differ significantly from the ones presented by Elmas et al. (2011), although the consistent day-to-day repeatability of our position differences tends to validate our results.

Fig. 10
figure 10

Differences between the RINEX_HO and NO_CORR static PPP-AR solutions for November 8–12, 2001

Figure 11 illustrates static position differences between the PPP and RINEX_HO test cases. As initially pointed out in Fig. 8 for station HERS, biases exist in the PPP solutions due to an improper handling of the receiver DCB. The magnitude of the biases is especially large and constant for stations HERS and ONSA. To understand this phenomenon, receiver DCBs were computed for each station on each of the 5 days using the PPP + GIM approach. The estimates, along with a measure of their day-to-day variability, are presented in Table 3. Interestingly, the magnitude of the DCBs for stations HERS and ONSA is indeed quite large, confirming the hypothesis that receiver DCBs propagate into position estimates when estimating higher-order ionospheric effects without external constraints in the PPP filter.

Fig. 11
figure 11

Differences between the PPP and RINEX_HO static PPP-AR solutions for November 8–12, 2001

Table 3 Differential code bias (DCB) estimates

Position differences between the PPP + GIM and RINEX_HO test cases are mainly at the sub-mm level, as shown in Fig. 12. At this point, it is not possible to tell which of the two test cases gives better results. It is known that errors originating from the STEC values computed from the GIM can affect the validity of the higher-order corrections computed using the RINEX_HO utility. Nonetheless, constraining STEC parameters in the PPP filter is also quite complex, especially during active ionospheric conditions. The quality indicators provided in the GIMs are often not representative of the STEC errors which could lead to over-constraining of the STEC parameters, resulting in position biases. The complexity in estimating the receiver DCB parameter during ionospheric storms has also been raised by several authors; see for instance Zhang et al. (2009). The day-to-day variability of the estimates provided in Table 3 confirms this issue. The height discrepancies observed for stations MATE and TRO1 on a few days (see Fig. 12) correlate well with larger DCB deviations from the mean.

Fig. 12
figure 12

Differences between the PPP + GIM and RINEX_HO static PPP-AR solutions for November 8–12, 2001

Conclusion

Recent studies have shown that higher-order ionospheric terms should be modeled to attain the utmost accuracy in GNSS-based applications. The first-order ionospheric term is linearly dependent on the slant total electron content and can be easily eliminated or estimated using dual-frequency observations. Even though the second-order term is also linearly dependent on STEC, it is a function of the magnitude of the geomagnetic field and its orientation with respect to signal propagation. For this reason, second-order ionospheric effects are typically corrected at the observation level using STEC values taken from global ionospheric maps or computed from geometry-free linear combinations of GNSS observations using receiver and satellite differential code biases as external inputs.

An alternative approach for the estimation of the first- and second-order ionospheric terms in precise point positioning has been investigated. Different from standard approaches, this method relies on the estimation of STEC in the positioning filter. A theoretical investigation revealed that the DCB parameter, which is not an estimable parameter without the use of external ionospheric information or a mathematical representation of VTEC, propagates into position estimates when including second-order effects in the computation of the STEC partial derivatives. To solve this issue, we introduced additional constraints on STEC parameters using GIMs.

In order to examine the efficiency of the proposed approach, data sets from selected IGS stations were processed using four PPP test cases: (1) without higher-order ionospheric corrections, (2) PPP with higher-order ionospheric corrections (second- and third- orders without ray bending effects) derived from the RINEX_HO utility, (3) with the first- and second-order corrections estimated into the PPP filter and (4) with the first- and second-order corrections estimated into the PPP filter with constraints on STEC parameters. It has been confirmed that rigorous modeling of higher-order ionospheric terms affects the PPP solution on the order of up to a few millimeters with respect to neglecting these effects. Estimating higher-order ionospheric effects in the PPP solution without accounting for the DCB resulted in biases of a few millimeters in the position, often exceeding the impact of higher-order ionospheric effects for stations with large DCB values. Finally, introducing constraints from a GIM allowed estimation of both first- and second-order effects in the PPP filter, with positioning results comparable to using the RINEX_HO utility.

In summary, estimating second-order ionospheric effects within the PPP filter allows for an integrated mean of handling ionospheric effects as opposed to running a parallel process to compute STEC. Since STEC estimation is based on actual observations at the station, it is capable of providing more precise STEC values than using global ionospheric maps. On the other hand, it can be complex to constrain STEC parameters in the presence of disturbed ionospheric conditions, which could negatively impact the position estimates. For this reason, we believe that there is no strong argument to recommend explicit estimation of higher-order effects in the PPP filter. Still, if the receiver DCB can be provided as an input to the PPP filter, this method should be a very interesting alternative to existing approaches.