GPS Cycle Slip Detection and Correction at MeasurementLevel

Carrier phase measurements are much more precise than pseudorange measurements and can be used to achieve very accurate positioning solutions. However, carrier phase measurements require resolution of integer ambiguities before precise positioning can be achieved. The GPS receiver can keep track of the integer number of cycles as long as the receiver maintains lock to the satellite signal. However, in reality, the GPS signal could be interrupted momentary by some disturbing factors leading to a discontinuity of an integer number of cycles in the measured carrier phase. This inter-ruption in the counting of cycles in the carrier phase measurements is known as a cycle slip. When a cycle slip occurs, the Doppler counter would restart causing a jump in the instantaneous accumulated phase by an integer number of cycles. Thus, the integer counter is reinitialized meaning that ambiguities are unknown again. In this event, either the ambiguities need to be resolved again or cycle slips need to be corrected to resume the precise positioning/navigation process. These cycle slips can, to some extent, be detected and ﬁxed to avoid delay and computation complexity attributed to integer ambiguity resolution. Researchers have been addressing the problem of cycle slip detection and correction for the last two decades. This paper provides a detailed survey for available techniques to tackle the problem showing their pros and cons.


Introduction
In Global Positioning System (GPS) navigation, carrier phase measurement can be used to achieve very precise positioning solutions. Although these measurements are much more precise than pseudorange measurements, they are ambiguous by an integer number of cycles. When these ambiguities are resolved, a sub-centimeter level positioning can be achieved. However, the GPS signal could temporarily be lost because of various disturbing factors such as trees, buildings, bridges and urban canyons. In kinematic applications, vehicle dynamics adds to this problem as well. This signal loss causes a discontinuity of an integer number of cycles in the measured carrier phase, known as cycle slip. Consequently, the integer counter is reinitialized, meaning that the integer ambiguities become unknown again. In this event, ambiguities need to be resolved once more to resume the precise positioning and navigation process. This is a computation-intensive and time-consuming task. Typically, it takes at least few minutes to resolve the ambiguities [1]. The ambiguity resolution is even more challenging in real time navigation due to the receiver dynamics and time sensitive nature of the kinematic solution. Therefore, it would save effort and time if these cycle slips could be detected and the phase measurements are corrected instead of waiting for ambiguity resolution. Figure 1 shows a graphical representation of cycle slips. Generally, there are three types of sources causing cycle slips ( [2], [3]). The first type is due to signal obstruction by surrounding obstacles such as trees, buildings, bridges, etc. This is the most common type and this is why we see more slips in kinematic environment data than static one. Secondly, slips resulting from the low signal-tonoise ratio of the measured signal which is usually because of multipath, low satellite elevation, or bad atmosphere conditions. The third source of cycle slips, though less common, is incorrect processing of the signal because of failure in the receiver software.
Once cycle slips are detected, there are two ways to handle them. One way is to repair them and the other is to resolve the integer ambiguities which have become unknown as a result of cycle slips. Advantage of former technique is that it could be done instantaneously but it requires exact estimation of the size of the slip. The latter solution is more secure [2] but it takes longer and is computationally intensive [4]. Therefore, to avoid delay and computation complexity, especially for real time applications, there have been many techniques proposed to the problem of cycle slip detection and correction. This paper provides a detailed survey for a variety of such available techniques showing their pros and cons.

GPS Observables Models
Before delving into further details, we will present the models used in this paper for code, phase, and Doppler measurements. The code measurement ( [5], [6]) is modeled by the following equation: where ρ is the measured phase between the receiver and satellite (meters), r is the true range between the receiver position at reception time and satellite position at transmission time (meters), c is speed of light (m/s), δtr is the receiver clock bias (seconds), δts is the satellite clock bias (seconds), I is the ionospheric delay (meters), T is the tropospheric delay (meters), ερ is the receiver measurement noise, multipath, and modeling errors (meters).
Cycle slip Figure 1: A cycle slip affecting phase measurements but not the pseudoranges.
The phase measurement is modeled ( [5], [6]) using the following equation: Where: φ is the measured phase between the receiver and satellite (meters), λ is the wavelength of the carrier signal N is the integer ambiguity term The Doppler ( [2], [5]) is represented by the following relationship: Where f d is the observed Doppler shift, r is the line-of sight range rate.
In many cases, when a dual-frequency receiver is available, measurements from both frequencies L1 and L2 are used to obtain combinations of measurements with wavelengths different from λL1 and λL2 [6]. Most common measurement combination is known as Wide lane (WL) which is of the following form: This virtual measurement has a wavelength λL12 = c/(fL1 − fL2) = 0.86cm

Basic Cycle Slip Detection and Correction Techniques
Cycle slip detection and correction usually happens in two steps, detection and fixing ( [2], [4]). In the first step, the location (time) of the slip is ascertained using some testing quantity. During the second step, the size of the slip is determined which is needed along with its location to fix the cycle slip. For GPS only systems, various measurements and combinations of measurements are used to detect cycle slips and calculate their size ( [2], [7]). Most used entities are phase-code (L1 or L2), phasephase (Dual frequency L1 and L2), Doppler (L1 or L2), and time-differenced phases (L1 or L2). In the systems where GPS and inertial navigation system (INS) are integrated, INS is used to predict the required parameter to help in cycle slip detection and correction. This parameter is usually the true receiver-to-satellite range in double-difference (DD) mode ( [1], [8]). Herein, we will go through main cycle slip detection and correction categories one by one; each time chronologically showing the related work to the corresponding category which usually involves some modifications.

Phase-code Comparison
The very basic technique to detect cycle slips is to compare the measured phase with the measured code. Involving the time argument and subtracting equations (1) and (2) we get: The ionospheric delay could be either modeled or neglected as the change in ionospheric delay between adjacent epochs would be very small. Also, the time difference between ambiguities is zero in case of no cycle slip; thus, the left side code-phase combination of equation (5) could be used as a testing quantity to detect cycle slips. However, the drawback of this simple quantity is that the noise level of the code measurements is much higher than that of phase measurements. Hence, this method can be used to detect only big cycle slips ([2], [7]). Some modifications are introduced to this technique in [9]. The test quantity to check for cycle slips is calculated twice, once based on code-phase measurements and second with estimations for code and phase values. Then a comparison is made between the two obtained quantities to decide whether a cycle slip is present or not. Results showed that cycle slips of one cycle were detected and fixed in some scenarios. However, the introduced approach was applied only for static (stationary) data instead of kinematic where cycle slips are more frequent and significant [1]. Besides, tests were done in post-processing mode whereas cycle slip detection and correction is more of a problem in real-time navigation. Furthermore, some work is needed to select optimal polynomial order to best fit the data sets for the required variable estimation.
A code-phase combination based algorithm which uses a wavelets technique combined with Lipchitz Exponents is introduced in [10]. Wavelets Transform is used here based on the fact that it is excellent in finding and detecting singularities in data because of its capability of decomposing a signal into fundamental base functions that can be correctly localized in both time and frequency domains. This is because the propagation of noise is different from the propagation of singularities between the wavelets levels of decomposition, representing discontinuities in the case of a cycle slip. Results showed a recovery success rate of 83% of the cycle slips. Authors recommend more investigation for the performance of the proposed technique over low cost receivers.

Phase-phase or Ionospheric Residuals
For a dual frequency receiver, measurements from both frequencies can be merged to detect and correct for cycle slips. Ionospheric term in equation (2) can be explicitly expressed, for both L1 and L2 as follows: Note that the tropospheric term is frequency independent therefore it is left intact. By forming the difference between the two equations we obtain: This form is known as ionospheric residual. All the right hand terms are time independent except of the ionospheric term which is scaled by a factor (1 − ). Accordingly, substituting with the right values for fL1 and fL2 one can find that the ionospheric influence is reduced by 65% [2]. If there is no cycle slip, the computed value of this difference (the ionospheric residual) is very small between two adjacent epochs. A sudden jump in successive computed values may indicate cycle slip(s) in one or both phases. Thus, the ionospheric residual can be used as a testing quantity for detecting cycle slips; however, there are some related shortcomings to this approach. First, this residual itself does not provide any information about the phase where cycle slip occurred. More research is required to explore this challenge [7]. Secondly, in some cases, special simultaneous cycle slips on and can result in a very small change in λL1∆NL1 − λL2∆NL2 which could lead to missing the detection of the cycle slip. Examples of such combinations are given in [2]. In addition, a dual frequency receiver is required to implement this technique; which is the present state of-the-art for cycle slip detection using GPS only data [8].
Authors of [11] introduced a test quantity for dual frequency double-differenced data by observing the change of the innovation process in extended Kalman filtering instead of the usual way of directly observing carrier phase data. They showed that if a cycle slip occurs, then the mean and covariance of the standard innovation process changes. The algorithm was tested with real receiver data but cycle slips were artificially simulated. Results show efficient detection of cycle slips on only one scenario. Furthermore, one major limitation of this method is the short baseline length (about 200-300 m) which does not reflect real-life scenario.
Geometry-free combination, introduced above, along with the so called Melbourne-Wbbena combination is used in [12]. The latter is similar to the Widelane combination. Using the first combination, phase measurements are compared to predicted phase values based on low degree polynomial fitting. If the difference is larger than some threshold, there will be cycle slips in the current epoch. For the second combination, the running mean of some testing quantity is investigated. Measured data points are compared with a threshold to the filtered mean. Occurrence of a cycle slip is indicated when the threshold is exceeded. Ionospheric term in used combinations is not minimized enough which affects the detection capacity. Results show correct detection of the simulated cycle slips in real kinematic data but no accuracy was quantified. Authors also mentioned that more testing is required in order to further validate the performance of the approach in relation to the levels of ionospheric delay, multipath and noise.
Another cycle slip detection and repair algorithm based on dual-frequency data is introduced in [13]. The algorithm jointly uses the ionospheric total electron contents rate (TECR) and Mel-bourneWbbena wide lane (MWWL) linear combination to determine cycle slips on both L1 and L2 independently. The idea behind this technique is that when there are cycle slips, the MWWL ambiguity will change and the ionospheric TECR will be extensively amplified. The TECR is calculated based on the phase measurements and compared to a prediction estimate based on previous epochs data (30 epochs). If a threshold is exceeded, a cycle slip is assumed to have occurred. The rational of this algorithm comes from the fact that during a short period of time (i.e. 1 s) the TECR will not exceed the predefined threshold . The strength of this algorithm is coming from combining the MWWL ambiguity and TECR information. Results showed that the algorithm detected and correctly repaired almost any cycle slips except for a few which were detected but incorrectly repaired under very active ionospheric conditions. Limitations include the need for many data epochs for the TECR term estimation in addition to the error associated with this estimation process.
All above research assumes a very small ionospheric change (residual) between adjacent epochs. However, this is not true in case of ionospheric scintillation. Research in [14] addresses the case of cycle slips under ionospheric scintillation circumstances where there is a bigger chance of occurrence of many continuous cycle slips that last for longer periods. The more intense and longer lasting the cycle slips the more complicated is the detection and correction process. Research suggested the use of non-geometry-free and ionosphere-free testing quantities combined of measurements from satellite-pairs to avoid code observation noise. Correctness of the proposed algorithm was shown in obtained R-ratio of 8.6. However, one drawback of the method was the need for three more equations than the cycle slip variables at the forth-order differencing which made the process unreliable in case of sequential cycle slips. For instance, cycle slips were only partly corrected due to continuous and long-lasting cycle slips (about 150 seconds).

