Introduction

The last decade has witnessed precise point positioning (PPP) to become a powerful technique with applications in many fields such as geodynamics, surveying, and precise orbit determination (Zumberge et al. 1997). However, most of these applications are executed in a post-processing model. Real-time PPP is not popular due to the long convergence time (as long as 30 min) to obtain centimeter-level precision (Kouba and Héroux 2001; Li and Zhang 2013). Moreover, under real-time kinematic conditions, cycle slips or even total loss of lock for all satellites are quite frequent in GPS data and re-convergence must be performed repeatedly. Frequent re-convergence considerably deteriorates the precision and even can totally undermine the feasibility of real-time PPP for many applications.

Thus, reliable PPP solutions depend on effectively resolving cycle slip and data gap issues. Extensive research has been conducted on cycle slip detection and fixing in baseline solutions (Bastos and Landau 1988; Gao and Li 1999; Colombo et al. 1999; Bisnath and Langley 2000; Kim and Langley 2001; Lee et al. 2003; Xu 2007). These methods are based on the double-differenced carrier phase observations, so they are not suitable for PPP. Blewitt (1990) made the first effort in editing the undifferenced carrier phase observations for PPP using the Hatch–Melbourne–Wübbena (HMW) (Hatch 1982; Melbourne 1985; Wübbena 1985) functions. However, this combination is vulnerable to code observation noise, and the geometry-free (GF) combination of L1 and L2 carrier phase observations has a short wavelength of 5.4 cm which is vulnerable to ionospheric variations. Banville and Langley (2009) developed a real-time cycle slip fixing method for PPP, which also used the epoch-differenced GF combination. Geng et al. (2010) predicted the ionospheric and tropospheric delays to accelerate the ambiguity resolution after data gaps in ambiguity-fixed PPP. Zhang and Li (2012) used the same atmospheric prediction strategy and an epoch-differenced model to fix cycle slip in dual-frequency PPP. Carcanague (2012) proposed an epoch-differenced method to repair cycle slip for single frequency GPS + GLONASS PPP and RTK.

As the preceding review shows, most studies on PPP cycle slip fixing focused on GPS alone, while little has been published for GPS + GLONASS. In this study, we focus on the cycle slip fixing success rate and reliability using GPS + GLONASS data. As a result of the frequency division multiple access (FDMA) strategy of GLONASS, simultaneously observed satellites have different wavelengths; distinct carrier phase and pseudorange inter-frequency bias (IFB) exists between different satellites. We propose a single-difference between epoch (SDBE) method to integrate GPS and GLONASS. Cycle slips can be regarded as the ambiguity differences between epochs, and the LAMBDA method is adopted to search the cycle slips. The GLONASS IFB is eliminated by SDBE, as opposed to differencing between satellites, so that GLONASS cycle slip can preserve integer nature. The inter-system bias (ISB) can also be eliminated by SDBE, enabling the algorithms to be combined, which is particularly suitable for severely blocked environments. The following section gives a detailed description of the integration method and the cycle slip resolution strategy. The proposed method is validated with simulated cycle slips and in real-time kinematic blocking circumstance in the subsequent section, followed by conclusions.

Method

An interchangeable integration method for GPS + GLONASS is presented in this section. The difference between satellites is conventionally applied to eliminate the receiver clock biases of GPS observations. However, this method is inapplicable for GLONASS, because it does either not eliminate receiver clock biases or causes the loss of the integer nature of ambiguities (Wang et al. 2001; Al-Shaery et al. 2013). Thus, we use the SDBE method to resolve cycle slips when integrating GPS and GLONASS for cycle slip fixing.

GPS + GLONASS PPP model

GNSS carrier phase and pseudorange measurements on frequency i(i = 1, 2) can be expressed as follows (Wang et al. 2001; Wanninger 2012):

