Next Article in Journal
Consistent Monocular Ackermann Visual–Inertial Odometry for Intelligent and Connected Vehicle Localization
Next Article in Special Issue
Ionosphere-Constrained Single-Frequency PPP with an Android Smartphone and Assessment of GNSS Observations
Previous Article in Journal
Adaptive Weighted Graph Fusion Incomplete Multi-View Subspace Clustering
Previous Article in Special Issue
GNSS-Based Non-Negative Absolute Ionosphere Total Electron Content, its Spatial Gradients, Time Derivatives and Differential Code Biases: Bounded-Variable Least-Squares and Taylor Series
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Letter

A Modified TurboEdit Cycle-Slip Detection and Correction Method for Dual-Frequency Smartphone GNSS Observation

College of Oceanography and Space Informatics, China University of Petroleum, Qingdao 266580, China
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(20), 5756; https://doi.org/10.3390/s20205756
Submission received: 2 August 2020 / Revised: 2 October 2020 / Accepted: 9 October 2020 / Published: 10 October 2020
(This article belongs to the Special Issue GNSS Signals and Sensors)

Abstract

:
Recently, some smartphone manufacturers have subsequently released dual-frequency GNSS smartphones. With dual-frequency observations, the positioning performance is expected to be significantly improved. Cycle-slip detection and correction play an important role in high-precision GNSS positioning, such as precise point positioning (PPP) and real-time kinematic (RTK) positioning. The TurboEdit method utilizes Melbourne–Wübbena (MW) and phase ionospheric residual (PIR) combinations to detect cycle-slips, and it is widely used in the data processing applications for geodetic GNSS receivers. The smartphone pseudorange observations are proved to be much noisier than those collected with geodetic GNSS receivers. Due to the poor pseudorange observation, the MW combination would be difficult to detect small cycle-slips. In addition, some specific cycle-slip combinations, where the ratio of cycle-slip values at different carrier frequencies is close to the frequency ratio, are also difficult to be detected by PIR combination. As a consequence, the traditional TurboEdit method may fail to detect specific small cycle-slip combinations. In this contribution, we develop a modified TurboEdit cycle-slip detection and correction method for dual-frequency smartphone GNSS observations. At first, MW and PIR combinations are adopted to detect cycle-slips by comparing these two combinations with moving-window average values. Then, the epoch-differenced wide-lane combinations are used to estimate the changes of smartphone position and clock bias, and the cycle-slip is identified by checking the largest normalized residual whether it exceeds a predefined threshold value. The process of estimation and cycle-slip identification is implemented in an iterative way until there is no over-limit residual or there is no redundant measurement. At last, the cycle-slip values at each frequency are estimated with the epoch-differenced wide-lane and ionosphere-free combinations, and the least-square ambiguity decorrelation adjustment (LAMBDA) method is adopted to further obtain an integer solution. The proposed method has been verified with 1 Hz dual-frequency smartphone GNSS data. The results show that the modified TurboEdit method can effectively detect and correct even for specific small cycle-slip combinations, e.g., (4, 3), which is difficult to be detected with the traditional TurboEdit method.

1. Introduction