Doppler Integration Method
Doppler is the instantaneous shift in the measured frequency that makes it a robust measurement suitable as an alternative to detect and correct cycle-slips ( [7], [15], [16]). Equation (3) relates the observed Doppler f d to the rate of change in rangeṙ.It can be re-written in the form of phase change as: Integrating the instantaneous Doppler yields the phase: Whereφ (t) is the estimated phase at time t. The discrete form is given in [14] as: Now the measured and the estimated phases are compared as follows: If the difference ∆N exceeds a threshold, that means there is a cycle slip of size ∆N . Otherwise, the current data epoch is free of cycle slips. This technique takes the advantage of the fact that Doppler measurements are immune to cycle slips. However, in reality, the deviation in the receiver's oscillator clock may result in Doppler measurement error [15]. Also, Doppler measurements are highly affected by high receiver dynamics ( [4], [8], [17]). In [16], two different algorithms were used to detect cycle slips. One is based on the Doppler phase estimation. Both algorithms showed equally good performance but based on the premise that cycle slips are usually larger than 10 cycles. Another claim made in the research is that faulty measurements have only local effects on kinematic results but not critical for the overall accuracy. However, justification of this claim needs further investigation. Doppler based algorithm is also implemented in [18]. The proposed method used rates of carrier-phase measurements and estimated Doppler measurements. Numerical backward difference approximation was used to calculate this rate. Cycle slips were detected by monitoring if there was a sudden increase in the estimated value or not. Results showed a decent cycle slip detection rate, albeit on simulated data. The algorithm used backward differentiation using three samples to estimate the rate of carrier-phase which was a twofold problem. First, the algorithm needed the data for three consecutive epochs. Second, if cycle slip occurs, it will be reflected in three consecutive results because of involving affected epoch three times in the calculations. Thus, two epochs reset time was required for each satellite after cycle slip detection.
The problem of the deviation in the receivers oscillator clock was addressed in [15]. Depending on the fact that the receivers clock oscillator is a non-ideal clock source and plays a part in the Doppler measurement error; the paper introduced a simplified oscillator model and then based on the oscillator model, a modified method was proposed, which avoided the influence of the local oscillator bias. The running mean of a Doppler based test quantity was checked against some predefined threshold. Some shortcomings exist in this method. First, the research ignores variation of atmospheric delay, satellite orbit bias, multipath, receiver system noise and assumes the use of high frequency receivers which are relatively expensive. Secondly, there was no demonstration of comparative analysis to reflect the effect of Doppler measurements bias resulting from the receivers clock inaccuracy.