$$ \begin{aligned} \mathop { \, \lambda }\nolimits_{i} \mathop \phi \nolimits_{i}^{j} & = \mathop \rho \nolimits^{j} + \mathop {c(t}\nolimits_{G} - \mathop t\nolimits^{j} ) - \mathop I\nolimits_{i}^{j} + \mathop T\nolimits_{i}^{j} + \mathop \lambda \nolimits_{i} \mathop N\nolimits_{i}^{j} + \mathop \varepsilon \nolimits_{\phi i}^{j} \\ \, \mathop P\nolimits_{i}^{j} & = \mathop \rho \nolimits^{j} + \mathop {c(t}\nolimits_{G} - \mathop t\nolimits^{j} ) + \mathop I\nolimits_{i}^{j} + \mathop T\nolimits_{i}^{j} + \mathop \varepsilon \nolimits_{Pi}^{j} \\ \mathop \lambda \nolimits_{i}^{k} \mathop \phi \nolimits_{i}^{k} & = \mathop \rho \nolimits^{k} + \mathop {c(t}\nolimits_{R} - \mathop t\nolimits^{k} ) - \mathop I\nolimits_{i}^{k} + \mathop T\nolimits_{i}^{j} + \mathop \lambda \nolimits_{i}^{k} \mathop N\nolimits_{i}^{k} + \mathop {\text{IFB}}\nolimits_{\phi }^{k} + \mathop \varepsilon \nolimits_{\phi i}^{k} \\ \mathop { \, P}\nolimits_{i}^{k} & = \mathop \rho \nolimits^{k} + \mathop {c(t}\nolimits_{R} - \mathop t\nolimits^{k} ) + \mathop I\nolimits_{i}^{k} + \mathop T\nolimits_{i}^{j} + \mathop {\text{IFB}}\nolimits_{P}^{k} + \mathop \varepsilon \nolimits_{Pi}^{k} \\ \end{aligned} $$
(1)

where the superscript j stands for a GPS satellite and k for a GLONASS satellite, ϕ is the carrier phase measurement, λ is the carrier phase wavelength, ρ is the geometric range, c is the speed of light in vacuum, t G and t R are the receiver clock biases for GPS and GLONASS, respectively, while t j and t k are for the satellite clock biases, I and T are the slant ionospheric and tropospheric delay, respectively, N is the integer ambiguity, P is the pseudorange observation, IFB ϕ and IFB P are the carrier phase and pseudorange IFB, respectively, and ɛ ϕ and ɛ P denote the unmodeled errors, i.e., multipath errors.

Applying the GPS and GLONASS precise satellite orbit and clock corrections, the ionosphere-free combinations of (1) are used for PPP with a Kalman filter (Zumberge et al. 1997; Kouba and Héroux 2001). The unknown parameters include coordinates, two receiver clock offsets of GPS and GLONASS, respectively, tropospheric zenith wet delay (ZWD), and float ambiguity parameters. The satellite clock errors are eliminated by virtue of using precise ephemeris products. The GLONASS carrier phase IFB is usually very stable over a long time (Wanninger 2012) and thus can be absorbed into the float ambiguity.

SDBE observation model for GPS and GLONASS cycle slip fixing

The satellite clock and orbital biases in the SDBE can be corrected with the real-time precise products. The phase windup effect caused by satellite can be modeled precisely (Wu et al. 1993); the part caused by the receiver antenna is the same for all satellites if the antenna rotates around its boresight (Zhang and Li 2012) and is absorbed by the receiver clock parameter. The GLONASS carrier phase and pseudorange IFB are very stable over a long time regardless of temperature changes (Yamada et al. 2010; Wanninger 2012; Al-Shaery et al. 2013; Chuang et al. 2013), so these biases are completely eliminated by SDBE, preserving the integer nature of cycle slips in SDBE model.

If neither rapid weather fronts nor large height variations occur for a low-dynamic receiver, the tropospheric environment around this receiver changes only slightly over several minutes (Gregorius and Blewitt 1999; Shan et al. 2007). So, the previously computed tropospheric delay values can be used to correct the present troposphere delay. If the satellite is continuously tracked, the epoch-differenced GF combination represents the ionospheric delay variation:

$$ \Delta {\text{GF}} =\Delta \phi_{1} \lambda_{1} -\Delta \phi_{2} \lambda_{2} =\Delta I_{1} (1 - {{f_{1}^{2} } \mathord{\left/ {\vphantom {{f_{1}^{2} } {f_{2}^{2} }}} \right. \kern-0pt} {f_{2}^{2} }}) $$
(2)

where Δ represents the difference between epochs and ΔI 1 is the ionospheric delay variation between successive epochs for the L1 frequency. Then, we can get the ionospheric delay variation velocity VI by:

$$ {\text{VI}} =\Delta I_{1} /\Delta T $$
(3)

where ΔT is the time interval between epochs. The ionospheric delay normally has a strong temporal correlation over a few minutes (Dai et al. 2003; Shi et al. 2012; Yao et al. 2013; Gu et al. 2013), and so, we can get the accurate ionospheric delay variation velocity based on a sliding window of a short term. If data gap occur, we can adopt this information to predict the ionospheric delay variation after the data gap:

$$ \Delta I_{1} = {\text{VI}} \cdot\Delta T. $$
(4)

If the gap is less than several minutes, centimeter prediction accuracy can be obtained (Geng et al. 2010; Zhang and Li 2012).

Considering the previous discuss, the epoch-differenced carrier phase and pseudorange observation equations in (1) can be written as:

$$ \begin{aligned} \mathop { \, \lambda }\nolimits_{i} \mathop {\Delta \phi }\nolimits_{i}^{j} & =\Delta \mathop \rho \nolimits^{j} + \mathop {c\Delta t}\nolimits_{G} + \mathop \lambda \nolimits_{i} \mathop {\Delta N}\nolimits_{i}^{j} + \mathop \varepsilon \nolimits_{{\Delta \phi i}}^{j} \\ \mathop { \,\Delta P}\nolimits_{i}^{j} & = \mathop {\Delta \rho }\nolimits^{j} + \mathop {c\Delta t}\nolimits_{G} + \mathop \varepsilon \nolimits_{{\Delta Pi}}^{j} \\ \mathop \lambda \nolimits_{i}^{k} \mathop {\Delta \phi }\nolimits_{i}^{k} & = \mathop {\Delta \rho }\nolimits^{k} + \mathop {c\Delta t}\nolimits_{R} + \mathop \lambda \nolimits_{i}^{k} \mathop {\Delta N}\nolimits_{i}^{k} + \mathop \varepsilon \nolimits_{{\Delta \phi i}}^{k} \\ \, \mathop {\Delta P}\nolimits_{i}^{k} & = \mathop {\Delta \rho }\nolimits^{k} + \mathop {c\Delta t}\nolimits_{R} + \mathop \varepsilon \nolimits_{{\Delta Pi}}^{k} \\ \end{aligned} $$
(5)

where ΔN is the cycle slip between the successive epochs.

The GLONASS receiver clock bias can be expressed as the sum of the GPS receiver clock bias and the ISB between GPS and GLONASS, thus:

$$ t_{R} = t_{G} + {\text{ISB}}_{R - G} $$
(6)

where ISB RG is the ISB between GPS and GLONASS defined by their clock products. Substituting (6) into (5), gives

$$ \begin{aligned} \mathop { \, \lambda }\nolimits_{i} \mathop {\Delta \phi }\nolimits_{i}^{j} & =\Delta \mathop \rho \nolimits^{j} + \mathop {c\Delta t}\nolimits_{G} + \mathop \lambda \nolimits_{i} \mathop {\Delta N}\nolimits_{i}^{j} + \mathop \varepsilon \nolimits_{{\Delta \phi i}}^{j} \\ \, \mathop {\Delta P}\nolimits_{i}^{j} & = \mathop {\Delta \rho }\nolimits^{j} + \mathop {c\Delta t}\nolimits_{G} + \mathop \varepsilon \nolimits_{{\Delta Pi}}^{j} \\ \mathop \lambda \nolimits_{i}^{k} \mathop {\Delta \phi }\nolimits_{i}^{k} & = \mathop {\Delta \rho }\nolimits^{k} + \mathop {c\Delta t}\nolimits_{G} + \mathop {c\Delta {\text{ISB}}}\nolimits_{R - G} + \mathop \lambda \nolimits_{i}^{k} \mathop {\Delta N}\nolimits_{i}^{k} + \mathop \varepsilon \nolimits_{{\Delta \phi i}}^{k} \\ \, \mathop {\Delta P}\nolimits_{i}^{k} & = \mathop {\Delta \rho }\nolimits^{k} + \mathop {c\Delta t}\nolimits_{G} + \mathop {c\Delta {\text{ISB}}}\nolimits_{R - G} + \mathop \varepsilon \nolimits_{{\Delta Pi}}^{k} \\ \end{aligned} $$
(7)

The ISB within one day varies with a standard deviation of <2.5 ns (Cai and Gao 2008); however, it is highly stable in a short term. The 30-s interval GPS and GLONASS receiver clock biases of 20 sites on DOY 1 in 2012 were calculated with back-smoothed PPP based on (1). The ISB for each site was then calculated by differencing the GPS and GLONASS receiver clock biases. Further, the 30-s interval ISB values are differenced between successive epochs, and the statistics are shown in Fig. 1.

Fig. 1
figure 1

Statistics of epoch-differenced GPS GLONASS inter-system bias (ISB) for all sites on DOY 1 in 2012

Figure 1 shows that the 30-s interval ISB has an average value of <0.0015 ns with a STD of <0.025 ns for each station. This means we can get the estimate of the SDBE ISB with very high precision. So, it is confirmed that the ISB is rather stable within a short time and can be eliminated by SDBE. This implies that only one parameter of receiver clock variation is needed for combination of GPS and GLONASS, i.e., Δt G  = Δt R . Thus, the equation for both systems can be written as follows:

$$ \begin{aligned} \mathop \lambda \nolimits_{i}^{q} \mathop {\Delta \phi }\nolimits_{i}^{q} & = \mathop {\Delta \rho }\nolimits^{q} + \mathop {c\Delta t}\nolimits_{G} + \mathop \lambda \nolimits_{i}^{q} \mathop {\Delta N}\nolimits_{i}^{q} + \mathop \varepsilon \nolimits_{{\Delta \phi i}}^{q} \\ \mathop { \,\Delta P}\nolimits_{i}^{q} & = \mathop {\Delta \rho }\nolimits^{q} + \mathop {c\Delta t}\nolimits_{G} + \mathop \varepsilon \nolimits_{{\Delta Pi}}^{q} \\ \end{aligned} $$
(8)

where q represents a GPS or GLONASS satellite. In this model, only one clock variation needs to be estimated for both GPS and GLONASS. We refer the two systems as being tightly integrated. Such property is very useful when satellites are severely blocked and a few satellites are tracked by a system, e.g., four GPS satellites and only one GLONASS satellite. It is necessary to properly weight the observations in (8); the precision of raw phase observation is assumed 1 cm, and the one for the raw pseudorange is 1 m. Also, elevation-dependent measurement weighting is considered as:

