# A new approach for cycle slip detection and fix using single GPS receiver’s single satellite dual frequency data containing arbitrarily large pseudorange errors

- 396 Downloads

**Part of the following topical collections:**

## Abstract

This paper presents a new cycle slip detection and repair method using Total Electron Content Rate (TECR) information derived from individual satellite dual-frequency data of a single Global Positioning System (GPS) receiver while pseudorange measurements are subject to arbitrarily large range errors. Sudden Increase of Pseudorange Error (SIPE), similar to cycle slips in nature, is quite common in various data acquisition scenarios. The basic principle of this method is to take advantage of the fact that the ionospheric TECR does not exceed certain threshold, which is set as 0.35 TECU/s in this study. Analytic expressions to evaluate the effect of SIPE on cycle slip detections have been developed. The search spaces for cycle slip candidate pairs are defined, given a predefined (sufficiently large) SIPE value. Two cycle slip validation rules are proposed to validate the cycle slip candidates. Over 99.9% of candidates can be rejected with the application of two validation rules. The theoretically maximal number of remaining cycle slip candidate pairs (NRCP) can be exactly calculated based on the magnitude of SIPE, TECR threshold, and the data sampling interval. After applying validation rules, the correct cycle slip pairs can be identified using a modified low-order polynomial fitting method. This method is tested on 13 high rate (1-Hz) dual-frequency datasets recorded by both ground-based static and satellite-borne high dynamic GPS receivers under various levels of ionospheric activities. Simulated cycle slips in 12 different possible cases and varying SIPE magnitudes are introduced into the data sets. In each test scheme, averagely 600–750 pairs of cycle slips are simulated. The SIPE magnitudes are set to vary from 50.0 m to 1000.0 m. Test results show that all the cycle slips in all the test schemes and all the datasets have been successfully detected and fixed even with a maximum SIPE of 1000.0 m in pseudoranges. A distinct advantage of this method is that it works in real-time with individual satellite’s data from a single dual-frequency receiver, even if the carrier phases have virtually any size of cycle slips and the pseudoranges have virtually arbitrarily large errors.

## Keywords

Global positioning system (GPS) Cycle slip detection and fix Ionospheric TEC rate (TECR) Sudden increase Pseudorange errors (SIPE)## Abbreviations

- COSMIC
Constellation observing system for meteorology ionosphere and climate

- EPN
EUREF permanent network

- GNSS
Global navigation satellite system

- GPS
Global positioning system

- IGOR
Integrated GPS and occultation receiver

- IGS
International GNSS service

- LAMBDA
Least-squares ambiguity decorrelation adjustment

- MWWL
Melbourne–wübbena wide lane

- NRCP
Number of Remaining cycle slip candidate pairs

- PPP
Precise point positioning

- SIPE
Sudden increase of pseudorange error

- TECR
Total electron content rate

- TNCP
Total number of cycle slip candidate pairs

- UNAVCO
University Navstar Consortium

## Introduction

Global Positioning System (GPS) or Global Navigation Satellite System (GNSS) carrier phase measurements are the major observables in high-precision geodetic applications. Under high carrier to noise ratio (C/N_{0}) scenario, the accuracy of GNSS receiver carrier phase observations is usually less than 2 mm (Hofman-Wellenhof et al. 1994). With high quality GNSS receivers and International GNSS Service (IGS) products (Dow et al. 2009), it is possible to obtain very accurate (1 mm/year) GNSS solutions that are useful for many scientific research purposes (Larson 2009). However, one issue constantly encountered in achieving such a high precision is the occurrence of cycle slips in carrier phase measurements. Even if the slip is only 1 cycle, the resultant range error is of ~ 20 cm (e.g. for on GPS L1 signal). Thus the proper handling of cycle slips has long been a critical procedure in high precision GNSS data processing.

To detect and fix cycle slips, many methods that are suitable for either double differencing or undifferencing algorithms (e.g. Precise Point Positioning, PPP) have been proposed. These include polynomial fitting (Beutler et al. 1984), Kalman filtering based on first-order differential equations of the carrier phase observations (Landau 1989), an integration of Melbourne–Wübbena Wide Lane (MWWL) combination and a polynomial fitting to the geometry-free combination (Blewitt 1990), using inertial navigation data to assist GPS cycle slip detection (Colombo et al. 1999; Lee et al. 2003), an integration of geometry-free phase observation and the widelane phase minus narrowlane pseudorange (Bisnath 2000), triple differencing of carrier phase observations (Kim and Langley 2001), Bayesian approach working with polynomial fitting (de Lacy et al. 2008), estimating the cycle slips through the Least-Squares Ambiguity Decorrelation Adjustment (LAMBDA) method (Banville and Langley 2010; Zhang and Li 2011). A more detailed summary of those methods can refer to Xu (2007) and Liu (2011). However these methods have their own limitations and their performances under severe conditions still need to be improved. For instance, the polynomial fitting method indeed can be used regardless of the pseudorange errors. However this fitting method often fails to detect small cycle slips (e.g. 1 or 2 cycles). Moreover, the fitting usually needs multiple epochs of carrier phase data. Thus it cannot be used for the early epochs of one satellite’s data series. That may be why many other cycle slip detection and fix methods, with the use of pseudorange measurements, have been developed over the past many years, e.g. the ones presented in (Blewitt 1990; Bisnath 2000; Banville and Langley 2010; Zhang and Li 2011). With the use of pseudorange measurements, the quality of pseudorange data is of great concern. When cycle slips in carrier phase data and large errors in pseudorange data occur at the same time in an epoch, how to detect and fix the cycle slips in real-time mode has not been completely addressed.

It has been shown earlier that virtually any cycle slips associated with high-rate GNSS observations can be successfully detected and fixed, even using one single dual-frequency GNSS receiver (Liu 2011). The test results show that it is technically feasible to apply that method for real-time cycle slip detection and fix in high-rate GNSS applications. Nevertheless, the correctness of the cycle slips calculated using that method largely depends on the quality of the pseudorange measurements, as shown in the MWWL linear combination. The method given in Liu (2011) requires pseudoranges at L1 and L2 frequencies have a reasonably good accuracy. It has been analyzed that at normal level of pseudorange noise of 0.5 m, the introduced noise in the cycle slip detection is approximately 0.6 widelane cycle. In de Lacy et al. (2011), the required accuracy of pseudorange measurements is 10–15 cm, much higher than the half meter requirement. In real-world circumstances, such a stringent requirement on the pseudorange data quality is difficult to be satisfied. Hwang et al. (2010) showed that the multipath effects on P1 and P2 pseudoranges of the Constellation Observing System for Meteorology, Ionosphere, and Climate (COSMIC) spaceborne GPS receivers are as high as 0.78 m and 1.03 m, respectively. It also suggested that the high level of multipath was one of the factors resulting in high rate of cycle slip of 3.45% (Hwang et al. 2010).

In practical data acquisition, it is very likely that pseudorange errors at particular epochs suddenly have significantly larger values than the expected ones. This might be due to the presence of diffraction and multipath or to the variations of the instrumental delays possibly due to temperature variations which can occur at different sections: antenna, cables, amplifiers, splitters, receivers, such as anomaly inside the GNSS receivers (Parkinson and Spilker 1996; Defraigne and Bruyninx 2007). Without loss of generality, all these kinds of errors can be categorized as Sudden Increase of Pseudorange Errors (SIPE). Some ground-based experiments showed that the multipath on pseudorange can even exceed a magnitude of 6.0 m (Liu et al. 2009). Similar to cycle slips in carrier phase data, the pseudorange can have anomalous range errors unexpectedly anytime. For instance, an SIPE of 8.6 m was identified in the cycle slip analysis, resulting in erroneous cycle slip fix outcome (Liu 2011). New algorithms should be developed to address the cycle slip detection and fix issue under challenging situations when SIPE is present.

Liu (2011) illustrates the successful integration of Melbourne-Wübbena Wide Lane linear combination (Melbourne 1985; Wübbena 1985) and the TECR information to uniquely detect and fix cycle slips epoch by epoch in real-time. In that work, the SIPE problem however was not addressed. Under the circumstance of arbitrarily large pseudorange errors, no literature has addressed the problem of cycle slip detection and repair using a single dual-frequency receiver. This paper aims to develop an innovative approach to completely eliminating the impact of SIPE on cycle slip detection and fix. The reliability of cycle slip detection and fix can be enhanced particularly under degraded GNSS observation conditions such as large multipath errors or unexpected pseudorange anomalies.

This paper can be considered as a continuation to our previous effort. There are several reasons for this. First, development of algorithms for processing GNSS data from a single station is increasingly important as the PPP technique has increasingly attracted attentions over the past a few years (Zumberge et al. 1997; Le and Tiberius 2007; Teferle et al. 2007; Ge et al. 2008; Geng et al. 2009; Bertiger et al. 2010; Leandro et al. 2011). Second, there is an increasing trend worldwide to deploy high-rate (1 Hz or even higher) GNSS receivers globally. In the EUREF Permanent Network (EPN), there are nearly 250 high rate stations in operation (Bruyninx et al. 2011). In the worldwide, thousands of GNSS receivers have been deployed to routinely collect GNSS data at 1-Hz rate (Larson 2009). Within the IGS network, over 110 receivers are configured to record GNSS data at 1-Hz rate and thousands more GNSS receivers used by individual geodetic agencies in Canada, Europe, Japan, the US and other countries are also logging real-time high rate data (Larson 2009). With such a large number of high-rate GNSS reference stations recording data for real-time applications, it is highly desirable from a cost-effective point of view to detect and fix cycle slips on a real-time, single-station basis.

This paper is organized as below. In Section Methodology for cycle slip detection and fix, the basic principle of cycle slip detection and fix is presented; the formulas evaluating the impact of SIPE on cycle slip fix are derived; the impact of SIPE on cycle slip detection is analyzed; the basic idea of this new method is introduced; and the cycle slip search spaces are defined. In Section Cycle slip search rules and estimation of remaining candidate pairs, 2 cycle slip search algorithms are proposed and their formulas for cycle slip validation are derived; the method of estimating the remaining number of cycle slip candidate pairs is developed; a low-order polynomial fitting method is used in a new fashion to identify the correct cycle slips from the small number of remaining cycle slip candidates. Section Test and data analysis presents the extensive data analysis results. The discussion of the use of this method is given in Section Discussion. The conclusion is given in Section Conclusion.

## Methods

### Basic principle

f_{1} and f_{2} are two frequencies in unit of Hz, e.g. GPS L1 and L2 frequencies;

λ_{1} and λ_{2} are wavelengths in unit of m/cycle corresponding to the f_{1} and f_{2} frequencies, respectively;

γ is defined as \( \upgamma ={f}_1^2/{f}_2^2 \);

p is the satellite identification;

λ_{WL} = c/(f_{1} − f_{2}) is the wavelength of the widelane combination observation and c is the speed of light in vacuum;

TECR_{Φ}(k) is the ionospheric TEC rate in unit of TECU/s at epoch (k);

∆t is the data observation interval in unit of second between epochs (k-1) and (k);

\( {\Phi}_1^{\mathrm{p}}\left(\mathrm{k}-1\right) \) and \( {\Phi}_1^{\mathrm{p}}\left(\mathrm{k}\right) \) are carrier phase measurements in unit of cycle at epochs (k-1) and (k), respectively;

\( {\mathrm{P}}_1^{\mathrm{p}}\left(\mathrm{k}-1\right) \) and \( {\mathrm{P}}_1^{\mathrm{p}}\left(\mathrm{k}\right) \) are pseudorange measurements in unit of m at epochs (k-1) and (k), respectively;

\( {\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right) \) and \( {\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right) \) are detected cycle slips in unit of cycle at the f_{1} and f_{2} frequencies, respectively.

The MWWL linear combination has been widely used for cycle slip detection and fix because it removes the effects from the atmosphere (including both ionosphere and troposphere), the geometry, and satellite and receiver clocks (Blewitt 1990). Similar to the MWWL linear combination, the ionospheric TECR measurement is also free from the effects of atmosphere (except the rate of ionospheric TEC), the geometry, and satellite and receiver clocks. A unique characteristic of the TECR measurement is that in most cases it is very sensitive to cycle slips, particularly when the GNSS data rate is high (e.g. 1 Hz). Normally a small cycle slip will result in a large TECR. Therefore the integration of Eqs. (1) and (2) can uniquely detect and fix cycle slips for single receiver regardless of the GNSS receiver dynamics. The examples given in Liu (2011) showed that cycle slips in GPS data recorded under high dynamics (spaceborne GPS receiver on COSMIC satellite) could be successfully detected and fixed.

### Analysis of the effect of SIPE on cycle slip detection

The evaluation of the exact effect of the pseudorange error on cycle slip detection and fix is analytically demonstrated below. It can be seen in Eq. (1) that at epoch (k), the pseudorange measurements on both frequencies (P1 and P2 for the case of GPS) are required. If the pseudorange measurements \( {\mathrm{P}}_1^{\mathrm{p}}\left(\mathrm{k}\right) \) and \( {\mathrm{P}}_2^{\mathrm{p}}\left(\mathrm{k}\right) \) have SIPE, it may affect the cycle slip term in the left-hand side of Eq. (1). It is possible that at epoch (k-1), the \( {\mathrm{P}}_1^{\mathrm{p}}\left(\mathrm{k}-1\right) \) and \( {\mathrm{P}}_2^{\mathrm{p}}\left(\mathrm{k}-2\right) \) may also have a SIPE relative to its previous epoch. It is not difficult to analyze from Eq. (1) that when both epochs (k) and (k-1) have pseudorange SIPE of the same size, their impact on the left-hand term of Eq. (1) is actually cancelled. Therefore, it might be more precise to define the SIPE as the sudden increase of pseudorange error relative to its previous epoch.

When both P1 (or represented by C1 in the figures) and P2 pseudoranges have 10 m errors, the resultant cycle slip errors on L1 and L2 frequencies can be as large as 53 cycles and 41 cycles, respectively. This can be instantly calculated from Eqs. (6) and (7) and be seen in Figs. 2 and 3. Taking the above COSMIC spaceborne GPS data as an example (Hwang et al. 2010), the resultant cycle slip errors can be as large as 4.7 cycles and 3.6 cycles on GPS L1 and L2 frequencies, respectively. It can be seen that the pseudorange errors appear to have a relatively small effect on the widelane cycle slip detection as shown in Eq. (5). However its effect on the cycle slip of individual frequency is significantly larger. This is because in the widelane cycle slip of Eq. (3), the effects on L1 and L2 frequencies are largely cancelled by each other after the subtraction. Analysis of Eqs. (5), (6) and (7) reveals that the impacts of SIPE on L1 and L2 are about 4.5 times and 3.5 times of that on widelane cycle slip, respectively. The results in Figs. 2 and 3 remind us that it is necessary to guard against the severe effects of pseudorange errors in order to ensure the reliability of cycle slip detection.

### Basic idea of the new method

The above section analytically and numerically shows the effect of pseudorange errors on the determination of cycle slips. To completely eliminate the large pseudorange errors, one normally adopted approach might be the pseudorange smoothing using carrier phase measurements, such as the Hatch filter as well as the revised Hatch filter (Hatch 1982; Hatch 1986; Lachapelle et al. 1986). However, there is one issue associated with the application of smoothing algorithms. These smoothing algorithms require the use of carrier phase measurements at epoch (k) in order to smooth the pseudoranges at the same epoch (k). When there are cycle slips in carrier phase data, these smoothing algorithms normally reinitialize the smoothing process. As a matter of fact, our purpose here is to detect and fix cycle slips in carrier phase measurements at epoch (k). Thus it is technically risky to employ the carrier phase data to smooth pseudoranges prior to cycle slip detection. In practice, it is very likely that both cycle slip and SIPE occur simultaneously. In this scenario, the smoothing method cannot be used and other methods have to be developed. The basic idea of a new approach is described below.

Assuming that the maximum SIPE in GNSS pseudoranges (e.g. GPS P1 or P2) is SIPE_{max} and that this predefined SIPE_{max} is sufficiently large to bound all the possible SIPE values under a given GNSS application circumstance (e.g. spaceborne GPS under high dynamics), two integer search spaces corresponding to two frequencies (e.g. GPS L1 and L2) for all the possible cycle slip candidate pairs can be calculated and defined. The goal is to search for and determine the only one pair of correct cycle slips from the two search spaces, 1 cycle slip from each space. To validate each candidate pair in the search spaces, each cycle slip candidate pair is used to correct the original carrier phase data. Subsequently the corrected dual-frequency carrier phase data can be employed to derive TECR. It should be noted that all the calculated TECR should obey a physical rule – not exceeding a physically meaningful TECR threshold. The threshold is defined as 0.35 TECU/s in this study. Our extensive data analysis suggested that TECR threshold of 0.35 TECU/s be an appropriate empirical value for cycle slip detection and fix for both ground-based and space-based GPS data. Thus the validity of each cycle slip candidate pair in the search spaces can be easily determined by judging whether it satisfies the physical rule. Those cycle slip candidate pairs with TECR exceeding the threshold are considered incorrect ones and they are rejected in the cycle slip determination process.

_{max}, has to be defined by the users. This SIPE

_{max}can be determined based on the performance of GNSS receiver under a given observation condition. After that, two search rules are defined and users can implement them to search for the correct cycle slips. The two rules can efficiently reject more than 99.9% cycle slip candidate pairs in the search spaces. The small number of remaining cycle slip pairs can be further verified using a polynomial fitting method. In the implementation of second search rule, a parameter called maximum ionospheric TECR, denoted as \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \), has to be defined. In order to ensure the correct cycle slips are detected and fixed, the \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \) and SIPE

_{max}parameters should be appropriately set to a large enough value.

### Defining cycle slip search spaces

_{max}, the maximum cycle slip error for \( {\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right) \), denoted as \( {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}} \), can be easily obtained as \( {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}=\operatorname{int}\left[5.255\bullet {\mathrm{SIPE}}_{\mathrm{max}}\right] \) as shown in Eq. (6). Similarly maximum cycle slip error for \( {\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right) \), denoted as \( {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}} \), is \( {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}=\operatorname{int}\left[4.094\bullet {\mathrm{SIPE}}_{\mathrm{max}}\right] \) from Eq. (7). It is not difficult to infer that the correct cycle slip for L1 frequency, denoted as \( {\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}} \), should be located within the scope \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)-{\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}},{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)+{\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}\right] \). Similarly the correct cycle slip for L2 frequency, denoted as \( {\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}} \), should be located within the scope \( \left[{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)-{\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}},{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)+{\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}\right] \). Thus the search spaces for the correct cycle slip pair \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}},\kern0.5em {\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}\right] \) can be defined below as \( {\mathrm{SS}}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)} \) and \( {\mathrm{SS}}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)} \):

The numbers of candidates in the two search spaces are \( \left[2\bullet {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right] \) and \( \left[2\bullet {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right] \), respectively. Taking the Figs. 2 and 3 as an example, when the SIPE_{max} = 10.0 m, the \( {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}=53 \) cycles and \( {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}=41 \) cycles. The search space \( {\mathrm{SS}}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)} \) includes 107 candidates and the \( {\mathrm{SS}}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)} \) contains 83 candidates. To ensure the correct cycle slips to be included in the search spaces \( {\mathrm{SS}}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)} \) and \( {\mathrm{SS}}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)} \), the SIPE_{max} should be appropriately chosen to an adequately large value.

_{max}] + 1}{2 ∙ int[4.094 ∙ SIPE

_{max}] + 1}. It is clear that the TNCP depends solely on the value of SIPE

_{max}. It has nothing to do with the GPS/GNSS observation data. Given a predefined SIPE

_{max}, the TNCP can be instantly calculated. When SIPE

_{max}= 10 m, the total number of cycle slip candidate pairs is 8881. Fig. 5 shows the relationship between the TNCP in the search spaces with SIPE

_{max}. The large number of candidate pairs suggests that efficient cycle slip search method has to be developed in order to select the one and only one correct pair of cycle slips from the candidates. Thus 2 cycle slip search rules are proposed in order to quickly reject the unsuitable candidate pairs.

## Cycle slip search rules and estimation of remaining candidate pairs

In this paper, two search rules are implemented. The first one is the so-called “widelane cycle slip variation” rule and the second is the “TECR threshold” rule.

### Cycle slip search rule one: Widelane cycle slip variation

_{max}value. The difference between the widelane cycle slip calculated from the pseudorange contaminated by SIPE

_{max}, i.e. \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)-{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)\right] \), and the one calculated from normal pseudorange without SIPE, i.e. \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}\right] \), should be bounded by \( \updelta {\left[{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)-{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)\right]}_{\mathrm{max}} \), which is defined as \( \updelta {\left[{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)-{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)\right]}_{\mathrm{max}}=\operatorname{int}\left[1.16\bullet {\mathrm{SIPE}}_{\mathrm{max}}\right] \), as shown in Eq. (5). Mathematically it reads:

_{max}= 10 m as an example, the corresponding \( \updelta {\left[{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)-{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)\right]}_{\mathrm{max}}=12 \) cycles and it yields:

It suggests that the correct cycle slip candidate pair \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}},\kern0.5em {\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}\right] \) must satisfy the condition given in Eq. (10). The \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)-{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)\right] \) is obtained from Eq. (3); \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}},\kern0.5em {\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}\right] \) is one of the candidate pairs from the search spaces defined in Eqs. (8) and (9); the \( {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}} \) and \( {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}} \) shown in Eqs. (8) and (9) and the term \( \updelta {\left[{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)-{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)\right]}_{\mathrm{max}} \) can be readily calculated with the predefined SIPE_{max}. A program looping over all the candidate pairs \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}},\kern0.5em {\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}\right] \) in the search spaces can be executed and candidate pairs that do not satisfy Eq. (10) are rejected. The following section will show how efficient this “rule one” is by determining the number of remaining cycle slip candidate pairs after implementing this search rule.

### Estimating the NRCP of rule one

The \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)\right] \) in Eq. (11) can be treated as one whole term, so is \( \left[{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)\right] \) in Eq. (12). The benefit of doing so is that there is no need to know \( {\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right) \) or \( {\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right) \). This implies no knowledge of the GNSS carrier phase or pseudorange observations is needed. As indicated, the number of searched candidates for \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)\right] \) and \( \left[{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)\right] \) is \( \left[2\bullet {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right] \) and \( \left[2\bullet {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right] \), respectively. The TNCP is thus \( \left[2\bullet {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right]\bullet \left[2\bullet {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right] \).

By integrating Eqs. (11) and (12) with Eq. (10) and treating \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)\right] \) and \( \left[{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)\right] \) as whole terms, the number of remaining cycle slip candidate pairs \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}\right] \) can be uniquely determined as long as \( {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}} \) and \( {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}} \) are determined. Unlike the total number of candidate pairs, there is no analytic formula to calculate the exact value of NRCP. However, for any given SIPE_{max}, the NRCP can be uniquely determined by Eqs. (10), (11) and (12). The NRCP for different SIPE_{max} values are shown in Fig. 5.

Figure 5 illustrates the relationship between the SIPE_{max} and the NRCP. It can be seen that the application of this rule one can considerably reject many candidate pairs that do not satisfy Eq. (10). The NRCP is much smaller than the TNCP. In Fig. 5, the SIPE_{max}varies from − 100 m to 100 m. When SIPE_{max} = 10 m, the TNCP is 8881, the NRCP is 2075. This is equivalent to 23.36% of the total number, meaning 76.64% candidate pairs being rejected. When SIPE_{max} = 100 m, the TNCP is as large as 864,513. After implementing the rule one, the NRCP is only 192,933 pairs, equivalent to 22.32% of the total number. The rejection rate is 77.68%. It can be seen that the TNCP increases rapidly with the size of SIPE_{max}. But Fig. 5 also shows the “rule one” given in Eq. (10) can effectively reject over 75% of cycle slip candidate pairs.

It should be stressed that the calculation of the TNCP and NRCP can be achieved even without the knowledge of GNSS carrier phase or pseudorange data. The only factor determining the two numbers is the value of SIPE_{max}. It should be noted that the NRCP is still large and further reduction algorithm has to be used to reduce the NRCP.

### Cycle slip search rule two: TECR threshold

_{Φ}(k) can be estimated using Eq. (15) for each pair of cycle slip candidates. After the implementing the above “widelane cycle slip variation” rule, the remaining number of candidate pairs is NRCP. Consequently the number of TECR

_{Φ}(k) will be NRCP too. Which TECR

_{Φ}(k) is valid among so many TECR

_{Φ}(k)? It should be noted that the TEC rate is a physical parameter describing the ionosphere variation and its value should be bounded by a given threshold. The TECR values observed by GNSS data at the low-latitude equatorial region showed that the ionospheric TECR

_{Φ}(k) is bounded by 0.03 TECU/s in ionosphere disturbance periods (Liu and Chen 2009). In this study, a threshold value for the maximum valid TECR

_{Φ}(k) value is defined as \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \). Taking advantage of this physical property about TECR, only cycle slip candidates whose TECR

_{Φ}(k) meet the following condition are considered valid:

To be safe enough not to reject the correct cycle slip candidates, the \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \) should be chosen to be a large enough value. In this study, \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right)=0.35\ \mathrm{TECU}/\mathrm{second} \) is adopted. As shown in Liu (2011), even small cycle slips e.g. (1, 1) in L1 and L2 carrier phase measurements can result in a TECR significantly larger than the normal one, thus they can be easily detected. After applying the “TECR threshold” rule given in Eq. (16), many cycle slip candidate pairs are rejected and only a very small number of them are left. The estimation of the NRCP will be addressed in the next section. The following paragraphs explain why many cycle slip candidate pairs are rejected through the “TECR threshold” rule.

Among all the cycle slip candidates \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}\right] \), there is at least one pair of cycle slips, denoted as \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \), which produces the minimum TECR_{Φ}(k), denoted as \( {\mathrm{TECR}}_{\Phi}^{\mathrm{min}}\left(\mathrm{k}\right) \), among all the TECR_{Φ}(k) computed using Eq. (15). Normally the \( {\mathrm{TECR}}_{\Phi}^{\mathrm{min}}\left(\mathrm{k}\right) \) is at the level of 0.01 TECU/s during ionosphere quiet period and 0.03 TECU/s during disturbed period (Liu and Chen 2009). It should be noted that \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) produces the minimum TECR_{Φ}(k), but this pair is not necessarily the correct cycle slip pair for which we are seeking. Compared to other candidates, this pair of cycle slip candidates \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) indeed has a higher likelihood to be the correct one. This is because the TECR_{Φ}(k) corresponding to the correct cycle slip pair should be a reasonably small value but not necessarily the smallest. When cycle slips are present in carrier phase measurements, the cycle slips can cause an artificial ionospheric TECR. It is possible the artificial TECR has similar magnitude but opposite sign to the natural TECR, eventually rendering the computed TECR (a combination of both natural and artificial TECR) to become a very small value or even 0.0 TECU/s. Thus cycle slip candidates corresponding to the smallest TECR (i.e. \( {\mathrm{TECR}}_{\Phi}^{\mathrm{min}}\left(\mathrm{k}\right) \)) are not necessarily the correct ones.

_{Φ}(k) can also be decomposed into two parts: the first part TECR (i.e. \( {\mathrm{TECR}}_{\Phi}^{\mathrm{min}}\left(\mathrm{k}\right) \)) that is corresponding to \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) and the second part TECR that is contributed by \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},\kern0.5em {\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \). The latter part TECR can be denoted as \( {\mathrm{TECR}}_{\Phi}^{\mathrm{part}2}\left(\mathrm{k}\right) \). According to Eq. (15), the \( {\mathrm{TECR}}_{\Phi}^{\mathrm{part}2}\left(\mathrm{k}\right) \) can be calculated as:

Using Eq. (20), all the candidate pairs that satisfy the above condition can be found. Please note that Eq. (20) is not identical but only an approximation to Eq. (18), although the contribution of \( {\mathrm{TECR}}_{\Phi}^{\mathrm{min}}\left(\mathrm{k}\right) \) is small but it is usually non-zero. It is possible that \( {\mathrm{TECR}}_{\Phi}^{\mathrm{min}}\left(\mathrm{k}\right) \) and \( {\mathrm{TECR}}_{\Phi}^{\mathrm{part}2}\left(\mathrm{k}\right) \) have opposite signs. Thus it is theoretically possible that the cycle slip candidate pairs (including one correct cycle slip pair) that satisfy the Eq. (18) might not satisfy the Eq. (20). If Eq. (20) is used to search for the correct cycle slip candidate pair, it is possible that the correct cycle slip pair might not satisfy the Eq. (20) and thus is rejected. To avoid this and compensate the small contribution of \( \left|{\mathrm{TECR}}_{\Phi}^{\mathrm{min}}\left(\mathrm{k}\right)\right| \), the value of \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \) can be properly selected to a relatively large one by considering the magnitude of the \( {\mathrm{TECR}}_{\Phi}^{\mathrm{min}}\left(\mathrm{k}\right) \). In this study, \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right)=0.35\ \mathrm{TECU}/\mathrm{second} \) is selected, which is considered to be a large enough threshold.

The Effect of special cycle slip pairs on TECR (assuming the data interval ∆t = 1.0 second)

Cycle slip on GPS L1 \( {\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right) \) | Cycle slip on GPS L2 \( {\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right) \) | TECR caused by cycle slips \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right),{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)\right] \) |
---|---|---|

0 | 0 | 0 |

77 | 60 | 0 |

−77 | − 60 | 0 |

9 | 7 | 0.0302 |

− 68 | −53 | 0.0302 |

68 | 53 | −0.0302 |

−9 | −7 | −0.0302 |

−18 | − 14 | − 0.0604 |

18 | 14 | 0.0604 |

59 | 46 | −0.0604 |

−59 | −46 | 0.0604 |

27 | 21 | 0.0906 |

−27 | −21 | −0.0906 |

−50 | −39 | 0.0906 |

50 | 39 | −0.0906 |

−36 | −28 | −0.1208 |

36 | 28 | 0.1208 |

41 | 32 | −0.1208 |

−41 | −32 | 0.1208 |

### Estimating the NRCP of rule two

The above section explains why many cycle slip candidates are rejected. But the exact value of NRCP is still unknown. In the rule one, the NRCP is a function of SIPE_{max} only and has nothing to do with the values of initially detected cycle slips \( {\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right) \) or \( {\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right) \). In this “TECR threshold” rule, the determination of the exact NRCP is more complex. A quick look of Eq. (20) appears that the NRCP depends on the predefined value \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \), GNSS data interval ∆t, \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}\right] \) and \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \). The following analysis will reveal that the NRCP in rule two actually only depends on SIPE_{max}, \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \), and GNSS data interval ∆t. It has nothing to do with the \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}\right] \) or \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \). Both SIPE_{max} and \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \) are predefined thresholds and they can be specified before cycle slip detection and fix. The data interval ∆t is a fixed value that is known once the GNSS data are recorded. Clearly all the three parameters are irrelevant of the GNSS observations. This implies the NRCP after implementing the “rule two” can be determined even without having to know the actual GNSS data.

The numbers of searched candidates for \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) and \( \left[{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) are \( \left[4\bullet {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right] \) and \( \left[4\bullet {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right] \), respectively. Thus the TNCP is \( \left[4\bullet {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right]\bullet \left[4\bullet {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right] \). It should be noted that the total number of candidates to be searched here is different from the total number calculated for the search rule one. In the rule one, the TNCP is \( \left[2\bullet {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right]\bullet \left[2\bullet {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right] \). They are different because the search spaces given in Eqs. (21) and (22) are different from the ones given in Eqs. (11) and (12). Without actual GNSS data, \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) and \( \left[{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) have to take the maximum values, i.e. \( \pm 2\bullet {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}} \) and \( \pm 2\bullet {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}} \), respectively. Thus the theoretically maximal TNCP for a given SIPE_{max} is \( \left[4\bullet {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right]\bullet \left[4\bullet {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}}+1\right] \). In practical implementation with actual GNSS data, the actual GNSS carrier phase and pseudorange observations are available. The Eq. (16) therefore can be directly used in the “TECR threshold” rule. The actual TNCP can be smaller than the theoretical TNCP.

Integrating Eqs. (20), (21) and (22) will reveal that NRCP is a function of only three parameters: \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \), GPS data interval ∆t (embedded in H), and SIPE_{max}. Apparently, the larger value of \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \) or ∆t, the larger NRCP. Eqs. (6) and (7) show that the larger SIPE_{max}, the larger \( {\updelta \Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}} \) and \( {\updelta \Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{max}} \), consequently larger NRCP as suggested by Eqs. (21) and (22). This analysis reveals that the theoretically maximal NRCP after implementing the “TECR threshold” rule is completely irrelevant of the original carrier phase or pseudorange measurements. The NRCP can be pre-determined even before GNSS observation starts as long as \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \), ∆t and SIPE_{max} are specified. Usually the GNSS data interval ∆t is a fixed value (e.g. 1 s) set by the GNSS observer. \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \) and SIPE_{max} can be defined by the GNSS analyst before the analysis. A large \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \) value is conservatively chosen to ensure all cycle slips can be successfully detected and fixed. Our data analysis shows that when \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \) is chosen as 0.30 TECU/second, all the cycle slips except a small number of cycle slips for the spaceborne GPS receivers (COSMIC data in this study) can be correctly detected and fixed. When the \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right)=0.35\ \mathrm{TECU}/\mathrm{second} \) is used in the cycle slip detection and fix, all the simulated cycle slips can be successfully detected and fixed. Therefore \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right)=0.35\ \mathrm{TECU}/\mathrm{second} \) is used in this study. SIPE_{max} can be defined according to the analyst’s experience with the GNSS pseudorange quality. The pseudorange quality is affected by a number of factors such as GNSS receiver/antenna quality, observation conditions (e.g. multipath), signal obstructions, GNSS receiver dynamics, among others. SIPE_{max} should be chosen to a sufficiently large value to accommodate the largest pseudorange error that potentially occur.

_{max}, \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \), NRCP, and the TNCP, assuming ∆t = 1.0 second. Two cases of \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \) are shown in Fig. 6: \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right)=0.15\ \mathrm{and}\ 0.35\ \mathrm{TECU}/\mathrm{second} \). As analyzed earlier, the theoretically maximal TNCP is irrelevant of the value of \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \) or ∆t. Thus the two TNCP curves actually overlap each other for the \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right)=0.15\ \mathrm{and}\ 0.35\ \mathrm{TECU}/\mathrm{second} \) cases. The TNCP in the rule two also increases with SIPE

_{max}in an approximately linear pattern. In terms of the NRCP, The NRCP is a function of all the three parameters. Fig. 6 shows that the NRCP increases linearly with SIPE

_{max}and is approximately proportional to the value of \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \). The NRCP corresponding to \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right)=0.35\ \mathrm{TECU}/\mathrm{second} \) is approximately 2.5 times of that for \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right)=0.15\ \mathrm{TECU}/\mathrm{second} \).

_{max}= 10 m,\( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right)=0.15 \) TECU/s and ∆t = 1.0 second as an example, the search spaces for \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) and \( \left[{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) can be determined as:

The remaining cycle slip candidate pairs \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}\right] \)

Series number | \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \)(unit: cycles) | \( \left[{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \)(unit: cycles) | \( {\mathrm{TECR}}_{\Phi}^{\mathrm{part}2}\left(\mathrm{k}\right) \)(unit: TECU/s) | \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}\right] \)(unit: cycles) |
---|---|---|---|---|

1 | − 104 | −81 | − 0.091 | [*] + (− 104,−81) |

2 | − 95 | − 74 | − 0.060 | [*] + (− 95,−74) |

3 | − 86 | −67 | − 0.030 | [*] + (− 86,−67) |

4 | −77 | − 60 | 0.000 | [*] + (− 77,−60) |

5 | −68 | −53 | 0.030 | [*] + (−68,−53) |

6 | −59 | −46 | 0.060 | [*] + (− 59,−46) |

7 | −50 | − 39 | 0.091 | [*] + (− 50,−39) |

8 | −41 | −32 | 0.121 | [*] + (− 41,−32) |

9 | −36 | −28 | −0.121 | [*] + (− 36,−28) |

10 | −27 | − 21 | − 0.091 | [*] + (− 27,−21) |

11 | −18 | −14 | − 0.060 | [*] + (−18,−14) |

12 | −9 | −7 | −0.030 | [*] + (−9,−7) |

13 | 0 | 0 | 0.000 | [*] + (0,0) |

14 | 9 | 7 | 0.030 | [*] + (9,7) |

15 | 18 | 14 | 0.060 | [*] + (18,14) |

16 | 27 | 21 | 0.091 | [*] + (27,21) |

17 | 36 | 28 | 0.121 | [*] + (36,28) |

18 | 41 | 32 | −0.121 | [*] + (41,32) |

19 | 50 | 39 | −0.091 | [*] + (50,39) |

20 | 59 | 46 | −0.060 | [*] + (59,46) |

21 | 68 | 53 | −0.030 | [*] + (68,53) |

22 | 77 | 60 | 0.000 | [*] + (77,60) |

23 | 86 | 67 | 0.030 | [*] + (86,67) |

24 | 95 | 74 | 0.060 | [*] + (95,74) |

25 | 104 | 81 | 0.091 | [*] + (104,81) |

In Table 2 [*] represents \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) and it is unknown yet. Once the \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) is known, the absolute values for the cycle slip pairs in the last column of Table 2 can be determined. In practical implementation, the exact value of \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) can be determined easily as long as the GNSS data are available. From Table 2 it can be seen that there is a difference of a few cycles in size between \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) and other cycle slip pairs. As shown in row 13 of Table 2, the cycle slip candidate pair with the smallest \( {\mathrm{TECR}}_{\Phi}^{\mathrm{part}2}\left(\mathrm{k}\right) \) is [∗] + (0, 0), i.e. \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right]=\left[\ast \right] \). The cycle slip candidate pair with the 2nd smallest \( {\mathrm{TECR}}_{\Phi}^{\mathrm{part}2}\left(\mathrm{k}\right) \) is [∗] ± (9, 7), as shown in rows 12 and 14. It can be seen in Table 2 the smallest difference between the cycle slip candidate pairs is (±9, ±7), namely 9 cycles on L1 frequency and 7 cycles on L2 frequency. Such a magnitude of difference is large and can be detected using other methods such as low-order polynomial fitting. Thus the identification of the correct cycle slip pair from the remaining pairs in Table 2 will be relatively easy. To clearly illustrate the large difference between different cycle slip candidate pairs, another example for SIPE_{max} = 100 *m*, \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right)=0.15\ \mathrm{TECU}/\mathrm{second} \) and ∆t = 1.0 second is shown in Fig. 7. The NRCP is 247. The NRCP is considerably larger than 25 shown in Table 2 because SIPE_{max} here is 10 times larger. All the remaining 247 cycle slip candidate pairs are shown in Fig. 7. Only three pairs, represented by red stars in Fig. 7, have a distance to the \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) not larger than 10 cycles, i.e. \( \left|{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right|\le 10 \) and \( \left|{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right|\le 10 \). Only two pairs, denoted as black squares, have a distance to the \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) not larger than 20 cycles, i.e. \( 10<\left|{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right|\le 20 \) and \( 10<\left|{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right|\le 20 \). All the other 242 pairs have a large distance to \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \), i.e. \( \left|{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right|>20 \) and \( \left|{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}-{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right|>20 \). The large distances from each pair of candidate cycle slips to \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) can be translated into large geometrical distances by multiplying their corresponding wavelengths. Thus the identification of the correct cycle slip candidate pair is not a difficult task since all the candidate pairs are separated by large geometrical distances.

### Cycle slip further validation

In the real implementation of cycle slip detection, the dual-frequency GPS observation data are available. Thus the \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{min}}\right] \) and the column 5 in Table 2 can be numerically determined. The following question is how to validate the 25 remaining candidate pairs in Table 2 and eventually identify one correct cycle slip pair. In this study, the polynomial fitting method is used to validate the cycle slip candidate pairs and eventually identify the correct pair.

#### Polynomial fitting validation method

_{k}is a time interval, in unit of second, defined as time of epoch (k) minus a reference time that is normally chosen as the mid-point of a time series; C

_{i}are the fitting coefficients that are estimated from the least-squares using the carrier phase data series prior to epoch (k). The length of data series used for C

_{i}is chosen as 25 in this study. Normally the order q is chosen between 4 to 6 in the fitting (Beutler et al. 1984). In this study q = 5 is used. This low-order polynomial fitting method can be used to analyze the carrier phase data of both L1 and L2 frequencies. The fitted carrier phase data \( \widehat{\Phi_{\mathrm{j}}^{\mathrm{p}}}\left(\mathrm{k}\right),\mathrm{j}=1,2 \) are compared to the actually observed \( {\Phi}_{\mathrm{j}}^{\mathrm{p}}\left(\mathrm{k}\right) \). Their differences can be considered as cycle slips, which are denoted as \( {\Delta \mathrm{N}}_{\mathrm{j}}^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{p}\mathrm{oly}},\mathrm{j}=1,2 \):

Although it will fail to find one set of distances with \( \mathrm{d}{\left(\mathrm{i}\right)}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)}=\mathrm{d}{\left(\mathrm{i}\right)}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)}=\mathrm{d}{\left(\mathrm{i}\right)}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right),{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)}=0 \) due to polynomial fitting errors, one set of distances with the smallest magnitudes can be identified among all the NRCP sets of distances. The cycle slip candidate pair with the smallest distances is considered to the correct one.

As shown in Table 2, there are two special candidate pairs [*] + [41, 32] and [*] + [36, 28] (symmetrically also [*] + [− 41, − 32] and [*] + [− 36, − 28]). The distances between these two pairs are 5 cycles on L1 frequency and 4 cycles on L2 frequency. Compared to the distances between any other pairs, the 5 cycle and 4 cycle distances are the shortest (i.e. \( \left|{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand},\mathrm{i}}-{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand},\mathrm{j}}\right|\ge 5\ \mathrm{cycles} \) and \( \left|{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand},\mathrm{i}}-{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand},\mathrm{j}}\right|\ge 4\ \mathrm{cycles},\mathrm{i}\ne \mathrm{j} \)). In the possible cases where the correct cycle slip pair is [*] + [41, 32] or [*] + [36, 28], the fitting error \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{p}\mathrm{oly}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{p}\mathrm{oly}}\right] \) should be small enough in order to distinguish the two pairs using the judgment criteria given in Eq. (27). More specifically, the fitting error \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)} \) and \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)} \) should be no more than half of the minimum distances, i.e. \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)}\le 2\ \mathrm{cycles} \) and \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)}\le 2\ \mathrm{cycles} \). Otherwise it will be difficult to distinguish the two pairs: [*] + [41, 32] or [*] + [36, 28].

It should be noted that in Eq. (28), the cycle slip truths \( {\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{truth}} \) and \( {\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{truth}} \) at epoch (k) are actually unknown yet, because we are still in the process of validating the cycle slip candidates at this epoch. Thus \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)} \) and \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)} \) at epoch (k) are in fact unknown. Considering that the GNSS carrier phase quality (except the potential integer cycle slip at epoch (k)) is consistent and stable within a short period of time, it is reasonable to assume that the polynomial fitting errors \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{s}\right)} \) and \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{s}\right)}\ \left(\mathrm{s}=\mathrm{k}-\mathrm{m},\mathrm{k}-\mathrm{m}+1,\cdots \mathrm{k}-1\right) \) at the past m epochs ahead of the epoch (k) have behavior similar to that at epoch (k). If \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{s}\right)}\le 2\ \mathrm{cycles} \) and \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{s}\right)}\le 2\ \mathrm{cycles}\ \left(\mathrm{s}=\mathrm{k}-\mathrm{m},\mathrm{k}-\mathrm{m}+1,\cdots \mathrm{k}-1\right) \) and m is not a large number, it is reasonable to assume that the statement \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)}\le 2\ \mathrm{cycles} \) and \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)}\le 2\ \mathrm{cycles} \) is also valid at epoch (k). In this study, the value of m is chosen as 5.

In order to estimate the \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{s}\right)} \) and \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{s}\right)}\ \left(\mathrm{s}=\mathrm{k}-\mathrm{m},\mathrm{k}-\mathrm{m}+1,\cdots \mathrm{k}-1\right) \), the polynomial fitting using Eqs. (25) and (26) is actually performed for each epoch (s). The cycle slip obtained from the polynomial fitting is denoted as \( {\Delta \mathrm{N}}_{\mathrm{j}}^{\mathrm{p}}{\left(\mathrm{s}\right)}_{\mathrm{p}\mathrm{oly}}\ \left(\mathrm{j}=1,2\right) \) at the epoch (s). It should be noted that the epochs ahead of epoch (k) are assumed to be cycle slip free. If cycle slips indeed occur at those epochs, they should have been detected and corrected using the methods presented in this paper and Liu (2011). Since epoch (s) has no cycle slip, the truth value of cycle slip \( {\Delta \mathrm{N}}_{\mathrm{j}}^{\mathrm{p}}{\left(\mathrm{s}\right)}_{\mathrm{truth}} \) at epoch (s) should be 0. Following Eq. (28), the \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{s}\right)} \) and \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{s}\right)} \) can be easily calculated as \( {\Delta \mathrm{N}}_{\mathrm{j}}^{\mathrm{p}}{\left(\mathrm{s}\right)}_{\mathrm{p}\mathrm{oly}}\ \left(\mathrm{j}=1,2\right) \). When \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{s}\right)} \) and \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{s}\right)} \) satisfy the condition: \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{s}\right)}\le 2\ \mathrm{cycles} \) and \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{s}\right)}\le 2\ \mathrm{cycles} \), it is reasonably safe to assume that \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)}\le 2\ \mathrm{cycles} \) and \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)}\le 2\ \mathrm{cycles} \).

The implementation of polynomial fitting method is straightforward and it is effective in most cases. However it is possible that at some epochs (s) (s = k − m, k − m + 1, ⋯k − 1), the fitting error \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{s}\right)} \) or \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{s}\right)} \) might be larger than 2 cycles at some epochs or at one of the two frequencies. However it should be noted that even if there is only one frequency with the fitting error satisfying the required condition, it is still valid to judge the correct cycle slip candidate pair \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand},\kern0.5em \mathrm{i}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand},\kern0.5em \mathrm{i}}\right] \) because the cycle slip candidates are always used in pairs. Also it is not necessary for all the m epochs to have fitting errors \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{s}\right)} \) and/or \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{s}\right)} \) smaller than the specified requirement. Our extensive data analyses show that it is sufficient if a majority of the m epochs have their fitting errors \( {\upvarepsilon}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{s}\right)} \) and/or \( {\upvarepsilon}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{s}\right)} \) meeting the requirement.

## Result

### Data description

Description of all the test datasets

Dataset | Collection date | GPS receiver model | Original sampling rate (second) | Daily average Kp index | GPS receiver location | ||
---|---|---|---|---|---|---|---|

Station | Latitude (deg) | Longitude (deg) | |||||

1 | 2001–03-31 | AOA SNR-12 ACT | 1 | 7.6 | CHUR Manitoba, Canada | 58.7591 | −94.0887 |

2 | 2011–10-31 | TRIMBLE NETR8 | 1 | 2.1 | NWOT Colorado, USA | 40.0554 | − 105.5905 |

3 | 2011–10-31 | TRIMBLE NETRS | 1 | 2.1 | LOW3 Colorado, USA | 39.9495 | −105.1943 |

4 | 2011–10-31 | TRIMBLE NETRS | 1 | 2.1 | OKL4 Oklahoma, USA | 36.0652 | −97.2151 |

5 | 2011–10-31 | TRIMBLE NETRS | 1 | 2.1 | GRS2 New Mexico, USA | 34.3580 | −106.6794 |

6 | 2011–10-31 | TRIMBLE NETRS | 1 | 2.1 | SHR1 New Mexico, USA | 34.3350 | −106.7450 |

7 | 2011–09-10 | JPS LEGACY | 1.0 | 4.7 | ADIS Addis Ababa, Ethiopia | 9.0351 | 38.7663 |

8 | 2011–09-10 | JPS LEGACY | 1.0 | 4.7 | KOUR Kourou, French Guyana | 5.2522 | −52.8060 |

9 | 2011–09-10 | JPS LEGACY | 1.0 | 4.7 | MAL2 Malindi, Kenya | −2.9960 | 40.1940 |

10 | 2011–10-31 | TRIMBLE NETRS | 0.2 | 2.1 | PAL2 Antarctica | −64.7751 | −64.0511 |

11 | 2011–10-31 | TRIMBLE NETRS | 0.2 | 2.1 | MCMD Antarctica | −77.8383 | 166.6693 |

12 | 2011–10-31 | TRIMBLE NETRS | 0.2 | 2.1 | AMU2 South Pole, Antarctica | −89.9989 | −110.7540 |

13 | 2010–04-06 | IGOR | 1 | 4.9 | COSMIC spaceborne, ~ 800 km altitude |

In summary, the 13 datasets demonstrate a great number of diversities in terms of characteristics. The datasets studied here have a good representation of all kinds of observation conditions that can be encountered in practical GPS applications.

### Test configuration

The simulated cycle slip pairs and their impact on artificial TECR (assuming the data interval ∆t = 1.0 second)

Test case 1 | Test case 2 | Cycle slip on GPS L1 \( {\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right) \) (cycle) | Cycle slip on GPS L2 \( {\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right) \)(cycle) | TECR caused by cycle slips \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right),{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)\right] \) (TECU/s) |
---|---|---|---|---|

δP δP | δP δP | −77 | −60 | 0.0000 |

−9 | −7 | −0.0302 | ||

−5 | −4 | 0.2417 | ||

−4 | −3 | −0.2719 | ||

−1 | −1 | 0.5135 | ||

−125 | + 11 | −252.1389 |

Figure 8 shows that the simulation start time for each satellite is different. The start epoch for each satellite is essentially randomly selected as long as there are at least 50 cycle slip free epochs after a given epoch. It is worth pointing out that the start time for each satellite does not have to be different. One of the advantageous features of this cycle slip detection and fix method is that it works on a satellite-by-satellite basis. Each satellite utilizes its own data only and it does not use any other satellites’ data. This satellite-wise cycle slip detection and fix method thus can still work effectively even if all the tracked satellites of a single epoch experience cycle slips at the same moment.

_{max}and one pair of special cycle slips are added to 25 epochs evenly over a period of 50 consecutive epochs. Namely, one simulation is added at an interval of every 2 epochs. This simulation scheme represents a very high frequency of cycle slip occurrence in GPS data (50% in time, 25 out of 50 epochs). All the simulation test schemes are summarized in Table 5. Figure 9 shows the special cycle slip [− 77, − 60] is added to 25 epochs of PRN 10 for the COSMIC spaceborne GPS dataset.

The simulation test schemes

Scheme no. | Simulated SIPE error on pseudoranges (m) | Simulated cycle slip on carrier phase (cycle) | Data | Satellites | Simulated epochs | ||
---|---|---|---|---|---|---|---|

P1 | P2 | L1 | L2 | ||||

1 | 50 | 50 | −77 | −60 | All 13 datasets | All the valid satellites in each dataset | 25 epochs for each satellite, at an interval of 2 epochs |

2 | 50 | 50 | −9 | −7 | |||

3 | 50 | 50 | −5 | −4 | |||

4 | 50 | 50 | −4 | −3 | |||

5 | 50 | 50 | −1 | −1 | |||

6 | 50 | 50 | −125 | + 11 | |||

7 | 750 | 1000 | −77 | −60 | |||

8 | 750 | 1000 | −9 | −7 | |||

9 | 750 | 1000 | −5 | −4 | |||

10 | 750 | 1000 | −4 | −3 | |||

11 | 750 | 1000 | −1 | −1 | |||

12 | 750 | 1000 | −125 | + 11 |

### Test results of 13 GPS datasets

Results of cycle slip detection and fix

Data set # | # of tracked satellites | A | Simulated cycle slip pairs (cycles) | Simulated SIPE (m) | B | |
---|---|---|---|---|---|---|

1 | 29 | 725 | (−77, −60), (−9, −7), (−5, −4), (− 4, − 3), (− 1, − 1), (− 125, + 11) | \( \updelta {\mathrm{P}}_1^{\mathrm{p}}\left(\mathrm{k}\right)=50 \) \( \updelta {\mathrm{P}}_2^{\mathrm{p}}\left(\mathrm{k}\right)=50 \) | \( \updelta {\mathrm{P}}_1^{\mathrm{p}}\left(\mathrm{k}\right)=750 \) \( \updelta {\mathrm{P}}_2^{\mathrm{p}}\left(\mathrm{k}\right)=1000 \) | 0 |

2 | 29 | 725 | 0 | |||

3 | 24 | 600 | 0 | |||

4 | 25 | 625 | 0 | |||

5 | 26 | 650 | 0 | |||

6 | 23 | 575 | 0 | |||

7 | 31 | 775 | 0 | |||

8 | 29 | 725 | 0 | |||

9 | 28 | 700 | 0 | |||

10 | 29 | 725 | 0 | |||

11 | 29 | 725 | 0 | |||

12 | 29 | 725 | 0 | |||

13 | 30 | 750 | 0 |

## Discussion

The proposed method has demonstrated its robust performance through extensive tests using 12 test schemes with 13 datasets of various characteristics. It has shown that the method works reliably to detect very small cycle slips (−1, −1) and other cycle slip pairs even under very challenging test scenarios – with high level of ionospheric activities, high level of dynamics of a spaceborne GPS receiver, and very large value of SIPE. The 5 special cycle slip pairs are considered special because they are more difficult to be detected than others. They produce minimum amount of artificial TECR, which represents a weak signal for cycle slip detection and fix using this TECR-based method. The occurrence frequency of simulated cycle slips is intentionally set high, 50% in time domain. This test setting is essentially more challenging than most real-world data collection situations.

It is worth noting that in the cycle slip detection and fix, the magnitude of SIPE_{max} needs to be known in advance. This paper simulates two cases: SIPE_{max} = 50 m and SIPE_{max} = 1000 m. This value must be predefined in the computer program before the implementation of this method. This is a disadvantage of this method because it is usually unknown how much the SIPE is. The specification of the SIPE_{max} value in computer program is not an optimal solution. When there is no SIPE or actual size of SIPE is less than SIPE_{max}, the use of SIPE_{max} simply increases volumes of the search spaces \( {\mathrm{SS}}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)} \) and \( {\mathrm{SS}}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)} \), as shown in Eqs. (8) and (9). Subsequently more cycle slip candidates \( \left[{\Delta \mathrm{N}}_1^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}},{\Delta \mathrm{N}}_2^{\mathrm{p}}{\left(\mathrm{k}\right)}_{\mathrm{cand}}\right] \) need to be searched and validated. The computational burden is unnecessarily increased, although it is normally not a problem for today’s GNSS receiver or personal computer. When the actual SIPE is larger than the SIPE_{max} specified in computer program, it is very possible that incorrect cycle slip detection and fix results will be produced. Thus it is advised to predefine a sufficiently large SIPE_{max} in practical implementation, by considering the specific GNSS receiver/antenna quality, observation conditions as well as empirical knowledge about the pseudorange quality. How to determine the magnitude of SIPE_{max} is not in the scope of this study but will be studied in the future.

One might be thinking of determining the search spaces \( {\mathrm{SS}}_{{\Delta \mathrm{N}}_1^{\mathrm{p}}\left(\mathrm{k}\right)} \) and \( {\mathrm{SS}}_{{\Delta \mathrm{N}}_2^{\mathrm{p}}\left(\mathrm{k}\right)} \) without the use of pseudorange data. The approach is to use polynomial fitting method or high-order epoch-wise differencing method to predict the cycle slips at epoch (k), then the search spaces can be defined. The risk is that it might not get a close enough estimate of the cycle slips when the receiver clock has large variations. It is true that the search spaces can be appropriately expanded to handle the situation. However, how much expansion is appropriate is difficult to calculate.

In this study, the TECR threshold is defined as \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right)=0.35\ \mathrm{TECU}/\mathrm{second} \). This parameter is considered to be extremely large already. The TECR value observed using ground-based static GPS receiver in Hong Kong (an equatorial region) during the 31 March 2001 when a severe geomagnetic storm occurred was just 0.03 TECU/s (Liu and Chen, 2009). The specified \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \) is more than 10 times larger than the TECR values observed at equatorial region during very active ionosphere. Our test results show that it is more than sufficient even for spaceborne high dynamics receivers.

In order to have more rigor test on the method, actually another test is done with the COSMIC satellite-borne GNSS dataset and one static dataset (at CHUR station). In this test, no cycle slip is simulated to the carrier phase data but SIPE are simulated to the pseudoranges. This is equivalent to adding cycle slips (0, 0) to the carrier phase measurements. The P1 and P2 pseudoranges are added an error of 1000 m and 2000 m, respectively, every two epochs during the 50-epoch period. All the tracked satellites are simulated with SIPE errors. The results show that no single cycle slip is detected. This consistently indicates the robustness of this method.

It should be pointed out the proposed cycle slip detection and repair method is primarily for high rate (1 Hz or higher) dual-frequency GNSS applications. In principle, this method is valid for lower rate GNSS data, e.g. 30.0 s but it has not been tested. The TECR threshold for the lower rate GNSS data needs to be carefully recalculated and redefined. The detection and validation of small cycle slips might be more challenging because of the larger interval between two neighboring epochs. Nowadays high rate (1.0 Hz or higher) GNSS data are increasingly used in many regional, national and international GNSS networks. More and more applications and users rely on the provision of real-time positioning, navigation and monitoring services. The innovative method addressed in this paper is particularly useful for these real-time scenarios.

This new method is particularly useful for those GNSS applications under degraded observation conditions such as multipath rich environments, for both undifferencing such as Precise Point Positioning (PPP) and the traditional double-differencing purposes. Typical scenarios include the GNSS RTK in canopy, under foliage or near buildings, as well as aircraft navigation in airports. The reception of GNSS signals under these situations is usually less optimal compared to the open-sky environments. Both carrier phase and pseudorange measurements are prone to anomalies under those degraded observation conditions. The method proposed in this study provides a complete solution to eliminate the impact of arbitrarily large pseudorange errors on cycle slip detection and fix. The extensive tests demonstrate that this method is effective for detecting and fixing cycle slips even with arbitrarily large pseudorange errors. Currently multiple GNSS systems are still under development and it is understandable the measurements at the early development stages might not be as good as others. This method is particularly useful to correct the cycle slips for those measurements with compromised stabilities and accuracies.

In order to reduce the sizes of the search spaces, appropriate methods should be developed to determine the value SIPE_{max} as accurate as possible. The number of searches can be accordingly reduced and the computation efficiency can be increased. With the GNSS modernization, the users may employ carrier phase and pseudorange measurements from three or even more frequencies. The method can be applied to the multiple frequency circumstance. The cycle slip detection and repair on multiple frequencies in principle is same as the dual frequency. As a matter of fact, the availability of multiple frequency observations offers more opportunities to validate the cycle slip detection and repair results.

## Conclusion

This paper describes an innovative method for carrier phase cycle slip detection and fix using one single GNSS receiver, even with arbitrarily large errors in pseudoranges. This method requires one single dual-frequency GNSS receiver only, ideally with high rate (e.g. 1 Hz) observations. With a predefined maximum value of sudden increase of pseudorange errors SIPE_{max}, the search spaces for dual-frequency cycle slip candidates can be determined. The TNCP can be precisely calculated with the knowledge of SIPE_{max}. To search for the correct cycle slip candidate, two rules are proposed to validate the cycle slip candidate pairs. One rule is called “widelane cycle slip variation” and the other is the “TECR threshold” rule. The use of rule one can effectively reject over 75% candidates while the rule two is more effective and it can reject over 99.9% candidates. The number of remaining cycle slip candidate pairs after implementing the first rule can be determined as long as SIPE_{max} is defined. The NRCP after implementing the second rule can also be exactly determined with the knowledge of SIPE_{max}, TECR threshold \( {\mathrm{TECR}}_{\Phi}^{\mathrm{max}}\left(\mathrm{k}\right) \), and the GNSS data interval ∆t. This implies that no GNSS measurement is required for NRCP determination and that the NRCPs can be determined in advance even before making any actual GNSS observation.

The new method is extensively tested by 13 different datasets of various characteristics, including COSMIC spaceborne GPS receiver and ground-based receivers, GPS data under high level of ionospheric activity, various GPS receiver manufacturers and models. The results show that this method can effectively detect and fix virtually any cycle slips even with a SIPE_{max} = 1000 m.

This method detects and fixes cycle slip on a satellite-wise, real-time basis. The cycle slip detection and fix for each satellite is completely independent and does not rely on the information of any other satellites. The success of this method heavily relies on the use of the ionospheric physical property: TECR not exceeding the specified TECR threshold. Taking advantage of this property, cycle slip detection and fix is still successful even if all the GNSS satellites of a given epoch simultaneously experience arbitrarily large SIPE and any kind of cycle slips in the carrier phase data. The only disadvantage of the current method is that the parameter SIPE_{max} needs to be specified in advance before actual cycle slip detection and fix. Thus a sufficiently large value has to be defined to prepare for the worst situation. This might unnecessarily increase computational burden.

## Notes

### Acknowledgements

Dr. Simon Banville at Natural Resources of Canada, Canada and Dr. Xiaohong Zhang at Wuhan University, China were thanked for helping analyze two datasets using their own methods/programs for performance comparison purpose.

### Funding

The support from the Hong Kong Polytechnic University (Projects No. G-YBDA PolyU 152103/14E, G-YBM3 PolyU 152168/15E, 4-BCBT and 1-BBYH) are acknowledged. The support from the Key Program of the National Natural Science Foundation of China (project No.: 41730109) is acknowledged.

### Author’s contributions

This manuscript does not report on or involve the use of any animal or human data or tissue. This manuscript does not contain any individual persons data. Data may be available upon request. Please contact author for data access. This paper is the sole contribution from the author Zhizhao Liu. The author read and approved the final manuscript.

### Competing interests

The author declares that he has no competing interests.

### Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

## References

- Banville S, Langley RB (2010) Instantaneous cycle-slip correction for real-time PPP applications. Navig. J Inst of Navig 57(4):325–334CrossRefGoogle Scholar
- Bertiger W, Desai SD, Haines B, Harvey N, Moore AW (2010) Single receiver phase ambiguity resolution with GPS data. J Geod 84(5):327–337CrossRefGoogle Scholar
- Beutler G, Davidson DA, Langley RB, Santerre R, Vaníček P, Wells DE (1984) Some theoretical and practical aspects of geodetic positioning using carrier phase difference observations of GPS satellites. Department of Surveying Engineering Technical Report 109. University of New Brunswick, Fredericton, N.B, Canada, p 85Google Scholar
- Bisnath SB (2000) Efficient automated cycle-slip correction of dual-frequency kinematic GPS data. Proceedings of the Institute of Navigation GPS 2000, Salt Lake City, pp 145–154Google Scholar
- Blewitt G (1990) An automatic editing algorithm for GPS data. Geophys Res Lett 17(3):199–202CrossRefGoogle Scholar
- Bruyninx C, Baire Q, Legrand J, Roosbeek F (2011) The EUREF permanent network (EPN): recent developments and key issues. Symposium of the IAG Subcommission for Europe (EUREF), Chisinau, pp 25–28Google Scholar
- Colombo OL, Bhapkar UV, Evans AG (1999) Inertial-aided cycle-slip detection/correction for precise, long-baseline kinematic GPS. Proceedings of the 12th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS 1999), Nashville, pp 1915–1922Google Scholar
- de Lacy MC, Reguzzoni M, Sansò F (2011) Real-time cycle slip detection in triple-frequency GNSS. GPS Solut 15. https://doi.org/10.1007/s10291-011-0237-5
- de Lacy MC, Reguzzoni M, Sansò F, Venuti G (2008) The Bayesian detection of discontinuities in a polynomial regression and its application to the cycle-slip problem. J Geod 82:527–542. https://doi.org/10.1007/s00190-007-0203-8 CrossRefGoogle Scholar
- Defraigne P, Bruyninx C (2007) On the link between GPS pseudorange noise and day-boundary discontinuities in geodetic time transfer solutions. GPS Solutions 11(4):239–249CrossRefGoogle Scholar
- Dow JM, Neilan RE, Rizos C (2009) The international GNSS service in a changing landscape of global navigation satellite systems. J Geod 83(3–4):191–198CrossRefGoogle Scholar
- Foster JC, Erickson PJ, Coster AJ, Goldstein J, Rich FJ (2002) Ionospheric signatures of plasmaspheric tails. Geophys Res Lett 29(13):1623. https://doi.org/10.1029/2002GL015067 CrossRefGoogle Scholar
- Ge M, Gendt G, Rothacher M, Shi C, Liu J (2008) Resolution of GPS carrier-phase ambiguities in precise point positioning (PPP) with daily observations. J Geod 82:389–399. https://doi.org/10.1007/s00190-007-0187-4 CrossRefGoogle Scholar
- Geng J, Teferle FN, Shi C, Meng X, Dodson AH, Liu J (2009) Ambiguity resolution in precise point positioning with hourly data. GPS Solut 13(4):263–270CrossRefGoogle Scholar
- Hatch R (1982) Synergism of GPS code and carrier measurements. Proceedings of the 3rd International Geodetic Symposium on Satellite Doppler Positioning, Las Cruces, pp 1213–1231Google Scholar
- Hatch R (1986) Dynamic differential GPS at the centimeter level. Proceedings of the 4th International Geodetic Symposium on Satellite Positioning, Austin, pp 1287–1298Google Scholar
- Hofman-Wellenhof B, Lichtenegger H, Collins J (1994) Global positioning system: theory and practice, 3rd edn. Springer-Verlag, New YorkCrossRefGoogle Scholar
- Hwang C, Tseng TP, Lin TJ, Švehla D, Hugentobler U, Chao BF (2010) Quality assessment of FORMOSAT-3/COSMIC and GRACE GPS observables: analysis of multipath, ionospheric delay and phase residual in orbit determination. GPS Solut 14:121–131. https://doi.org/10.1007/s10291-009-0145-0 CrossRefGoogle Scholar
- Kim D, Langley RB (2001) Instantaneous real-time cycle-slip correction of dual frequency GPS data, vol 2011. Proceedings of the International Symposium on Kinematic Systems in Geodesy, Geomatics and Navigation, Banff, pp 255–264Google Scholar
- Lachapelle G, Hagglund J, Falkenberg W, Bellemare P, Casey M, Eaton M (1986) GPS land kinematic positioning experiments. Proceedings of the 4th International Geodetic Symposium on Satellite Positioning, Austin, pp 1327–1344Google Scholar
- Landau H (1989) Precise kinematic GPS positioning experiences on a land vehicle using TI 4100 receivers and software. Bulletin Géodésique 63(1):85–96CrossRefGoogle Scholar
- Larson KM (2009) GPS seismology. J Geod 83(3–4):227–233CrossRefGoogle Scholar
- Le AQ, Tiberius C (2007) Single-frequency precise point positioning with optimal filtering. GPS Solut 11(1):61–69CrossRefGoogle Scholar
- Leandro RF, Santos MC, Langley RB (2011) Analyzing GNSS data in precise point positioning software. GPS Solut 15(1):1–13CrossRefGoogle Scholar
- Lee HK, Wang J, Rizos C (2003) Effective cycle slip detection and identification for high precision GPS/INS integrated systems. The J of Navig 56(3):475–486. https://doi.org/10.1017/S0373463303002443 CrossRefGoogle Scholar
- Liu H, Li X, Ge L, Rizos C, Wang F (2009) Variable length LMS adaptive filter for pseudorange multipath mitigation based on SydNET stations. J Appl Geod 3(1):35–46. https://doi.org/10.1515/JAG.2009.004 Google Scholar
- Liu ZZ (2011) A new automated cycle slip detection and repair method for a single dual-frequency GPS receiver. J Geod 85(3):171–183. https://doi.org/10.1007/s00190-010-0426-y CrossRefGoogle Scholar
- Liu ZZ, Chen W (2009) Study of the ionospheric TEC rate in Hong Kong region and its GPS/GNSS application. Proceedings of International Technical Meeting on GNSS Global Navigation Satellite System - Innovation and Application, Beijing, pp 7–9Google Scholar
- Melbourne WG (1985) The case for ranging in GPS based geodetic systems. In: Clyde Goad, US (ed) Proceedings of the first international symposium on precise positioning with the global positioning system. Department of Commerce, Rockville, pp 373–386Google Scholar
- Parkinson BW, Spilker JJ (1996) Global positioning system: theory & applications. Progress in astronautics and aeronautics, vol 163. American Institute of Aeronautics and Astronautics, WashingtonGoogle Scholar
- Teferle FN, Orliac EJ, Bingley RM (2007) An assessment of Bernese GPS software precise point positioning using IGS final products for global site velocities. GPS Solut 11(3):205–213CrossRefGoogle Scholar
- Wu B-H, Chu V, Chen P, Ting T (2005) FORMOSAT-3/COSMIC science mission update GPS. Solut 9:111–121. https://doi.org/10.1007/s10291-005-0140-z CrossRefGoogle Scholar
- Wübbena G (1985) Software developments for geodetic positioning with GPS using TI 4100 code and carrier measurements. In: Clyde Goad, US (ed) Proceedings of the first international symposium on precise positioning with the global positioning system. Department of Commerce, Rockville, pp 403–412Google Scholar
- Xu G (2007) GPS: theory, algorithms and applications, 2nd edn. Springer-Verlag Berlin Heidelberg, p. 340. https://doi.org/10.1007/978-3-540-72715-6
- Zhang X, Li X (2011) Instantaneous re-initialization in real-time kinematic PPP with cycle slip fixing. GPS Solut 15. https://doi.org/10.1007/s10291-011-0233-9
- Zumberge J, Heflin MB, Jefferson DC, Watkins MM, Webb FH (1997) Precise point positioning for the efficient and robust analysis of GPS data from large networks. J Geophys Res 102(B3):5005–5017CrossRefGoogle Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.