In May 2016, Google released an application programming interface (API), which makes the developers access global navigation satellite system (GNSS) raw measurements, including pseudorange, phase, and doppler measurements, in Android 7.0 and up [1]. In the past years, single-frequency GNSS chipsets are dominant in the smartphone market. With a large noise level of smartphone single-frequency GNSS measurements, the positioning accuracy and reliability are thus unsatisfactory, especially under complex conditions [2,3].
Innovatively, in May 2018, the world’s first dual-frequency GNSS smartphone produced by Xiaomi was launched. It is equipped with a Broadcom BCM47755 chipset, which is a dual-frequency (L1/L5+E1/E5a) GNSS chipset [4,5,6]. Subsequently, some smartphone manufacturers have recently released dual-frequency GNSS smartphones, e.g., P30/P30 Pro from Huawei, Galaxy Note 10/10+ from Samsung, One Plus 7 from OnePlus, etc., (https://developer.android.com). A series of data quality assessment and positioning algorithms based on the smartphone dual-frequency GNSS observations were carried out [5,6,7,8,9,10]. According to these published researches, the positioning performance with smartphone dual-frequency GNSS observations has been improved effectively thanks to the newly added L5/E5a signals. In GNSS high-precision positioning, such as real-time kinematic (RTK) positioning and precise point positioning (PPP), the GNSS phase measurements are necessarily applied, and they are desired to be continuously tracked. However, the discontinuities of GNSS phase observations, widely called cycle-slips, usually happen due to signal obstacles, large environment noise, strong electromagnetic interference, etc., [11]. Therefore, cycle-slip detection and correction are very crucial for phased-based GNSS high-precision positioning.
As an important and challenging issue in GNSS data preprocessing, lots of algorithms have been proposed for cycle-slip detection and correction in the past decades. These methods include phase ionospheric residual method [12], Kalman filtering based method [13], polynomial fitting method [14,15], high-order difference method [16], and wavelet transform method [17,18]. Each of these methods has its own limitations [19]. The TurboEdit algorithm, initially developed by Blewitt (1990), is an easy and effective cycle-slip detection method [20,21]. In addition, it has been widely applied in the high-precision GNSS data processing software, such as GIPSY, PANDA, and Bernese 5.x [22,23,24]. The TurboEdit algorithm utilizes Melbourne–Wübbena (MW) combination and phase ionospheric residual (PIR) combination to detect cycle-slips. The PIR combination is insensitive to special cycle-slips where the ratio of cycle-slip values at each carrier frequency is close to the frequency ratio, but the MW combination can benefit by detecting these special cycle-slips. However, the efficiency of detecting cycle-slips with the MW combination will decrease when applying it to the smartphone GNSS measurements due to its poor pseudorange. Miao et al. (2011) proposed a modified TurboEdit method for satellite-borne GPS observations by introducing a satellite elevation weighted factor to MW combination [19]. However, this method does not change the situation that the noise of MW combination is too large to detect small cycle-slips for smartphone GNSS measurements. In order to reduce the effect of the noise of MW combination, Cai et al. (2013) applied a forward and backward moving window averaging algorithm. Obviously, this method is only suitable for GNSS data post-processing [25]. In a word, the TurboEdit method needs to be advanced for cycle-slip detection of smartphone GNSS observations.
We propose a modified TurboEdit cycle-slip detection and correction method for dual-frequency smartphone GNSS observations. At first, the MW and PIR combinations are adopted to detect cycle-slips by comparing these two combinations with moving-window average values. Most of the cycle-slips are expected to be detected in this step. Then, the epoch-differenced wide-lane combinations are used to estimate the changes of smartphone position and clock bias by applying least-square adjustment. The largest normalized residual is sorted out and checked whether it exceeds the threshold value. If the largest normalized residual is bigger than the predefined threshold, both dual-frequency phase observations of the corresponding satellite are marked as cycle-slip. The process of estimation and cycle-slip identification is implemented in an iterative way until there is no over-limit residual or there is no redundant measurement. At last, the float cycle-slip values at two frequencies can be estimated by using the epoch-differenced wide-lane and ionosphere-free combinations, and then the least-square ambiguity decorrelation adjustment (LAMBDA) method is applied to obtain an integer solution of cycle-slips.
The rest of this paper is organized as follows. In Section 2, the modified TurboEdit cycle-slip detection and correction method is discussed in detail. In Section 3, the performance is evaluated with the collected dual-frequency smartphone GNSS measurements. Finally, conclusions are summarized in the last section.

2. Methodology

2.1. Traditional TurboEdit Algorithm

The GNSS raw code and phase measurements read as [26]:
{ P i = ρ + c ( d t r d t s ) + t r o p + i o n + ε P i L i = ρ + c ( d t r d t s ) + t r o p i o n + λ i N i + ε L i
where P i , L i denote code and phase measurements; the subscript i represents the carrier frequency; ρ is the geometric distance between receiver and satellite; d t r , d t s are the clock offsets at the receiver and satellite; t r o p , i o n represent the tropospheric and ionospheric delays; c , λ i are the speed of light and the wavelength, N i is the ambiguity; ε P i , ε L i denote the code and phase measurement noises including multipath errors.
In the traditional TurboEdit method, the cycle-slip detection is based on MW and PIR combinations. With dual-frequency smartphone GNSS observations, these two combinations can be formed as follows [27]:
{ L M W = f 1 L 1 f 5 L 5 f 1 f 5 f 1 P 1 + f 5 P 5 f 1 + f 5 = λ W L N W L L P I R = L 1 L 5 = λ 1 N 1 λ 5 N 5 + f 1 2 f 5 2 f 5 2 i o n
where L M W ,   L P I R represent the MW and PIR combinations, respectively; f 1 and f 5 are the carrier frequencies; λ W L = c / ( f 1 f 5 ) and N W L = N 1 N 5 denote the wide-lane wavelength and wide-lane ambiguity.
To detect cycle-slips with MW and PIR combinations, a moving-window averaging filter is utilized to calculate the average and standard deviation (STD) values:
{ N ¯ W L ( k ) = N ¯ W L ( k 1 ) + 1 k [ N W L ( k ) N ¯ W L ( k 1 ) ] σ N W L 2 ( k ) = σ N W L 2 ( k 1 ) + 1 k [ ( N W L ( k ) N ¯ W L ( k 1 ) ) 2 σ N W L 2 ( k 1 ) ]
{ L ¯ P I R ( k ) = L ¯ P I R ( k 1 ) + 1 k [ L P I R ( k ) L ¯ P I R ( k 1 ) ] σ L P I R 2 ( k ) = σ L P I R 2 ( k 1 ) + 1 k [ ( L P I R ( k ) L ¯ P I R ( k 1 ) ) 2 σ L P I R 2 ( k 1 ) ]
where N ¯ W L , L ¯ P I R are the average value of N W L and L P I R in the moving-window with a window size of m ; k and k 1 denote the present and previous epochs; σ N W L , σ L P I R represent the STD of N W L and L P I R , respectively.
The satellite will be marked as cycle-slip when any one of the following conditions is satisfied:
{ | N W L ( k ) N ¯ W L ( k 1 ) | 4 σ N W L | L P I R ( k ) L ¯ P I R ( k 1 ) | 4 σ L P I R
The noise level of smartphone pseudorange observations is much larger than that of pseudorange observations from geodetic GNSS receivers. This will lead to a larger noise level of MW combination. σ N W L can be approximatively calculated in the following equation:
σ N W L f 1 2 + f 5 2 f 1 + f 5 σ P 1 λ W L
At present, the noise of smartphone pseudorange observations is generally higher than 1.5 m [8], 4 · σ N W L     5.70 cycles. Therefore, it is difficult to detect wide-lane cycle-slips of 1–5 cycles with MW combination. According to Equation (2), when the cycle-slip combination ( Δ N 1 , Δ N 5 ) nearly meets the relationship of Δ N 1 / Δ N 5 = f 1 / f 5 , it cannot be detected by PIR combination. As a result, the traditional TurboEdit method may fail to detect specific small cycle-slip combinations, e.g., ( 4 · k ,   3 · k ) ,   k < 6 .

2.2. Modified TurboEdit Method

Except for specific small cycle-slip combinations, most of the cycle-slips can be detected with the traditional TurboEdit method. Therefore, the traditional TurboEdit method is first applied in our modified TurboEdit method. In order to further detect specific small cycle-slip combinations, the epoch-differenced wide-lane combinations are used to estimate the changes of smartphone position and clock bias, and the cycle-slip is identified by checking the largest normalized residual whether it exceeds the predefined threshold value. The wide-lane combination can be written as:
L W L = f 1 L 1 f 5 L 5 f 1 f 5 = ρ + c ( d t r d t s ) + t r o p i o n + λ W L N W L + ε L W L
where ε L W L = ( f 1 · ε L 1 f 5 · ε L 5 ) / ( f 1 f 5 ) denotes measurement noise of the wide-lane combination. By differencing high-rate smartphone GNSS wide-lane observations at two successive epochs, the tropospheric and ionospheric delays can be largely reduced, even completely eliminated. Hence, the epoch-differenced wide-lane combination can be expressed as:
Δ L W L = L W L ( k ) L W L ( k 1 ) = Δ ρ + c ( Δ d t r Δ d t s ) + λ W L Δ N W L + ε · L W L
where Δ stands for the epoch-differenced operator. The variation of wide-lane ambiguity Δ N W L is expected to zero for continuous phase observations. The satellite position and clock offset can be calculated with broadcast ephemeris. Hence, the unknown parameters remain the changes of smartphone position and clock bias. All epoch-differenced wide-lane combinations, of which satellites are not marked as cycle-slip with the traditional TurboEdit method, are adopted to estimate the unknown parameters. The measurement equation can be expressed as:
y W L = A · x + ε W L
where y W L is the observed-minus-computed epoch-differenced wide-lane observation residual vector; A is the design matrix of the unknown parameters; x = [ Δ d t r ] is the unknown parameter vector for the smartphone at a static scenario; and x = [ Δ x r   Δ y r   Δ z r   Δ d t r ] for the smartphone at a kinematic scenario. ε W L is the measurement error vector and its covariance matrix is Q . Assuming that the phase observations at two frequencies are independent at the same noise level with a zenith STD of σ L , the covariance matrix Q can be derived as:
Q = ( 2 ( α W L 2 + β W L 2 ) σ L 2 / s i n 2 ( e l 1 ) 0 0 2 ( α W L 2 + β W L 2 ) σ L 2 / s i n 2 ( e l n ) )
Here, α W L = f 1 / ( f 1 f 5 ) , β W L = f 5 / ( f 1 f 5 ) ; e l represents the satellite elevation with respect to the smartphone. The least-square adjustment can be used to estimate the changes of smartphone position and clock bias:
x ^ = ( A T P A ) 1 A T P · y W L
where P = Q 1 denotes the weight matrix. The corrected residuals can be computed as:
v = y W L A x ^
Assuming that the number of observed satellites is n and the number of unknown parameters is m , the formal STD can be calculated as:
σ ^ 0 = v T P v n m 1
The cycle-slips will be identified by checking the largest normalized residual whether it exceeds a predefined threshold [28,29]:
m a x ( | v ^ k | σ v ^ k ) > η
where v ^ k represents the k th corrected residual; σ v ^ k = σ ^ 0 · Q [ k ] [ k ]   and Q [ k ] [ k ] denotes k th diagonal element of Q ; η is the predefined threshold value. If that is the case, the satellite with the largest normalized residual will be then isolated from the least-square adjustment. An iterative way is implemented until the condition of Equation (14) is not satisfied or there is no redundancy.
Once all possible cycle-slips are detected, the cycle-slip values at each frequency will be estimated with all epoch-differenced wide-lane and ionosphere-free combinations including both cycle-slip and non-cycle-slip observations, and an integer estimation of cycle-slip values can be resolved with the LAMBDA method.
In case that the cycle-slip has been detected for a specific satellite, the estimation parameters for cycle-slip values should be introduced to the corresponding measurement equation. As a result, the unknown parameters are the changes of smartphone position, clock bias, and cycle-slip parameters. Hence, the measurement equation formed by the epoch-differenced wide-lane observations can be written as:
y W L = A W L x + B W L Δ N + ε W L
where x represents the vector composed by the change of smartphone position and clock bias; Δ N is the cycle-slip vector; A W L and B W L are the corresponding design matrices; ε W L is the measurement error vector.
The ionosphere-free combination formed by the carrier phase measurement at two frequencies can be expressed as [30,31]:
L I F = α L 1 + ( 1 α ) L 5 = ρ + c ( d t r d t s ) + t r o p + λ I F N I F + ε L I F
where α = f 1 2 / ( f 1 2 f 5 2 ) ; λ I F N I F = α · λ 1 N 1 + ( 1 α ) · λ 5 N 5 stands for the ionosphere-free ambiguity in meters; ε L I F = α · ε L 1 + ( 1 α ) · ε L 5 denotes measurement noise of the ionosphere-free phase combination. Once the epoch-differencing is employed to high-rate smartphone GNSS ionosphere-free observations, the tropospheric delay would be nearly eliminated. Consequently, the epoch-differenced ionosphere-free observation can be written as:
Δ L I F = L I F ( k ) L I F ( k 1 ) = Δ ρ + c ( Δ d t r Δ d t s ) + λ I F Δ N I F + ε Δ L I F
Broadcast ephemeris can be adopted to calculate the satellite position and clock offset. Similarly, all epoch-differenced ionosphere-free observations at the current epoch are employed to estimate the unknown parameters. The measurement equation can be expressed as:
y I F = A I F x + B I F Δ N + ε I F
where A I F and B I F are the design matrices with respect to x and Δ N ; ε I F is the measurement error vector of ionosphere-free phase combination. Combining Equations (15) and (18), we yield:
( y W L y I F ) = ( A W L A I F ) · x + ( B W L B I F ) · Δ N + ( ε W L ε I F )
The float estimation of cycle-slips can be calculated by applying the least-square adjustment to Equation (19). With float estimation of cycle-slips, the LAMBDA technique can be employed to obtain a integer solution of cycle-slips [32]. Furthermore, the integer estimation of cycle-slips is validated by applying the ratio test [33,34].
The procedure of the modified TurboEdit method is shown as Figure 1. At first, the MW and PIR combinations are used to detect the cycle-slip satellite by a satellite. Most of the cycle-slips will be detected in this step except for some specific small cycle-slip combinations. Then, the epoch-differenced wide-lane combination is applied to estimate the changes of position and clock bias. The cycle-slip is identified by checking the largest normalized residual whether it exceeds the predefined threshold value. If yes, the satellite with the largest normalized residual will be isolated from the least-square adjustment. The process of estimation and cycle-slip identification is implemented in an iterative way until there is no over-limit residual or there is no redundant measurement. Finally, the cycle-slip values at each frequency are estimated with the epoch-differenced wide-lane and ionosphere-free combinations, and the LAMBDA method is adopted to further obtain an integer cycle-slip solution.

3. Experimental Results and Analysis

In this section, the performance of the modified TurboEdit method will be presented by using the real dual-frequency smartphone GNSS data. The raw GNSS dataset, including GPS L1/L5 and Galileo E1/E5a code and phase measurements, was collected with a Xiaomi Mi-8 smartphone under static condition from 06:40:00 to 07:30:00, on August 20, 2019, in GPS time. The GNSS observations were recorded at a sample interval of 1 s. Two data subsets, from 06:42:00 to 06:46:59 and from 06:50:00 to 06:54:59, are extracted from the collected dataset. One is used to analyze the performance of detecting and correcting small cycle-slips, and the other is used to verify the effectiveness of detecting and correcting specific small cycle-slip combinations. These two data subsets are assumed to be collected in kinematic scenes during the following process of cycle-slip detection and correction. The cutoff elevation is set to 7 degrees. Figure 2 shows the number of visible GPS and Galileo satellites with dual-frequency observations.

3.1. Small Cycle-Slip Combination Detection and Correction

Using the first data subset, six cases are simulated to analyze the performance of detecting small cycle-slips. In each case, the simulated cycle-slip is added to raw GNSS phase observations manually. These six simulated small cycle-slip cases include 1, 3, 5 cycles on the G26 L1 carrier phase signal at the 151th epoch, and the same cycle-slips on the E01 E1 carrier phase signal at the same epoch. The initial STD values of N W L and L P I R are set to 3.0 cycles and 0.028 m, respectively, which are approximately calculated according to the noise level of smartphone measurements at present [8]. The time series of N W L ( k ) N ¯ W L ( k 1 ) in six different cases are shown in Figure 3 and Figure 4. The blue points represent the variation of N W L ( k ) N ¯ W L ( k 1 ) and the red curves denote the cycle-slip boundaries formed by ± 4 σ N W L . It is clear that the variation of N W L ( k ) N ¯ W L ( k 1 ) is well bounded by the red curves. Hence, no cycle-slip is identified by MW combination according to the cycle-slip judgment condition in Equation (5). The failure to identify the small cycle-slips is because of the poor smartphone pseudorange. Shown in Figure 5 and Figure 6 are the cycle-slip detection results for the G26 and E01 by using the PIR combination. The blue points present the variation of L P I R ( k ) L ¯ P I R ( k 1 ) and red curves are the corresponding boundaries yielded by ± 4 σ N P I R . Obviously, the simulated cycle-slips are uniquely identified by PIR combination. Therefore, all simulated small cycle-slips can be correctly detected with the traditional TurboEdit method, and this also indicates that most of the cycle-slips can be identified by applying the traditional TurboEdit method.
With the same GPS and Galileo dual-frequency observations as above, the epoch-differenced wide-lane combinations are employed to estimate the changes of smartphone position and clock bias, and the time series of the residuals of G25 and E01 are shown in Figure 7 and Figure 8. The green points represent the variation of the residuals. The over-limit residuals are 0.676, 2.105, 3.716 m for G26 and 0.691, 2.690, 3.681 m for E01 at the 151th epoch. Obviously, the simulated cycle-slip (1, 0), (3, 0), and (5, 0) can be accurately identified.
Once cycle-slips have been detected, all epoch-differenced wide-lane and ionosphere-free observations at the same epoch are adopted to estimate the changes of smartphone clock bias and cycle-slip parameters. The differences between the cycle-slip float estimations and the real values are 0.021, 0.018, 0.023 cycles for G26 and 0.023, 0.026, 0.023 cycles for E01. The LAMBDA method is further employed to obtain an integer solution of cycle-slips, which is presented in Table 1. The integer solution is validated by applying the ratio test with a threshold of 3.0. The ratio values are 438.12, 453.80, 408.80 for G26 and 382.60, 368.79, 395.97 for E01, respectively. Therefore, the integer solution of cycle-slip can be accepted. It is clear that by checking the largest residual of exceeding the predefined threshold can also uniquely identify the small cycle-slips (range from 1 to 5 cycles) for dual-frequency smartphone GNSS observations.

3.2. Specific Small Cycle-Slip Combination Detection and Correction

Most of the cycle-slips can be detected by applying the traditional TurboEdit method, but it may fail to identify some specific small cycle-slip combinations. For instance, if the cycle-slip combinations satisfy the conditions that | Δ N 1 Δ N 5 | is small than six cycles and ( Δ N 1 / Δ N 5 ) ( f 1 / f 5 ) , the cycle-slip may not be identified by the traditional TurboEdit method. In this part, a group of specific small cycle-slips, which are (4, 3), (12, 9), and (20, 15) are simulated. These three specific small cycle-slip combinations are chosen because they are difficult to be detected by applying the traditional TurboEdit method alone. Based on the second data subset, six cases are also simulated by adding the cycle-slip combinations of (4, 3), (12, 9), and (20, 15) on the G26 L1 and L5 carrier phase signals at the 151th epoch, and adding the same cycle-slip combinations on the E01 E1 and E5a carrier phase signal at the same epoch. The proposed method is employed to detect and correct cycle-slip combinations with the simulated six sub-datasets. Figure 9 and Figure 10 show the time series of N W L ( k ) N ¯ W L ( k 1 ) and the cycle-slip boundaries formed by ± 4 σ N W L . The blue points still represent the variation of N W L ( k ) N ¯ W L ( k 1 ) and the red curves denote the corresponding boundaries. The values of L P I R ( k ) L ¯ P I R ( k 1 ) and the cycle-slip boundaries formed by ± 4 σ N P I R at different epochs are shown in Figure 11 and Figure 12. It is apparent that the values of N W L ( k ) N ¯ W L ( k 1 ) and L P I R ( k ) L ¯ P I R ( k 1 ) are well constrained by the cycle-slip boundaries. In other words, both MW combination and PIR combination have failed to identify these specific small cycle-slip combinations. Therefore, we can conclude that these specific small cycle-slip combinations cannot be detected by the traditional TurboEdit method with dual-frequency smartphone GPS/Galileo observations.
The epoch-differenced wide-lane combinations, formed by GPS L1/ L5 and Galileo E1/E5a phase observations, are utilized to estimate the changes of smartphone positions and clock bias by applying the least-square adjustment. Figure 13 and Figure 14 show the time series of the residuals of G26 and E01. The over-limit residuals are 0.639, 2.122, 3.535 m for G26 and 0.742, 2.187, 3.227 m for E01 at the 151th epoch. That is to say, the simulated specific small cycle-slip combinations (4, 3), (12, 9), (20, 15) can be clearly detected by checking the largest normalized residual of exceeding the predefined threshold.
After all cycle-slip combinations are detected, the float cycle-slip values at each frequency can be estimated with the epoch-differenced wide-lane and ionosphere-free observations. The biases between the cycle-slip float estimations and the real values are 0.021, 0.020, 0.023 cycles for G26 and 0.020, 0.013, 0.020 cycles for E01. By further employing the LAMBDA method, an integer solution of cycle-slips can be obtained which is shown in Table 2. The ratio values are 428.82, 455.23, 361.20 for G26 and 449.13, 502.61, 438.91 for E01. Obviously, all integer solutions of cycle-slip combinations can be accepted. It illustrates that the modified TurboEdit method can correctly detect and repair the simulated cycle-slip combinations. Compared to the traditional TurboEdit method, the modified TurboEdit method is more effective in detecting specific small cycle-slip combinations for dual-frequency smartphone GNSS observations.
In summary, given the poor smartphone pseudorange observations, it is difficult to detect a specific small cycle-slip combination with the traditional TurboEdit method when the ratio of cycle-slips at each frequency is close to that of carrier frequencies. The experiment results show that all the simulated cycle-slips are successfully detected and corrected by the modified TurboEdit method, and the modified TurboEdit method is effective even for specific small cycle-slip combinations, which is difficult to be identified with the traditional TurboEdit method.

4. Conclusions

Cycle-slip detection and correction play an important role in high-precision GNSS positioning. It is a great challenge to detect and correct specific small cycle-slip combinations for smartphone GNSS observations. In this contribution, a modified TurboEdit method has been proposed for dual-frequency smartphone GNSS observations. In the modified TurboEdit method, MW and PIR combinations are first utilized to detect the cycle-slip. Most of the cycle-slips are expected to be detected in this step. Then, the epoch-differenced wide-lane combinations are used to estimate the changes of smartphone position and clock bias, and the cycle-slip is identified by checking the largest normalized residual whether it exceeds the predefined threshold value. The process of estimation and cycle-slip identification is implemented in an iterative way until there is no over-limit residual or there is no redundant measurement. Once all cycle-slips are detected, the float values of cycle-slips at each frequency are estimated with the epoch-differenced wide-lane and ionosphere-free combinations, and LAMBDA is further employed to obtain an integer solution of cycle-slips.
The performance of the modified TurboEdit method has been evaluated with dual-frequency smartphone GNSS observations collected by Xiaomi Mi-8. The results indicate that the modified TurboEdit method can effectively detect and correct the simulated cycle-slip combinations. Compared with the traditional TurboEdit method, the modified TurboEdit method is more effective in detecting specific small cycle-slip combinations.

Author Contributions

Conceptualization, Z.W. and Z.N.; methodology, Z.N.; software, X.X.; validation, X.X. and Y.Z.; formal analysis, X.X.; writing—original draft preparation, X.X.; writing—review and editing, Z.N., X.X., and Y.Z.; visualization, X.X. and Y.Z.; supervision, Z.W.; project administration, Z.W.; funding acquisition, Z.W. and Z.N. All authors have read and agreed to the published version of the manuscript.

Funding

This study was supported by the National Key Research and Development Program of China (no. 2019YFC1509205), the Fundamental Research Funds for the Central Universities (no. 20CX06044A), China Postdoctoral Science Foundation (no. 2020M672168), and Qingdao Postdoctoral Application Research Project (no. QDYY20190077).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Banville, S.; Van Diggelen, F. Precise positioning using raw GPS measurements from Android smartphones. GPS World 2016, 27, 43–48. [Google Scholar]
  2. Laurichesse, D.; Rouch, C.; Marmet, F.X.; Pascaud, M. Smartphone applications for precise point positioning. In Proceedings of the 30th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS 2017), Portland, Oregon, 25–29 September 2017; Volume 1, pp. 171–187. [Google Scholar]
  3. Zhang, X.; Tao, X.; Zhu, F.; Shi, X.; Wang, F. Quality assessment of GNSS observations from an Android N smartphone and positioning performance analysis using time-differenced filtering approach. GPS Solut. 2018, 22, 70. [Google Scholar] [CrossRef]
  4. Elmezayen, A.; El-Rabbany, A. Precise point positioning using world’s first dual-frequency GPS/galileo smartphone. Sensors 2019, 19, 2593. [Google Scholar] [CrossRef] [Green Version]
  5. Robustelli, U.; Baiocchi, V.; Pugliano, G. Assessment of dual frequency GNSS observations from a Xiaomi Mi 8 android smartphone and positioning performance analysis. Electronics 2019, 8, 91. [Google Scholar] [CrossRef] [Green Version]
  6. Wu, Q.; Sun, M.; Zhou, C.; Zhang, P. Precise point positioning using dual-frequency GNSS observations on smartphone. Sensors 2019, 19, 2189. [Google Scholar] [CrossRef] [Green Version]
  7. Wanninger, L.; Heßelbarth, A. GNSS code and carrier phase observations of a Huawei P30 smartphone: Quality assessment and centimeter-accurate positioning. GPS Solut. 2020, 24. [Google Scholar] [CrossRef] [Green Version]
  8. Guo, L.; Wang, F.; Sang, J.; Lin, X.; Gong, X.; Zhang, W. Characteristics analysis of raw multi-GNSS measurement from Xiaomi Mi 8 and positioning performance improvement with L5/E5 frequency in an urban environment. Remote Sens. 2020, 12, 744. [Google Scholar] [CrossRef] [Green Version]
  9. Geng, J.; Li, G. On the feasibility of resolving Android GNSS carrier-phase ambiguities. J. Geod. 2019, 93, 2621–2635. [Google Scholar] [CrossRef]
  10. Dabove, P.; Di Pietra, V. Towards high accuracy GNSS real-time positioning with smartphones. Adv. Space Res. 2019, 63, 94–102. [Google Scholar] [CrossRef]
  11. Zhao, Q.; Sun, B.; Dai, Z.; Hu, Z.; Shi, C.; Liu, J. Real-time detection and repair of cycle slips in triple-frequency GNSS measurements. GPS Solut. 2015, 19, 381–391. [Google Scholar] [CrossRef]
  12. Goad, C.C. Precise positioning with the GPS. In Applied Geodesy; Springer: Berlin/Heidelberg, Germany, 1987; pp. 17–30. [Google Scholar]
  13. Bastos, L.; Landau, H. Fixing cycle slips in dual-frequency kinematic GPS-applications using Kalman filtering. Manuscr Geod. 1998, 13, 249–256. [Google Scholar]
  14. Lichtenegger, H.; Hofmann-Wellenhof, B. GPS-data preprocessing for cycle-slip detection. In Global Positioning System: An Overview; Springer: Berlin/Heidelberg, Germany, 1990; pp. 57–68. [Google Scholar]
  15. Han, S. Quality-control issues relating to instantaneous ambiguity resolution for real-time GPS kinematic positioning. J. Geod. 1997, 71, 351–361. [Google Scholar] [CrossRef]
  16. Kleusberg, A.; Georgiadou, Y.; van den Heuvel, F.; Heroux, P. GPS Data Preprocessing with DIPOP 3.0.; Internal Technical Memorandum; Department of Surveying Engineering; University of New Brunswick: Fredericton, NB, Canda, 1993. [Google Scholar]
  17. Collin, F.; Warnant, R. Application of the Wavelet Transform for GPS Cycle Slip Correction and Comparison with Kalman Filter. Manuscripta Geod. 1995, 20, 161–172. [Google Scholar]
  18. Yi, T.; Li, H.; Wang, G. Cycle slip detection and correction of GPS carrier phase based on wavelet transform and neural network. In Proceedings of the Sixth International Conference on Intelligent Systems Design and Applications, Jinan, China, 16–18 October 2006; Volume 1, pp. 46–50. [Google Scholar]
  19. Miao, Y.; Sun, Z.W.; Wu, S.N. Error analysis and cycle-slip detection research on satellite-borne GPS observation. J. Aerosp. Eng. 2011, 24, 95–101. [Google Scholar] [CrossRef]
  20. Blewitt, G. An automatic editing algorithm for GPS data. Geophys. Res. Lett. 1990, 17, 199–202. [Google Scholar] [CrossRef] [Green Version]
  21. Xiao, G.; Mayer, M.; Heck, B.; Sui, L.; Zeng, T.; Zhao, D. Improved time-differenced cycle slip detect and repair for GNSS undifferenced observations. GPS Solut. 2017, 22, 6. [Google Scholar] [CrossRef]
  22. Lichten, S.M.; Bar-Sever, Y.E.; Bertiger, W.I.; Heflin, M.; Hurst, K.; Muellerschoen, R.J.; Wu, S.C.; Yunck, T.P.; Zumberge, J. Gipsy-Oasis II: A high precision GPS data processing system and general satellite orbit analysis tool, technology 2006. In Proceedings of the NASA Technology Transfer Conference, Chicago, IL, USA, 24–26 October 1995. [Google Scholar]
  23. Liu, J.; Ge, M. PANDA software and its preliminary result of positioning and orbit determination. Wuhan Univ. J. Nat. Sci. 2003, 8, 603–609. [Google Scholar] [CrossRef]
  24. Dach, R.; Lutz, S.; Walser, P.; Fridez, P. Bernese GNSS Software Version 5.2; Bern Open Publishing: Bern, Switzerland, 2015. [Google Scholar]
  25. Cai, C.; Liu, Z.; Xia, P.; Dai, W. Cycle slip detection and repair for undifferenced GPS observations under high ionospheric activity. GPS Solut. 2013, 17, 247–260. [Google Scholar] [CrossRef]
  26. Leick, A.; Rapoport, L.; Tatarnikov, D. GPS Satellite Surveying, 4th ed.; John Wiley & Sons: Hoboken, NJ, USA, 2015. [Google Scholar]
  27. Wang, Z.; Nie, Z.; Ou, J. An improved cycle slip detection based on TurboEdit method for dual-frequency GPS receiver. Geomatics Inf. Sci. Wuhan Univ. 2014, 39, 1017–1021. [Google Scholar]
  28. Baarda, W. A testing procedure for use in geodetic networks. Publ. Geod. New Ser. 1968, 2. [Google Scholar]
  29. Banville, S.; Langley, R.B. Mitigating the impact of ionospheric cycle slips in GNSS observations. J. Geod. 2013, 87, 179–193. [Google Scholar] [CrossRef]
  30. Nie, Z.; Liu, F.; Gao, Y. Real-time precise point positioning with a low-cost dual-frequency GNSS device. GPS Solut. 2019, 24, 9. [Google Scholar] [CrossRef]
  31. Zumberge, J.F.; Heflin, M.B.; Jefferson, D.C.; Watkins, M.M.; Webb, F.H. Precise point positioning for the efficient and robust analysis of GPS data from large networks. J. Geophys. Res. Solid Earth 1997, 102, 5005–5017. [Google Scholar] [CrossRef] [Green Version]
  32. Teunissen, P.J.G. The least-squares ambiguity decorrelation adjustment: A method for fast GPS integer ambiguity estimation. J. Geod. 1995, 70, 65–82. [Google Scholar] [CrossRef]
  33. Li, B.; Liu, T.; Nie, L.; Qin, Y. Single-frequency GNSS cycle slip estimation with positional polynomial constraint. J. Geod. 2019, 93, 1781–1803. [Google Scholar] [CrossRef]
  34. Teunissen, P.J.G. Penalized GNSS Ambiguity Resolution. J. Geod. 2004, 78, 235–244. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Procedure of the modified TurboEdit method for dual-frequency smartphone global navigation satellite system (GNSS) observations.
Figure 1. Procedure of the modified TurboEdit method for dual-frequency smartphone global navigation satellite system (GNSS) observations.
Sensors 20 05756 g001
Figure 2. The number of visible GPS and Galileo satellites with dual-frequency observations.
Figure 2. The number of visible GPS and Galileo satellites with dual-frequency observations.
Sensors 20 05756 g002
Figure 3. Small cycle-slip detection results using Melbourne–Wübbena (MW) combination for G26.
Figure 3. Small cycle-slip detection results using Melbourne–Wübbena (MW) combination for G26.
Sensors 20 05756 g003
Figure 4. Small cycle-slip detection results using MW combination for E01.
Figure 4. Small cycle-slip detection results using MW combination for E01.
Sensors 20 05756 g004
Figure 5. Small cycle-slip detection results using phase ionospheric residual (PIR) combination for G26.
Figure 5. Small cycle-slip detection results using phase ionospheric residual (PIR) combination for G26.
Sensors 20 05756 g005
Figure 6. Small cycle-slip detection results using PIR combination for E01.
Figure 6. Small cycle-slip detection results using PIR combination for E01.
Sensors 20 05756 g006
Figure 7. Small cycle-slip detection results by checking the largest residual for G26.
Figure 7. Small cycle-slip detection results by checking the largest residual for G26.
Sensors 20 05756 g007
Figure 8. Small cycle-slip detection results by checking the largest residual for E01.
Figure 8. Small cycle-slip detection results by checking the largest residual for E01.
Sensors 20 05756 g008
Figure 9. Specific small cycle-slip combination detection results with MW combination for G26.
Figure 9. Specific small cycle-slip combination detection results with MW combination for G26.
Sensors 20 05756 g009
Figure 10. Specific small cycle-slip combination detection results with MW combination E01.
Figure 10. Specific small cycle-slip combination detection results with MW combination E01.
Sensors 20 05756 g010
Figure 11. Specific small cycle-slip combination detection results with PIR combination for G26.
Figure 11. Specific small cycle-slip combination detection results with PIR combination for G26.
Sensors 20 05756 g011
Figure 12. Specific small cycle-slip combination detection results with PIR combination for E01.
Figure 12. Specific small cycle-slip combination detection results with PIR combination for E01.
Sensors 20 05756 g012
Figure 13. Specific small cycle-slip combination detection results by checking the largest residual for G26.
Figure 13. Specific small cycle-slip combination detection results by checking the largest residual for G26.
Sensors 20 05756 g013
Figure 14. Specific small cycle-slip combinations detection results by checking the largest residual for E01.
Figure 14. Specific small cycle-slip combinations detection results by checking the largest residual for E01.
Sensors 20 05756 g014
Table 1. Summary of the small cycle-slips detection and correction results.
Table 1. Summary of the small cycle-slips detection and correction results.
Cycle-Slip Combinations ( Δ N 1 ,   Δ N 5 ) SatelliteCycle-Slip Detectable?The Ratio Test ValuesInteger Estimation of Cycle-Slips ( Δ N 1 ,   Δ N 5 )
MWPIRModified Method
(1, 0)G26NoYesYes438.12(1, 0)
E01NoYesYes382.60
(3, 0)G26NoYesYes453.80(3, 0)
E01NoYesYes368.79
(5, 0)G26NoYesYes408.80(5, 0)
E01NoYesYes395.97
Table 2. Summary of the specific small cycle-slips detection and correction results.
Table 2. Summary of the specific small cycle-slips detection and correction results.
Cycle-Slip Combinations ( Δ N 1 ,   Δ N 5 ) SatelliteCycle-Slip Detectable?The Ratio Test ValuesInteger Estimation of Cycle-Slips ( Δ N 1 ,   Δ N 5 )
MW PIR Modified Method
(4, 3)G26NoNoYes428.82(4, 3)
E01NoNoYes449.13
(12, 9)G26NoNoYes455.23(12, 9)
E01NoNoYes502.61
(20, 15)G26NoNoYes361.20(20, 15)
E01NoNoYes438.91

Share and Cite

MDPI and ACS Style

Xu, X.; Nie, Z.; Wang, Z.; Zhang, Y. A Modified TurboEdit Cycle-Slip Detection and Correction Method for Dual-Frequency Smartphone GNSS Observation. Sensors 2020, 20, 5756. https://doi.org/10.3390/s20205756

AMA Style

Xu X, Nie Z, Wang Z, Zhang Y. A Modified TurboEdit Cycle-Slip Detection and Correction Method for Dual-Frequency Smartphone GNSS Observation. Sensors. 2020; 20(20):5756. https://doi.org/10.3390/s20205756

Chicago/Turabian Style

Xu, Xiaofei, Zhixi Nie, Zhenjie Wang, and Yuanfan Zhang. 2020. "A Modified TurboEdit Cycle-Slip Detection and Correction Method for Dual-Frequency Smartphone GNSS Observation" Sensors 20, no. 20: 5756. https://doi.org/10.3390/s20205756

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop