Introduction

Carrier phase is the primary observable for precise data processing, such as precise point positioning (PPP) (Malys and Jensen 1990; Zumberge et al. 1997; Kouba and Héroux 2001), real-time kinematic positioning (Takasu and Yasuda 2010), precise orbit determination (Guo et al. 2016a), and total electron content map generation (Hernández-Pajares et al. 2009). Although carrier-phase measurements are much more precise than pseudorange measurements by a factor of about 100, they are ambiguous by an integer number of cycles. Only when the ambiguity parameter converges to a certain accuracy or the ambiguity is correctly fixed to the integer, can the carrier phase act as a very precise carrier range and greatly improve the position estimation. However, the ambiguity estimation can be interrupted by the cycle slip which is defined as a discontinuity or a jump in the GNSS carrier-phase measurements by an integer number of cycles. A carrier-phase cycle slip is an unpredictable but frequently encountered phenomenon.

We focus on the cycle slip processing in real-time dual-frequency GNSS PPP. PPP employs only observations from a single receiver and must take care of tropospheric delays and ionospheric delays. Usually, a convergence time of typically tens of minutes is required to achieve a solution with an expectant accuracy because the ambiguities converge to their true values slowly (Li and Zhang 2014). In case of severe signal loss, the cycle slips will lead to a re-convergence time of up to tens of minutes (Geng et al. 2010). Even if cycle slips only occur in the observations of a few satellites or epochs, the solution can be significantly degraded with the introduction of new ambiguities introduced. Therefore, the discontinuities in GNSS carrier-phase signals are undesirable and expected to be repaired to maintain the continuity of high-precision solutions.

Basically, there are two approaches to deal with cycle slips. One is to introduce additional ambiguity parameters to the functional model. This is equal to the re-initialization of these ambiguities. The second approach is to repair the cycle slips at the epoch in question directly. This is certainly the more desirable option compared to the first one, especially when the observation redundancy is not high enough and the solution is vulnerable to the cycle slip. Many cycle slip detection and repair methods for a single receiver have been proposed since the early 1980s. TurboEdit algorithm, using the Hatch–Melbourne–Wübbena (HMW) linear combination (Hatch 1982; Melbourne 1985; Wübbena 1985) together with the carrier-phase geometry-free combination, was the first popular method applied to detect and repair cycle slips (Blewitt 1990). It is generally useful in post-processing with calm ionospheric conditions (Miao et al. 2011; Liu 2011). Geng et al. (2010) developed a method where the ionospheric delays are predicted to the succeeding epochs to accelerate the ambiguity resolution in case of re-convergences. Subsequently, narrow-lane ambiguities can be rapidly resolved under the tight constraints derived from the ionosphere-corrected unambiguous wide-lane measurements. This method added a parallel processing of ionosphere generation and wide-lane ambiguity resolution in addition to the ionospheric-free ambiguity-fixed PPP. The dual-frequency cycle slip correction method based on a time-differenced model has been studied by Banville et al. (2010), Zhang and Li (2012), and Banville and Langley (2013). In their methods, the time-differenced observations using two adjacent epochs were processed in an integrated adjustment to estimate the integer cycle slip, ionospheric variations, and other parameters. Furthermore, the cycle slip correction with the time-differenced model for a single station with the aid of inertial navigation system (INS) measurements has been studied by Du and Gao (2012). The reader interested in the application of the time-differenced cycle slip correction method in triple-frequency PPP can refer to Zhang and Li (2016) and Xiao et al. (2018); in case of single-frequency PPP, please refer to Carcanague (2012).

As stated above, the TurboEdit algorithm estimates the cycle slips by satellite. The method of using the predicted ionosphere is appropriate for ambiguity-fixed PPP. The time-differenced processing executes the cycle slip estimation in a separate processing step, which is parallel to the PPP calculation. It only employs one epoch of data after the interruption and treats the position and the tropospheric delay of the latest epoch without cycle slip as a deterministic variable. However, the time-differenced model may not be strong enough for fixing all cycle slips with only two adjacent epochs (Zhang and Li 2012, 2016). In this case, the main PPP will initialize the corresponding ambiguity immediately. Therefore, it is difficult to integrate the multi-epoch observation information to enhance the cycle slip estimation using the time-differenced method.