Time-differenced Phases
High order time differencing is another approach for cycle slip detection and correction. The rationale of this method can be seen from an example given in [2]. Assuming that we have a signal represented by a time series y(ti), i = 1, 2, ...7 which has a jump of ε at time t4 as in Table 1. In this table, y 1 , y 2 , y 3 , y 4 represent the first-order, second-order, third-order, and fourth-order differences, respectively whereas Ω denotes a constant. From Table 1, we can see the amplification of a jump in higher order differences; for instance, a jump of ε at t4 is amplified by 3 at fourth-order differencing, y 4 . This improves the chance of detecting the jump ( [2], [3]). To take advantage of this idea in phase measurements, we recall equation (2) explicitly adding the time argument: Time differencing between two adjacent epochs can be expressed as: All the terms on the right hand side have low variation except of the ambiguity term; thus, any cycle slip will cause a jump in the time difference of the measured phase. Replacing in the previous example with cycle slip in the phase measurements, the method of high order time differencing becomes evident [2]. Practically, the algorithm is implemented by fitting the differencing data with polynomials. The polynomials are then used for interpolating the data around the testing epoch. The size of cycle slip, if any, is the difference between the computed and differenced data curves. An obvious limitation of this method is the requirement of many data epochs which makes it applicable only in post-processing applications [7]. Research in [3] adopts the time differencing approach. The paper introduces a combinational algorithm based on the high order time difference to detect and correct cycle slip exceeding two cycles and then uses the Lagrange interpolation to correct the small cycle slips. In short, the algorithm computes the 3-time differences on phase data to amplify cycle slips then fits the differenced data with 6-order Lagrange interpolation. The combinational algorithm could correct small cycle slip within the error of one cycle slip.
In [19], research is based on the assumption that most error sources are strongly correlated over a short period of time; therefore, their effects are greatly reduced when forming time-difference operation on the data. On the other hand, it takes into account the variation in satellite clock errors and tropospheric delay. With this in mind, it was affirmed that cycle slips preserved their integer nature and ambiguity resolution techniques could be applied to estimate the size of the detected slips. Thus, the algorithm could be summarized in two steps. First, the widelane (WL) ambiguities are fixed with the help of the Least-squares Ambiguity Decorrelation Adjustment (LAMBDA) method. Then, the size of the cycle slips on L1 is determined using the time-differenced geometry-free (GF) ambiguities with the previously fixed widelane ambiguities. Results showed a cycle slips correction rate of approximately 99% at a sampling interval of one second. However, it was also indicated that the method was particularly sensitive to un-modeled changes in ionospheric delay variations and quick variations of the multipath characteristics.  [2]).
In [20], the research used time-differenced carrier phase measurements from a standalone receiver where the integer ambiguities canceled, atmospheric and other temporally correlated errors were reduced, but any cycle slips would remain. Receiver Autonomous Integrity Monitoring (RAIM) methodology was then used to process the differenced data. RAIM, which poses a requirement of an over-determined system of equations, originates from civil aviation where measurement errors are rare but large which differs from the situation of cycle slips where errors are more frequent but small. However, RAIM is used in the aforementioned research based on the assumption that a biased observation in the measurement set does not fit well with the others. The results showed that the method was able to detect and identify single cycle slips but failed in the case of multiple slips scenario. The benefit of this method is that no reference receiver is needed; however, there still exists a major shortcoming that uncorrelated errors are amplified by a factor of √ 2.

Combined Solutions
Due to the limitations of the different cycle slip detection and correction techniques, some researchers are trying to combine more than one technique to get advantages of both. A valid example is provided in [21]; more than one method were merged to build up a strong cycle slip detection and correction algorithm. Using dual-frequency measurements, ranges were estimated first based on Doppler measurements; then, phase-code measurements along with range estimations were time-differenced. The two frequencies were treated individually in the beginning to detect cycle slips then combined in the form of geometry-free phase to reduce the number of obtained cycle-slip candidates. One limitation is that Time-differenced pseudoranges are suggested to be used instead of Doppler for receivers which do not provide Doppler measurements. Also, ionospheric delay, tropospheric delay, multipath error, and receiver noise are assumed to be small. Moreover, the introduced algorithm could inherit the same common limitations of least-squares estimation as it was an integral part of the algorithm at some stage to estimate the quasi-random errors.
In [22], authors introduced an artificial intelligence based technique that uses Bayesian Networks (BN) as a classifier. The research chooses BN for being powerful, yet relatively simple compared to other mathematical modeling approaches. Besides, the solution combines the first, second, and the third backward differences of the carrier phase measurements along with the difference between the Doppler value and the first difference as inputs. The classifier was implemented in such a way that did not need heavy computations and utilized fewer observations; therefore, it could be applied in either real time or post-processing mode. Results indicated that the algorithm was efficient in detecting and identifying the size of cycle slips but all the data was collected in static mode. Other drawbacks that need to be mentioned here (related to Neural Networks in general) are, the training time required for the Neural Network and the possibility of over-training the network.