$$ p = \left\{ {\begin{array}{*{20}c} 1 & {\beta \ge 30^\circ } \\ {{ \sin }(\beta )} & {10^\circ < \beta < 30^\circ } \\ \end{array} } \right. $$
(9)

where p is the weight of measurement and β is the satellite elevation angle in degree. The cutoff elevation angle is set as 10° to exclude satellite with large multipath errors.

This method has the advantage that integer cycle slip resolution will benefit from using the entire satellite geometry. The estimates and covariance matrix of the float cycle slips can be obtained using the least squares adjustment with both the carrier phase and the pseudorange observations. If all satellites lose lock, a converged solution of tropospheric delay is needed to correct the tropospheric delays in model (8). If a portion of the satellites have no cycle slips, we constrain their cycle slip values to zeros, which is helpful for repairing remaining cycle slips.

Searching integer cycle slips

The LAMBDA method is popular and effective to search integer ambiguity (Teunissen 1995) and is also applied to resolve the integer cycle slip in this study. Since the receiver clock bias will not be eliminated by SDBE in this study, there is a linear dependency between the receiver clock bias and the cycle slips, so a singularity exists in the integer least squares adjustment. Since the pseudoranges are assigned with a weight lower by four orders compared to the carrier phases, they will have much smaller contribution to the LAMBDA object function than the carrier phase. So for clarity, we give the LAMBDA cycle slip search object function expressed with only the carrier phase observations:

$$ \mathop {\hbox{min} }\limits_{z} \mathop {(l - Hx - By)}\nolimits^{T} \mathop Q\nolimits^{ - 1} (l - Hx - By) $$
(10)
$$ B = \left( {\begin{array}{*{20}c} 1 & {} \\ \vdots & {I*\lambda } \\ 1 & {} \\ \end{array} } \right),\quad y = \left( {\begin{array}{*{20}c} t \\ n \\ \end{array} } \right) $$
(11)

where l stands for the carrier phase observations, H is the design matrix for the coordinates, x denotes the coordinate parameters, λ is the carrier wavelength, t is the receiver clock, n represents the cycle slip parameters, and Q is the variance–covariance matrix of observations.

It is noted, columns of matrix B are linearly dependent; this will lead to failure of the LAMBDA searching process. Thus, in order to remove this singularity in the integer least squares, a reference cycle slip must be fixed in advance. The float cycle slip ΔN of the satellite with the highest elevation is chosen and is fixed to its nearest integer ΔN 0 as the reference. The reference cycle slip can be expressed as an artificial observation:

$$ \Delta N =\Delta N_{0} ,\quad P_{0} \in \infty $$
(12)

and by selecting this reference ambiguity, the singularity has been removed.

The reference cycle slip might be biased, which is inevitable because of the large noise in pseudorange observations. Since the cycle slips are not separable from the receiver clock variation, all the fixed values will be shifted by an identical integer value for all satellites, see Eq. (8). The shift is absorbed by the receiver clock parameter in cycle slip resolved PPP with (1) and does not affect the positioning results. A ratio test was used to validate the cycle slip resolution with the threshold of 3 (Han 1997). The ratio test is generally defined as the ratio of the second minimum of the quadratic form of the residuals to the minimum.

In order to eliminate the unmodeled ionospheric delays and ionospheric disturbance in our algorithm, the SDBE ionospheric-free carrier phase observation is used for cycle slip fixing. The wide- and narrow-lane sequential fixing strategy is adopted to resolve the integer cycle slip. After fixing the wide- and narrow-lane cycle slip, the original cycle slip on the L1 and L2 frequencies is derived and fixed. It should be noted that, although the SDBE can eliminate various errors without affecting the repair of cycle slips, the success rate cannot reach 100 %, especially when the interrupt time is prolonged to several minutes or the number of tracked satellites is not enough, e.g., <5, the cycle slip may not be fixed successfully.

When the multipath error is large, the cycle slip fixing process will also be affected. However, by using GPS + GLONASS data, we have a sufficient number of satellites to delete some satellites with strong multipath and fix cycle slips of other satellites. This is the direct benefit from using GPS + GLONASS data. However, if too many satellites are affected by severe multipath at each epoch, the cycle slip fixing process might fail.

Experiment and validation

In this section, we first examined the new method with simulated cycle slips on all satellites at globally distributed static sites. Then, we performed a real-time kinematic experiment using a vehicle moving in a GNSS-adverse environment.

Simulated kinematic experiment

The Positioning and Navigation Data Analyst (PANDA) software, developed at Wuhan University in China, was utilized in the experiment. The proposed method was added into the PPP float module of PANDA to perform the following data analysis. To verify the effectiveness of the combined fixing method, 20 globally distributed IGS sites with receivers from eight manufactures were selected and their data of DOY 1–7 in 2012 were processed using the simulated post-processing kinematic module. The data are sampled with the interval of 30 s. Details about the sites are shown in Table 1.

Table 1 GPS + GLONASS receiver manufacturers and types of the selected sites

IGS does not provide GLONASS precise clock products currently, so the satellite orbit and clock corrections were taken from the ESA final products; a time delay of 15 s was introduced to simulate real-time condition. The data were first cleaned with the TurboEdit method (Blewitt 1990). Then, a backward-smoothed static PPP for each day was carried out. The phase residuals were analyzed for each satellite arc to check whether any cycle slip still remained. Simulated cycle slips for all satellites were introduced at each epoch. There were generally 20,160 cycle slip solutions for each site, given no data loss.

Satellites with low elevation are often blocked in kinematic solutions. In order to test the stability of the proposed method, we simulated a severely blocked environment where some satellites cannot be tracked, and cycle slips of the remaining satellites were simulated at each epoch. Satellites in the shaded area of Fig. 2 were deleted to simulate the blocking environment. To assure that simulated cycle slip values are different among all satellites, cycle slip values for L1 were identical to the satellite PRN number (GPS goes from 1 to 32, GLONASS goes from 33 to 56), whereas the values for L2 were identical to the satellite PRN number multiplied by −1. The success of the fixing process can be evaluated by whether the recovered cycle slip is identical to the value introduced.

Fig. 2
figure 2

Sky plot for the simulated blocking

As an example, Fig. 3 shows the number of satellites and the PDOP values at the ANKR site on DOY 1 in 2012 for GPS and GPS + GLONASS. There are less than six GPS satellites in more than half of the epochs and even less than five satellites at some epochs. This caused about 12 % of the PDOP values to be over ten. When adding GLONASS, the PDOP values reduce significantly, even if only one or two GLONASS satellites are available. The PDOP for the combined system is always below 10 and even <5 at 94 % of the epochs.

Fig. 3
figure 3

Satellite number and PDOP values for GPS and GPS + GLONASS at site ANKR with simulated blocking

The LAMBDA ratio test values and fixed percentage are shown in Fig. 4. Very large ratio values are ignored in our analysis, and we are concerned about small ones; therefore, the inverse of the ratio value is shown; the value 0.33 corresponds to the criterion 3. Comparing the simulated with estimated cycle slip values, only 85 % epochs are successful when using the GPS alone. When using the GPS + GLONASS, the integer cycle slips can be determined correctly at 99 % epochs. The ratio value of GPS + GLONASS is generally larger than that of GPS alone. Among the successfully fixed epochs using GPS + GLONASS, over 98 % have both the WL and NL ratio values larger than 10. Among the successfully fixed epochs with GPS alone; however, only 90 % for NL and 64 % of the WL ratio values are larger than 10. This indicates that GPS + GLONASS can provide greater confidence for cycle slip fixing. The GLONASS cycle slip can still be fixed correctly even there is only one GLONASS satellite for some epochs, which is impossible when using two receiver clock variation parameters.

Fig. 4
figure 4

Inverse ratio test values for wide-lane (WL) and narrow-lane (NL) of each epoch for GPS and GPS + GLONASS solution at ANKR site. For clarity, the inverse of the ratio is shown, and the dashed black line corresponds to the ratio criterion 3

Figure 5 shows the statistics of ionospheric-free carrier phase and ionospheric-free pseudorange residuals for each satellite at all 20 sites. As cycle slip has been fixed, the residuals contain all unmodeled errors. The figure shows that the SDBE precisions are equivalent for GPS and GLONASS carrier phase observations, though the precision of pseudorange observations from GLONASS is worse than that of GPS, which might be caused by the poorer tracking accuracy of GLONASS pseudorange. The small carrier phase and pseudorange residuals confirm that the proposed model (8) is correct, and the GLONASS IFB has been eliminated by SDBE, and the same is true for the ISB between GPS and GLONASS.

Fig. 5
figure 5

RMS of ionospheric-free carrier phase and ionospheric-free pseudorange residuals of epoch-differenced solution at all the 20 sites

Figure 6 shows the ionospheric prediction error for different time interval. We can see that the maximum RMS is about 1.5 cm when the time interval is 30 s. The RMS increases to 8.2 cm when the interval reaches 3 min. Figure 7 shows the successfully fixed percentages of each site using observations with different sampling rates. The percentage for each site is calculated based on data of 7 days. For 30-s interval, the averaged fixed percentage over all sites is only 73 % for GPS alone. When using the proposed GPS + GLONASS combination solution, the fixed percentage is over 92 % for all the sites, with an averaged fixed percentage of 98 %. When the sampling interval is enlarged to 120 s, the fixed percentage of GPS alone degrades sharply to 58 %, while GPS + GLONASS can still achieve 92 %. The higher fixed percentage of GPS + GLONASS is due to the satellite number increment after adding GLONASS. However, when the sampling interval is enlarged to 180 s, the atmospheric delay prediction becomes problematic so that even GPS + GLONASS can only fix 81 % epochs.

Fig. 6
figure 6

RMS of ionospheric prediction error on DOY 1 in 2012. The statistics of RMS is obtained using data from all the stations

Fig. 7
figure 7

Fixed success percentage of GPS alone and GPS + GLONASS for each site at different sampling rate

Application in real-time kinematic PPP

In order to test the method in real GNSS-adverse kinematic mode, data sampled at 1 Hz was collected in Wuhan using a vehicle-borne Trimble NetR9 receiver. The vehicle first stopped in open sky for 1 h, waiting for the filter to converge. Then, from 6:46 to 7:23 (GPS Time), it moved along a road and passed eight viaducts at about 6:49:23, 6:55:48, 7:01:30, 7:02:26, 7:03:39, 7:09:40, 7:18:09, 7:21:37 (GPS Time), respectively. Under these conditions, lock for all the satellites was lost and PPP without cycle slip fixing had to re-converge, damaging the high precision of PPP. Figure 8 shows the satellite number of each epoch; for brevity, only 10 min of the static stage is shown. Note that the number of satellites changed dramatically during the motion due to signal obstructions. Figure 9 shows the distance travelled between each epoch. Since data is sampled at 1 Hz, the values at Y-axis are in fact equal to the velocity; the large jumps represent the straight-line distance travelled during loss of lock. The traffic was busy at sometimes, and the speed is very low; however, every time the car passed a viaduct, the speed is about 5–10 m/s.

Fig. 8
figure 8

Satellite number per epoch. For clarity, only 10 min of the static stage is shown. The blue dash line denotes the time when the car passed a viaduct and lock for all satellites was lost

Fig. 9
figure 9

Movements of car between epochs. As data is sampled at 1 Hz, this value is in fact the velocity; the large jumps represent the straight-line distance travelled during loss of lock for satellites

Figure 10 shows the trajectory of the car and the distribution of the reference stations. The car moved about 15 km, and around the trajectory, there are five reference stations separated <40 km from each other. They were used to calculate the kinematic position of each epoch with commercial network real-time kinematic (NRTK) software. The PPP solution was compared with ambiguity-fixed NRTK solution to assess the accuracy. The distance to the nearest reference station for any point of the vehicle’s trajectory is <10 km. Therefore, the NRTK solution is believed to have a 3D accuracy of better than a few centimeters and can serve as reference to assess PPP accuracy.

Fig. 10
figure 10

Trajectory of the car and distribution of the reference stations. The inset shows the distances between five reference stations

In order to demonstrate the contribution of GLONASS observation for cycle slip fixing, three strategies for GPS + GLONASS PPP have been performed in parallel: detection but no cycle slips fixing, detection and cycle slips fixing only with GPS, and detection and cycle slips fixing with GPS + GLONASS. Positioning results of each strategy are shown in Fig. 11. Lock on all satellites were lost when the car passed through the viaduct. In these occasions, GPS + GLONASS PPP require again converge if cycle slips are not fixed (upper panel).

Fig. 11
figure 11

Position results of GPS + GLONASS PPP with different cycle slip fixing strategies with respect to RTK solution for the east, north, and up components

At the first five blockings, cycle slip fixing using GPS alone and GPS + GLONASS both succeed and precise PPP solution can be delivered. When the receiver left of the sixth and seventh viaducts, GPS satellite number was less than seven over 120 and 90 s, respectively, and cycle slips could not be fixed with GPS alone. However, when using the GPS + GLONASS solution, more than ten satellites could be tracked, and cycle slips were fixed as soon as the car passed the viaducts delivering high precision of PPP.

Conclusions

In this study, we developed a method that improves cycle slip resolution and phase connection with GPS + GLONASS observations in kinematic PPP. The experiment demonstrates that, using GPS + GLONASS, cycle slips can be fixed with a higher success percentage and a higher level of confidence than when using GPS alone, especially in severely blocked environment in which the number of GPS satellites is limited.

In our test, for static sites suffering from simulated signal blocking, losses of tracking for all satellites are introduced epoch by epoch. When the sampling interval is 30 s, the average fixed rate can be improved from 73 to 98 % after adding GLONASS. Cycle slips can still be fixed correctly even if only one GLONASS satellite is accessible. For 180 -s sampling interval, GPS + GLONASS can still successfully fix 81 % epochs. For a mobile receiver moving in a GNSS-adverse environment, precise PPP solutions can be maintained after loss of lock for all satellites using GPS + GLONASS to fix cycle slip. However, when using GPS alone, cycle slip cannot be fixed and re-convergence must be performed if the data gap is relatively wide.

Consequently, more reliable instantaneous re-initialization is expected by using the proposed method in real-time kinematic PPP processing. Also, this strategy is expected to apply to other GNSS systems, such as Galileo and BeiDou.