This study proposes a new Kalman-filter-based undifferenced cycle slip estimation and resolution method in real-time PPP based on the undifferenced and uncombined observation model (Gu et al. 2015; Guo et al. 2016b; Li et al. 2013). Compared with the time-differenced processing, it does not need an extra parameter estimation system running parallel to the main PPP but integrates the cycle slip estimation into the PPP model. The cycle slip parameters are introduced and estimated together with other PPP parameters, such as position, receiver clock, ionospheric delay, and ambiguities when possible cycle slips are detected. Therefore, the new method enables multi-epoch cycle slip processing in real-time mode. We aim to achieve rapid re-convergence and improve the performance of real-time PPP with the proposed method.

We first introduce the basic observation model including the cycle slip in the parameter vector, followed by a description of the details of the undifferenced cycle slip detection and estimation method based on the undifferenced and uncombined PPP model. Results of repairing simulated and real cycle slips using the proposed approach are then presented. Finally, the main points of this study are summarized.

Mathematical model

The functional models describing the code and carrier-phase observables are first given as:

$$P_{r,j}^{s} = \rho_{r}^{s} + c({\text{d}}t_{r} - {\text{d}}t^{s} ) + m_{r}^{s} \cdot zwd_{r} + \gamma_{j} I_{r}^{s} + B_{r,j}^{{}} - B_{j}^{s} + e_{r,j}^{s}$$
(1)
$$L_{r,j}^{s} = \rho_{r}^{s} + c({\text{d}}t_{r} - {\text{d}}t^{s} ) + m_{r}^{s} \cdot zwd_{r} - \gamma_{j} I_{r}^{s} + \lambda_{j} {\text{CS}}_{r,j}^{s} + \lambda_{j} (N_{r,j}^{s} + b_{r,j} - b_{j}^{s} ) + \varepsilon_{r,j}^{s}$$
(2)

where s and r identify the GNSS satellite and receiver, respectively; the subscript j refers to a given frequency; L is the carrier-phase measurement (m); P is the code measurement (m); \(\rho\) is the geometric distance between the phase centers of the satellite and receiver antennas, including displacements due to earth tides and ocean loading and relativistic effects (m); c is the speed of light; \({\text{d}}t_{r}\) and \({\text{d}}t^{s}\) are the clock errors of receiver and satellite, respectively; zwd is the tropospheric zenith wet delay (ZWD); m is its mapping function; \(\gamma_{j}\) is a \({\text{constant}} = f_{1}^{2} /f_{j}^{2}\), where fj is the frequency of the Li carrier; \(I_{r}^{s}\) is the slant ionospheric delay at the L1 frequency; N is the integer ambiguity; CS is the integer cycle slip; \(b_{r,j}\) and \(b_{j}^{s}\) are the receiver-dependent and satellite-dependent uncalibrated phase delays at the j frequency, respectively; \(\lambda_{j}^{{}}\) is the wavelength of the frequency j; \(B_{r,j}\) is the signal delay from receiver antenna to the signal correlator in the receiver; \(B_{j}^{s}\) is signal delay from satellite signal generation to signal transmission from satellite antenna; e is the pseudorange measurement noise; and ε is measurement noise of carrier phase. Other important errors, such as hydrostatic tropospheric delay, relativistic effect, and tide loading, are assumed to be precisely corrected by their corresponding models.

We parameterize the cycle slip in the undifferenced PPP model using original observables. The cycle slip is fixed to zero and not involved in filter calculation when no cycle slip is detected. Otherwise, the ambiguity information is retained, and the cycle slip is estimated together with other unknowns, such as the coordinate, ZWD, slant ionospheric delay, and ambiguities. After applying the precise satellite clocks, the linearized observation equations can be written as (Chen et al. 2015; Guo et al. 2016b; Li et al. 2018):