Cycle Slip Detection and Correction Techniques with Inertial Aiding
GPS and INS possess complementary characteristics and hence, they are often integrated to provide a better navigation solution than a stand-alone GPS or INS. In the case of a cycle slip specifically, as the phase measurements need to be examined before being used, INS would be useful in detecting and correcting the slip by providing accurate estimations to be compared with the measured ones.
There has been some research in this regard involving INS in some different integration schemes. A filtering technique is usually employed to perform the GPS/INS integration and owing to its estimation optimality and recursive properties Kalman filter is most often used [23]. Figure 2 provides a general view of the mechanism of cycle slip detection and correction with inertial aiding. A general comparison between the basic cycle slip detection and correction techniques can be seen in Table 2.
In [4], a two-step algorithm was introduced. The first step was to detect cycle slips using Doppler measurements and Doppler estimations from phase measurements. The role of the integrated INS system comes in the second step where it provides an estimation of the receiver-satellite geometric range to calculate the size of the cycle slip, in case there is any. Authors explained that the algorithm was not applicable as the velocity vector of the receiver and hence its Doppler component is not sufficiently accurate.
The principle of the algorithm introduced in [8] is to compare dual-frequency DD phase measurements with estimated ones derived from the output of an INS system. The research presents a detailed analysis of the detection criterion and the determination of the cycle slip size on the DD measurements. However, the mechanism of determination of the resultant slips on each individual frequency (L1 and L2) was not shown, although claimed in the research. The research suggested continuous adjustment of the thresholds to make the algorithm work better. The results showed a perfect performance but with simulated cycle slip introduced into ideal-scenario. For instance, the test site was selected to provide good satellite visibility and no signal blocking. Also, reference-rover base line was less than 700 m for driving trials which is too limiting.
In [24], the algorithm uses information provided by the INS, and applies a statistical technique known as the cumulative-sum (CUSUM) to detect and determine the size of cycle slips. CUSUM is sensitive to small changes in the mean and/or standard deviation of measurements. Using this technique, the algorithm tracked the mean of the difference between the DD carrier phase measurements and the DD geometric ranges estimated by an INS system. Authors assumed that main error source was multipath and could be modeled or mitigated by some methods. Although, the algorithm showed very promising results, cycle slips were introduced in a clean data set. Also, tactical-trade C-MIGITS INS (5 deg/h, 500g) was used with reference-rover baseline of the order of only 50 meters.
GPS/MEMS-INS integration through Extended Kalman filter was implemented in [1]. Carrier phase measurements were checked out for cycle slips by tracking changes in the filters innovation vector against a threshold. The drawback of this technique is the use of phase-code measurements in determining the size of cycle slips. The results showed moderate fixation rate ranging from 93% in case of few cycle slips to 48.4% in case of extreme cycle slips. We improved the method where we introduced the use of Reduced Inertial Sensor System (RISS) [25]. The inertial system contained   only one gyroscope, two accelerometers, and vehicle wheel rotation sensor. The goal of using less number of sensors was to first eliminate unnecessary inertial sensor errors and the second is to reduce the cost of the Inertial Measurement Unit (IMU). The performance of the introduced algorithm was examined under different scenarios with different-intensity and variable-sized cycle slips. Results showed a very high detection ratio with higher accuracy in the case of large cycle slips achieving 100% detection ratio and accuracy of 99.76%. However, the accuracy was less in the case of small cycle slips with a higher mis-detection ratio. A moderate detection ratio (40%) and modest accuracy (36.86) were obtained when the slips are of sizes close to the test threshold. Also, an adaptive threshold selection criterion was applied which improved the performance of the algorithm. The burden is still the extra hardware cost of the required IMU. In [26], a cycle slip detection and correction method for Precise Point Positioning (PPP) GPS and MEMS grade INS integration was implemented. The introduced algorithm used the WL and Extra WL (EWL) measurement combinations to obtain longer wavelengths than L1 and L2 to improve the efficiency of the cycle slip detection and identification process. The proposed algorithm eliminates the need of a reference receiver; however, still involves satellite single differencing. Also, it requires a