$$P_{r,j}^{s} = \bar{\rho }_{r}^{s} + c \cdot \bar{t}_{r} + \gamma_{j} \cdot \bar{I}_{r,1}^{s} + m_{r}^{s} \cdot zwd_{r} + e_{r,j}^{s}$$
(3)
$$L_{r,j}^{s} = \bar{\rho }_{r}^{s} + c \cdot \bar{t}_{r} - \gamma_{j} \cdot \bar{I}_{r,1}^{s} + m_{r}^{s} \cdot zwd_{r} + \lambda_{j} \cdot \bar{N}_{r,j}^{s} + \lambda_{j} \cdot {\text{CS}}_{j}^{s} + \varepsilon_{r,j}^{s}$$
(4)

where \(\bar{\rho }_{r}^{s}\) is the geometric distance with satellite orbit and clock offset fixed using the IGS precise product; \(\bar{t}_{r}\) and \(\bar{I}_{r,1}^{s}\) are the actually estimable receiver clock error and L1 ionospheric delay which absorb the ionospheric-free pseudorange signal delays at the receiver and satellite side, respectively; and \(\bar{N}_{r,j}^{s}\) is the actually estimable ambiguity absorbing the uncalibrated phase delays (Li et al. 2018). Equations (3) and (4) provide a generalized parameterization for GPS, BeiDou, and Galileo which broadcast their signals with code division multiple-access techniques. Different from these systems, GLONASS adopts frequency division multiple-access techniques to distinguish the signals from individual satellites. Hence, the pseudorange and carrier-phase hardware delays are also frequency dependent and the inter-frequency biases (IFBs) arise (Jokinen et al. 2013; Reussner and Wanninger 2011; Sleewaegen et al. 2012). In fact, the satellite-related parameters \(\bar{I}_{r,1}^{s}\), \(\bar{N}_{r,1}^{s}\) and \(\bar{N}_{r,2}^{s}\) can fully absorb the IFB component while the common receiver clock parameter \(\bar{t}_{r}\) would be impacted by the ionospheric-free pseudorange IFB. Studies have demonstrated that the pseudorange IFB can reach several meters and significantly reduce the positioning accuracy and increase the convergence time (Chen et al. 2017; Zhou et al. 2018). We add a pseudorange IFB parameter for each GLONASS satellite, as suggested by Chen et al. (2017) and Zhou et al. (2018). Impacted by the IFBs, it is difficult to fix the GLONASS ambiguity for PPP, even for relative positioning. The GLONASS cycle slip parameter retains the integer property so that they can be estimated and fixed in our method.

In this study, the dual-frequency cycle slips in signals L1 and L2 are processed. It should be noted that the undifferenced and uncombined PPP model can also be used to deal with the triple-frequency cycle slips. For the cycle slip estimation with the time-differenced model, the ionospheric delay variation rather than the absolute ionospheric parameter is estimated. The variation between two epochs is usually about a few centimeters or more and cannot be neglected (Banville and Langley 2013; Zhang and Li 2012). The ionospheric variations can be derived by monitoring the change in the carrier-phase geometry-free combination. Then, a vector of constraint equations would be added to the filter as pseudo-observations of the ionospheric variations. In our PPP model, the ionospheric parameter at epoch t can be expressed as:

$$i^{s} \left( t \right) = i^{s} \left( {t - 1} \right) + \Delta i^{s} \left( t \right)$$
(5)

where \(\Delta i^{s} \left( t \right)\) is the ionospheric variation between epochs t − 1 and t. With the between-epoch variations of the geometry-free carrier-phase combination from the last ten epochs, a linear function is used to model the ionospheric variation over time. Considering the ionospheric prediction error often increases when the elevation angle is low, an elevation-dependent factor would be used to amplify the process noise (Geng et al. 2010).

All the estimated parameters in our PPP models include:

$$X = [x,\;y,\;z,\;\bar{t}_{r} ,\;zwd_{r} ,\;\bar{I}_{r,1}^{s} ,\;{\text{CS}}_{r,1}^{s} ,{\text{CS}}_{r,2}^{s} ,\;\bar{N}_{r,1}^{s} ,\;\bar{N}_{r,2}^{s} ,{\text{IFB}}^{s} ({\text{GLO}})]^{\text{T}}$$
(6)

In our method, a Kalman filter is used to estimate the unknown parameters. The Kalman filter provides float estimates of the cycle slip parameters, along with their variance–covariance matrix. This information can be used to fix the cycle slips to the integer using the methods developed for ambiguity resolution in relative positioning. In this study, the popular LAMBDA method (Teunissen 1995) is employed to search for the best integer cycle slip candidates.

Cycle slip detection

A cycle slip must be correctly detected before it can be fixed. With dual-frequency signals, one type of detector is based on the carrier-phase geometry-free combination. It removes the geometry and all non-dispersive effects and provides a very precise test signal with the multi-path and noise being less than 1 cm. The other type is the HMW combination of code and carrier-phase measurements (Blewitt 1990), which cancels not only the non-dispersive effects but also the ionospheric refraction. The resulting test signal is affected by the code multi-path and pseudorange noise, which can reach up to several meters. It is difficult to detect the small cycle slips of one to two cycles using the HMW combination (Cai et al. 2013). Both combinations are insensitive to some specific cycle slip combinations.

Figure 1 illustrates the cycle slip detection strategy in our procedure. The geometry-free and HMW combinations are used in the preprocessing step to detect large cycle slips. Some specific cycle slip combinations may not be identified in this first step. Hence, after the standard PPP is performed, the detection, identification, and adaptation (DIA) procedure is further applied to find out the remaining cycle slips during the residual check process (Teunissen 1990). The detected cycle slips are added into the filter as unknown parameters. Noted that the large observation noise may lead to the false alarm of the continuous carrier phases. The false alarm means that the detection threshold is exceeded though no cycle slip occurred. Then, the cycle slip detection based on statistical hypothesis tests provides an effective way to identify the false alarm. It does not rely on the assumption that the ionospheric delay varies smoothly over time. Statistical hypothesis tests using the residuals (Fujita et al. 2013) or the estimated cycle slip quantities (Banville and Langley 2013) in the Kalman filter can be adapted to detect cycle slips. With the estimated cycle slip parameters and their variance–covariance matrix, the cycle slip parameters of each satellite are verified by a Chi-square test in our procedure. For one satellite, if the cycle slip occurs on at least one frequency, the following testing quantities of the dual-frequency cycle slips should be significantly different from zero:

$$T_{c} = X_{\text{CS}}^{\text{T}} Q_{\text{CS}} X_{\text{CS}} \sim\chi^{2}$$
(7)

where XCS is the cycle slip parameter vector with its variance–covariance matrix \(Q_{{X_{\text{CS}} }}\). Otherwise, the hypothesis that the cycle slip does not occur can be accepted.

Fig. 1
figure 1

Flowchart of cycle slip detection in our PPP procedure

Integer estimation and validation for cycle slip

Users should carefully validate the integer cycle slip solution because acceptance of an incorrect integer will lead to an unacceptable positioning error. On the one hand, our procedure simultaneously employs the bootstrapping success rate and ratio test for integer cycle slip validation (Ji et al. 2010; Teunissen 1998). On the other hand, a strict integer validation threshold is suggested for reducing the probability of incorrectly fixing. In this study, the critical criterion of the ratio value and success rate is selected as 6.0 and 0.99, respectively. Using these cycle slip validation strategies, it is usually not easy to fix all cycle slips with only one epoch. If the cycle slips cannot be fixed with one epoch, the cycle slip correction based on the time-differenced model will end and the ambiguity arcs will be immediately initialized. Nevertheless, in our PPP model, the cycle slip estimation in the Kalman filter could be further enhanced using multi-epoch observations.

Another effective strategy to improve the cycle slip correction is to correct cycle slips using the concept of partial fixing (Wang and Feng 2013). The iterative partial subset selection strategy proposed by Li and Zhang (2015) is used to find the largest cycle slip subset which can pass the integer validation step. Subsequently, either the integer cycle slips for a subset of satellites or a set of the cycle slip integer linear combinations can be derived from the fixed solution. They can be used as a tight constraint to further improve the PPP parameter estimation. The integer cycle slips and the float ambiguity can be further combined to a new ambiguity using a transformation matrix to reduce the number of estimated parameters:

$$\left[ {X_{f1} ,X_{\text{AMB1}} } \right]^{\text{T}} = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 \\ 0 & 1 & 1 \\ \end{array} } \right] \cdot \left[ {X_{f0} ,X_{\text{CS0}} ,X_{\text{AMB0}} } \right]^{\text{T}}$$
(8)

where the subscripts “0” and “1” mean the parameter vector before and after transformation, respectively. XAMB denotes the ambiguity parameters, while Xf denotes the other parameters except for the cycle slips and ambiguities.

In fact, for some extreme cases, impacted by the large multi-path and low observation quality, some cycle slips cannot be resolved with sufficient confidence even with dozens of epochs. In this case, the cycle slip decorrelation and the searching process would greatly increase the computation cost. Therefore, if the cycle slip cannot be resolved with observations from more than 10 min or 20 epochs, we will also eliminate the cycle slip parameter by combining the float cycle slip with the corresponding ambiguity using the transformation matrix above. This process is equivalent to initializing the corresponding ambiguity as done in traditional PPP without cycle slip fixing.

Experiment and analysis

The concepts presented in this study have been implemented in the cycle slip processing module of the Kalman-filter-based PPP procedure. An evaluation of the proposed cycle slip correction method using GPS and GLONASS measurements collected under various circumstances with both simulated and actual cycle slips was conducted. Specifically, three groups of experiments were designed: (I) PPP using the International GNSS Service (IGS) (Dow et al. 2009) sites with simulated cycle slips for all satellites every 1 h in addition to the actual cycle slip; (II) PPP using IGS stations experienced simultaneous cycle slips for all satellites at some epochs; (III) PPP using real and simulated kinematic data from a car.

The final GPS and GLONASS satellite orbit and clock products provided by the European Space Agency (ESA) were used. All the observations were weighted according to their elevation, and the elevation cutoff angle is set to 5°. The standard deviation of GPS and GLONASS carrier-phase measurements at zenith was set as 3 mm. The relative weighting of code and carrier-phase observations was chosen as 1/1002. For the Kalman filter, the spectral density value for the ZWD parameter was empirically set to 10−8 m2/s. The kinematic position coordinates and the receiver clock bias were modeled as white noise.

Description of experiment data

Static GNSS measurements recorded in 30-s intervals during DOY 01–10, 2017, from 18 IGS stations were used for experiment I. Table 1 shows the site information of these 18 stations. Both simulated and real-existing cycle slips were processed. For the simulation, the (1, 1) cycle slip was simultaneously added on the L1 and L2 carrier phases for all observed GNSS satellites at every 1-h epoch.

Table 1 Site information of 18 user stations for experiment I

We also processed all the IGS stations during DOY 1–10 in 2017 in kinematic PPP mode with forward processing. The GPS and GLONASS stations which suffered from re-convergence caused by simultaneous cycle slips for all satellites at some epochs were picked out. Among them, there are ten stations experiencing re-convergence for at least 5 days. Static GNSS measurements from these ten stations were used for experiment II. The distribution of these stations is shown in Fig. 2 marked by green triangles, and the site information of these stations is given in Table 2.

Fig. 2
figure 2

Distribution of the IGS stations used for experiment I (orange diamonds) and experiment II (green triangles)

Table 2 Site information on ten user stations for experiment II

A kinematic test with a car was conducted along the road in Henan province, China, which started at the GPS time 00h06 m of April 28, 2011, and lasted for about 70 min with a sampling rate of 1 s. The receiver type is “TRIMBLE R7” and the antenna type is “NOV702GG NONE.” The horizontal trajectory and the velocity of the car test are shown in Figs. 3 and 4, respectively. The car moved within an area of 3.5 km × 6 km, with a velocity less than 35 m/s.

Fig. 3
figure 3

Horizontal trajectory of the car test

Fig. 4
figure 4

Velocity of the car test in the east (top), north (middle), and up (bottom) direction, respectively

A receiver of the same type was set up within 3.1 km distance as a base station. The base station had an observation period of about 5.5 h. We calculated the base station position using our PPP procedure, online AUSPOS, and open-source desktop software GLAB (v5.3.0) (Sanz et al. 2012), respectively. The averaged result was considered as the reference coordinate of the base station. The coordinates of the moving vehicle from the double-differenced solution were assumed to be true for the evaluation of the PPP results.

Experiment I

First, for illustrating the effectiveness of the undifferenced and uncombined PPP method for integer cycle slip estimation, Fig. 5 shows the estimated cycle slips time series for each GPS satellite observed at station ZECK, on DOY 10, 2017. The cycle slips were estimated as float values and not fixed. For a clear display, the cycle slips are shifted by an integer constant. Satellite G21 went below the elevation cutoff so that it did not cover the whole session. It is shown that all estimated cycle slip parameters naturally converge to integer values. Generally, the estimated cycle slips have a fractional part of less than 0.1 cycles except for the cycle slips of G11. G11 is a rising satellite whose cycle slips have a fractional part of about 0.3 cycles. In addition, it is found that for most satellites, the L1 and L2 cycle slips fractional parts almost overlap completely. This indicates that the wide-lane cycle slip is easy to be fixed because the wide-lane combination has a relatively long wavelength of 86 cm and is less impacted by unmodeled errors. Because of this advantage, the wide-lane cycle slip combination is usually the first to be fixed.

Fig. 5
figure 5

Estimated GPS cycle slips on L1 and L2 for the station ZECK on DOY 10, 2017. The value is shifted by an integer constant for a clear display. The dot and line refer to the cycle slips on L1 and L2, respectively

The typical PPP errors with and without cycle slip correction, taking the results from station ALGO on DOY 2, 2017, are shown in Fig. 6 as an example. The hourly re-initialization is observed in the coordinate time series. For these data, about 30 min are often needed for the position to converge to better than 10 cm precision following each re-initialization. However, the cycle slip correction solution is very stable after the first convergence. This is because the cycle slip can be immediately fixed with only one epoch of data after the interruption.

Fig. 6
figure 6

Coordinate errors in the east, north, and up directions for kinematic PPP for the observations from ALGO on DOY 2, 2017, without (top) and with (bottom) cycle slip correction

Figure 7 shows the other typical PPP errors with and without cycle slip correction, taking the results from station CAS1 on DOY 8, 2017, as an example. For this case, it is not easy to fix all cycle slips with only one epoch of data. There are four epochs (at 5, 7, 17, and 19 o’clock) when the 3D error is over 10 cm. This is because it takes more than one epoch (usually two to three epochs) to fix all cycle slips. However, once the cycle slips have been fixed, a position result with comparable accuracy to that before re-convergence can be obtained. This comparison reveals that our method can successfully fix the simulated cycle slips and maintain a continuous and high-quality PPP solution. As a comparison, the epoch-differenced cycle slip correction method is also adopted to these data. As shown in the middle panel, at those four epochs, the epoch-differenced method failed to fix all cycle slips with only one epoch so that the positioning errors in the next few minutes are larger than those in the bottom panel.

Fig. 7
figure 7

Coordinate errors of kinematic PPP without (top), with epoch-differenced (middle), and the proposed (bottom) cycle slip correction for the observations from CAS1 on DOY 8, 2017, in east, north, and up directions, respectively

The statistics results for the simulated hourly re-convergence for all test stations are given in Table 3. Among the stations, the cycle slip correction performance of CAS1 and MKEA is worse than that of the other eight stations: The averaged fixing rate is slightly lower and the average number of epochs needed is obviously more. CAS1 is located in a high-latitude region where the ionospheric variation is relatively hard to be accurately predicted due to the active ionospheric environment. The irregular ionospheric variation impacts the accuracy of the stochastic model and degrades the estimation of the cycle slip and other parameters (Banville and Langley 2013; Zhang and Li 2013). For station MKEA, the worse performance of cycle slip correction can probably be attributed to the fact that it has the smallest average number of visible satellites among the 18 test stations. Generally, for most stations, our cycle slip correction method can successfully fix the cycle slips for over 99.0% of the test epochs within 20 epoch observations.

Table 3 Cycle slip correction statistical results for experiment I, including the fixing rate, the average (Ave_Ep), and maximum (Max_Ep) required epoch number for a successful cycle slip fixing

Information on required number of epochs in the worst cases is also given in the last column of Table 3. Seven stations take at most ten epochs (5 min) to achieve a successful re-convergence. In addition to the less observations and larger ionospheric prediction errors, another factor, i.e., the strict integer validation threshold, probably leads to a longer time for a reliable cycle slip correction. Overall, there are 4.8 percentages of re-convergence epochs which need more than 8 min for re-convergence. For all stations, according to the average epoch number indicator, our cycle slip correction method can fix the cycle slip for 99.5% of the epochs with 1.5 epochs of observation data.

The longer the data sample rate is, the harder it is to predict the ionospheric variation accurately. For real applications, the GNSS data can often be recorded in a higher sample rate. Hence, to further analyze the efficiency of our cycle slip correction method for 1-s sample rate GNSS data, we also calculated the cycle slip-corrected kinematic PPP with the 1-s data from CAS1, KOUR, and MKEA. The best cycle slip correction performance, that is, a correct fixing rate of 100% and a Max_Ep of 1, was achieved by all three stations. The comparison between two sets of results, with the 30-s and 1-s sampling rate, respectively, again indicates that the ionospheric prediction accuracy is an important factor for a successful cycle slip correction. How to precisely model the spatial and temporal variation of the ionosphere is still an important issue for GNSS cycle slip processing and should be further studied in the future.

Experiment II

We further conducted the PPP with cycle slip correction for the IGS stations with real re-initialization. We first take the results from station FAA1 as a representative example to analyze the impact of the cycle slip correction on the positioning accuracy. The epoch-wise coordinate errors in three directions are plotted in Fig. 8. Four groups of positioning results from open-source GLAB and self-developed PPP procedure without and with cycle slip correction are compared. At the epochs 01:08:00, 13:59:30, and 22:33:30, obvious cycle slips occur in the carrier phase of all observed satellites. These severe cycle slips have also been confirmed by results produced by GLAB in panel (A). GLAB and our developed procedure take about 10–30 min to achieve the first convergence, and the re-convergence caused by the severe cycle slips. Generally, a faster re-convergence can be achieved in panel (B) than that in (A). This is because in the ionospheric-free PPP model is employed by GLAB, only a weak constraint on the troposphere can be used at the epoch with re-convergence. The re-initialization of the ionospheric-free ambiguity means ignoring the ionospheric temporal correlation. However, in our procedure, the temporal constraint from not only the tropospheric delay but also the ionospheric delay can be used. When a cycle slip occurs, the ionospheric delay can be predicted with a precision of several centimeters to accelerate the parameter estimation. The panel (C) presents the positioning errors with the epoch-differenced cycle slip correction algorithm applied. For the second and third re-convergence, the epoch-differenced method cannot fix the cycle slips for most satellites with only one epoch of data. The panel (D) presents the positioning errors with the proposed cycle slip correction algorithm applied. The required number of epochs is 1, 2, and 2 for the first, second, and third re-convergence, respectively, to repair all cycle slips. Therefore, rapid re-convergence can be realized instantaneously or within two epochs.

Fig. 8
figure 8

Coordinate errors of kinematic GPS + GLONASS PPP for FAA1 on DOY 8, 2017. Results are produced by GLAB, our procedure without cycle slip correction, with epoch-differenced, and our proposed cycle slip correction, respectively

The cycle slip correction statistical results for all test stations are given in Table 4. The averaged fixing rate of DAV1 and MAW1 in Antarctica was significantly lower than that of the other seven stations. They often succeed in re-convergence for 90–95% of the epochs and take about four to five epochs for a successful fixing. For BJNM, FAA1, and DS13, all cycle slips can be successfully fixed with only one to two epochs. Overall, our cycle slip correction method can successfully fix the cycle slips for 97.0% epochs using 2.5 epochs of data on average. Furthermore, we have calculated the 3D error RMS for each station. The RMS is calculated with all 3D errors from 01:00:00 to 23:59:30 (GPST) of all 10 days. The RMS without cycle slip correction is generally about 10–20 cm for most stations, while that with cycle slip correction usually ranges from 4 to 15 cm for all stations. This comparison clearly illustrates the significant impact of cycle slips on the PPP solutions as well as the great benefit brought by our cycle slip correction method. With a reliable cycle slip correction method, the number of the estimated ambiguity parameters in PPP can be greatly reduced.

Table 4 Cycle slip correction statistical results for experiment II

Experiment III

Plotted in Fig. 9 are the PPP position errors for a car with respect to the reference coordinates in east, north, and up directions, respectively. There are 4206 epochs and 221 of them contain cycle slips. In addition, we also simulated simultaneous cycle slips on all observed satellites at 00h30 m and 01h00 m. For the first 25 min, the number of usable satellites does not exceed eight for most epochs. The observation system redundancy is not strong enough. As a result, the solution is significantly impacted by the cycle slips. It is difficult to converge to a 3D accuracy better than 20 cm for the PPP without cycle slip correction. However, the convergence time of the cycle slip correction solution is 15.6 min. After convergence, it is observed that the PPP errors with cycle slip correction are closer to zero, especially in the east and up directions. In addition, it should be noted that a systematic bias exists in the up coordinate component for the PPP processing without cycle slip correction. This is because the tropospheric parameters did not converge adequately during such a short observation span with fragmentary ambiguity arcs. After connecting the short ambiguity arcs with cycle slip correction, one can see that almost no systematic biases exist in the three coordinate components. For this kinematic data, the cycle slip fixing rate of 100% is achieved and it takes only one to two epochs to fix the cycle slips.

Fig. 9
figure 9

Positioning error in east, north, and up directions, achieved by kinematic PPP without (top) and with cycle slip correction (bottom)

Also, the forward–backward-combined Kalman filter solution is calculated with and without cycle slip correction. The statistical values using all epochs of data are used to assess the kinematic positioning accuracy. The PPP solutions with cycle slip correction have the RMS values of 4.6, 3.1, and 7.8 cm in the east, north, and up directions, respectively. The corresponding improvement is about 24.3, 8.9, and 51.2% in three coordinate components compared with the solution without cycle slip correction. These results clearly show that not only the convergence time but also the positioning accuracy can be significantly improved by cycle slip correction in PPP with real kinematic data.

Conclusions and remarks

In this study, a new Kalman-filter-based undifferenced cycle slip estimation method using the undifferenced and uncombined PPP model is proposed. In our method, the detected cycle slip is introduced as the unknown parameter into the estimation together with other unknowns, such as position, receiver clock, ionospheric delay, and ambiguity. Then, the LAMBDA method and the concept of partial ambiguity resolution are employed to search the best integer candidates of the cycle slips. A strict integer validation threshold is suggested to reduce the probability of incorrect fixing. When it is not easy to fix all cycle slips with only one epoch data, one advantage of our method lies in that the multi-epoch observation information can be comprehensively made use of for reliable cycle slip estimation and fixing. Once the cycle slips are correctly determined, continuous PPP can be achieved instantaneously.

Those concepts have been tested and validated with three groups of experiments using GNSS data from a subset of stations operated by the IGS and a real vehicle kinematic dataset. Numerous experimental results showed that the proposed cycle slip correction method can correctly fix the cycle slips for more than 99.5% of the epochs suffering from re-initialization. On average, this method takes about 1.5–2.5 epochs of observations to fix the cycle slips and rapidly realize re-convergence. The applicability of our undifferenced cycle slip estimation method is expected to be further assessed with single-frequency and multi-frequency observations.

Generally, with less satellites and severer multi-path errors, it takes more epochs to successfully fix the cycle slip. If one satellite suffers from new cycle slip before the last cycle slip has been fixed, the last cycle slip correction fails and the corresponding ambiguity has to be initialized. Hence, it is still a great challenge for our cycle slip correction method, when there are a few observations and lots of cycle slips. To further improve cycle slip correction performance, and ensure continuous and stable PPP solution, it is suggested to fuse GPS with other constellation as well as other sensors, such as INS.