Keywords

1 Introduction

With the completion of the construction of the Beidou system, the operation of the Beidou Global Satellite Navigation System has injected new vitality into GNSS applications [1,2,3]. High-quality carrier phase observations are essential for precise positioning. In some complex and harsh observation environments, due to signal occlusion, cycle count errors and other reasons, the whole cycle jump phenomenon of carrier phase observations, which is called cycle slip, will lead to errors in carrier phase observations, and ultimately affect high-precision positioning. Therefore, cycle slip detection and repair has always been an important content of GNSS data pre-processing. At present, the commonly utilized methods for dual frequency satellite data include Geometry-Free (GF) combination method, Melbourne-Wübbena (MW) combination method, TurboEdit method, etc.

The GF combination method [4], namely the geometric distance-free phase combination method, utilizes the dual-frequency non-difference data on a station to construct an ionospheric residual model. This method can accurately detect both large and small cycle slips and is especially sensitive to small cycle slips greater than 0.07 cycles. But there is a problem of multi-valued, and some specific pairs of cycle slips such as (9, 7) and the pair of cycle slips with different multiples cannot be detected [5, 6]. MW combination method [7], also known as the wide lane phase narrow lane pseudorange method, constructs wide lane combination observation through two groups of carrier frequency relationship as cycle slip detection quantity, and the cycle slip detection quantity can eliminate the influence of station satellite distance, atmospheric delay, clock error and other factors. This method has good detection results: it can detect cycle slip as small as 1 cycle, and is effective for continuous cycle slip, high and low sampling rate observations. However, it cannot detect two cycle slips with the same frequency [8], namely the pair of (n, n) cycle slips containing n cycle slips. By studying the characteristics of GF combination method and MW combination method, it can be seen that since the detection quantities of these two methods are composed of two sets of carriers respectively, the cycle slip values cannot be directly separated, and other methods need to be utilized to separate and repair the cycle slip. TurboEdit method is a dual frequency cycle slip detection method proposed by Blewitt in 1990. This method is composed of MW combination and GF combination and can compensate for the detection defects of these two methods [9, 10]. However, the MW combination in the TurboEdit method introduces pseudorange observations (which has more noise compared with the carrier phase observations) in the calculation, resulting in a decrease in the detection ability of small cycle slips. For example, If the cycle slip occurs in 16 epochs or the same small cycle slip occurs on two frequencies, this method cannot effectively detect the cycle slip [11]. If these small cycle slips cannot be detected and dealt with in time, it will seriously affect the positioning results. A cycle slip with a value of only one cycle will lead to a positioning error of ten centimeters [12]. Such errors are not acceptable in engineering construction, aerospace and other fields. In the traditional TurboEdit method, after constructing the MW combination and the GF combination, the polynomial fitting method is utilized to detect the respective sequences of the two combinations so as to realize the cycle slip detection. Due to the limited accuracy of the polynomial fitting method, the TurboEdit method is not effective in detecting continuous cycle slips in a specific data segment (where the number of observation epochs is equal to the polynomial order). The LM algorithm was proposed by Levenberg [13] and perfected by Marquardt [14]. It was the earliest algorithm for solving nonlinear algebraic equations [15, 16]. After The LM algorithm applied to Back Propagation (BP) neural network, it becomes an optimization algorithm in the BP neural network, which is suitable for fast fitting processing of nonlinear data and improving the fitting accuracy. This paper makes utilize of this feature of LM-BP and combines it with the TurboEdit method to realize continuous small cycle slip detection and ensure the stability of positioning accuracy. At the same time, LM-BP algorithm is utilized to process the carrier phase single-difference observation, and a new cycle slip detection is constructed to realize cycle slip separation.

2 Improved TurboEdit Cycle Slip Detection and Repair Algorithm

In the process of using TurboEdit method for cycle slip detection, when MW combination has detection blind spots (i.e. equal cycle slips on two frequencies), GF combination is utilized for detection; when GF combination has detection blind spots (i.e. sensitive cycle slips), MW combination can be utilized for effective detection. The cycle slip is detected by two methods, and the cycle slip value can be solved by simultaneous equations. As mentioned in literature [17], this method will fail to detect specific cycle slips. In order to detect cycle slips more effectively, we first calculate a difference between epochs for the original observation data, and takes the data after the difference between epochs as the starting data of cycle slip detection in this study.

For a carrier phase observation sequence containing n epoch data \(\varphi_{1} {, }\varphi_{2} , \, \varphi_{3} \ldots \, \varphi_{n}\). Combined with literature [18], the single difference observation equation of carrier phase is expressed as follows:

$$ \begin{aligned} \Delta \varphi_{n - 1,n}^{S} (t) = & \frac{f}{c}[\rho_{n - 1,n}^{S} (t) + \delta T_{n - 1,n}^{S} (t) - \delta I_{n - 1,n}^{S} (t) \\ & + \delta m_{n - 1,n}^{S} (t) + \varepsilon_{n - 1,n}^{S} (t)] - N_{n - 1,n}^{S} (t_{0} ) \\ \end{aligned} $$
(1)

where \({\text{n}} - 1\) represents the carrier difference between the \(n{\text{th}}\) epoch and the \(n{\text{th}}\; {-}1\) epoch, S represents the satellite number, i represents station number, f is the propagation speed of electromagnetic wave, c is the frequency of electromagnetic wave, \(\rho\) represents the geometric distance between station i and satellite S at the observation time, \(\varphi\) is the carrier phase observation value of the observation epoch, \(\delta T\) is the tropospheric delay error of the i station in the t observation epoch relative to the S satellite, \(\delta I\) is ionospheric delay error and \(\delta m\) is multipath effect error, \(\delta t_{i}\) is the satellite clock error, \(\delta t^{S}\) is the receiver clock error, \(\varepsilon\) is the high frequency noise error and N is the initial integer ambiguity.

According to the single difference detection quantity equation of equation [19], the carrier phase observation value is in the epoch by epoch observation process, The variation of \(\Delta \varphi_{n - 1,n}^{S} (t)\) is determined by \(\rho_{n - 1,n}^{S} (t)\), \(\delta T_{n - 1,n}^{S} (t)\), \(\delta I_{n - 1,n}^{S} (t)\), \(\delta m_{n - 1,n}^{S} (t)\) and \(\varepsilon_{n - 1,n}^{S} (t)\). For each epoch, the fitted carrier phase observation value and single difference observation value K can be expressed by the polynomial function with the above factors as coefficients:

$$ \Phi = f({\mathbf{\varphi }}|{\varvec{a}}) $$
(2)

where: \(\Phi\) represents the independent variable \(\Delta \varphi_{n - 1,n}^{S} (t)\), vector \({\varvec{a}} = [ \begin{array}{*{20}c} {a_{1} } & {a_{2} } & {a_{3} } & \cdots & {a_{M} } \\ \end{array} ]^{{\text{T}}}\), In the vector, \(a_{1} = \rho_{n - 1,n}^{S} (t)\), \(a_{2} = \delta T_{n - 1,n}^{S} (t)\), \(a_{3} = \delta I_{n - 1,n}^{S} (t)\), \(a_{4} = \delta m_{n - 1,n}^{S} (t)\), \(a_{5} = \varepsilon_{n - 1,n}^{S} (t)\). M represents the number of elements. Thus, the LM-BP neural network fitting model is formed.

In the above detection amount sequence, Suppose a cycle slip occurs at the kth epoch \(\varphi_{k}\) in n epochs, the carrier single difference detection amount of the kth epoch will contain a fixed deviation \(\Delta N\), that is \(\varphi_{1}\)\(\Delta \varphi_{k - 1}^{{}}\), \(\Delta \varphi_{k} + \Delta N\)\(\varphi_{n}\), where \(\varphi_{1}\), \(\varphi_{2}\), …, \(\varphi_{n - 1}\). \(\varphi_{n}\) is the ideal data without cycle slip.

When the number of epochs is enough, the equations composed of detection value equations can approximately characterize the variation trend of carrier phase observations. The matrix formed by the change factor is the parameter vector matrix \({\varvec{a}}\). in the neural network, this parameter vector \({\varvec{a}}\) can be utilized as the neural network training model. Through enough data sets \(\Phi\), that is, the carrier phase single difference detection value, the model will gradually approach the data set law in the real situation, that is, the corresponding \(f({\mathbf{\varphi }}|{\varvec{a}})\).

In order to obtain the best fitting parameter vector in Eq. (2), it is necessary to find the global minimum point of the error hypersurface \(\chi^{2} ({\varvec{a}})\) formed by the difference between the fitting function \(\Phi = f({\mathbf{\varphi }}|{\varvec{a}})\) and the observed measurement \({\mathbf{\varphi }}\). the solution model is:

$$ \chi ({\varvec{a}})^{2} = \sum\limits_{i = 5} {w_{i} [\Phi - f({\mathbf{\varphi }}|{\varvec{a}})]}^{2} \to {\text{Min}} $$
(3)

where: \(\chi^{2} ({\varvec{a}})\) represents a hypersurface about vector \({\varvec{a}}\), and \(w_{i} = 1/\delta_{i}\) represents the weight corresponding to the observation.

Let the fitting step of the vector to be optimized be \(\Delta {\varvec{a}}\), linearize the error hypersurface \(\chi^{2} ({\varvec{a}} + \Delta {\varvec{a}})\) in reference [20], take its first-order and second-order terms, and obtain its matrix form:

$$ \chi^{2} ({\varvec{a}} + \Delta {\varvec{a}}){ = }\chi^{2} ({\varvec{a}}) + {\varvec{g}}^{{\text{T}}} \cdot \Delta {\varvec{a}} + \frac{1}{2} \cdot (\Delta {\varvec{a}})^{{\text{T}}} \cdot {\varvec{H}} \cdot \Delta {\varvec{a}} $$
(4)

where: \({\varvec{g}}\) is gradient vector in multidimensional space, \({\varvec{H}}\) is Hessian matrix.

In order for \(\chi^{2} ({\varvec{a}} + \Delta {\varvec{a}})\) to take the extreme value, the vector \(\Delta {\varvec{a}}\) needs to be updated so that the gradient of \(\chi^{2} ({\varvec{a}} + \Delta {\varvec{a}})\) at this point is equal to zero. Then:

$$ \frac{{{\text{d}}\chi^{2} ({\varvec{a}} + \Delta {\varvec{a}})}}{{{\text{d}}\Delta {\varvec{a}}}}{ = }{\varvec{g}} + {\mathbf{H}} \cdot \Delta {\varvec{a}} = 0 $$
(5)

The matrix expression of vector g and matrix H can be further obtained:

$$ {\varvec{g}}{ = } - {\varvec{J}}^{{\text{T}}} {\varvec{Wr}},\,{\varvec{H}}{\mathbf{ = }}{\varvec{J}}^{{\text{T}}} {\varvec{WJ}} $$
(6)

where: \({\varvec{J}}\) is the Jacobian matrix of \(n \times M\), \(n\) is the number of observed measurements, \(M\) is the number of model parameters, and the Jacobian matrix contains the partial derivatives of each equation \(\Phi_{k} { = }f(\varphi_{k} |{\varvec{a}})\) with respect to all model parameters. \({\varvec{r}}\) is the residual column vector; The residual is the difference between the observed value \(\varphi_{k}\) and the model function calculated by the current model. \({\varvec{W}}\) is the diagonal weighting matrix. LM-BP fitting parameter model can be further obtained:

$$ \Delta {\varvec{a}} = ({\varvec{J}}^{{\text{T}}} {\varvec{WJ}} + \mu {\varvec{I}})^{{ - 1}} {\varvec{J}}^{{\text{T}}} {\varvec{Wr}} $$
(7)

where: \({\varvec{I}}\) is the identity matrix and \(\mu\) is the damping factor in the model. The model keeps iterative calculation.

After the iteration, the optimal parameter vector \({\varvec{a}}\) can be finally obtained, which is brought into the model function \(\Phi = f({\mathbf{\varphi }}|{\varvec{a}})\) to obtain the carrier phase single difference virtual detection quantity \(\Phi_{k}\) of each epoch after fitting. Using the memory of neural network and short-term simulation prediction with the help of this model, the original carrier detection quantity at the time of cycle slip, that is, the single difference virtual detection quantity \(\Phi_{k}\), can be simulated and calculated. The cycle slip \(\Delta N\) belongs to instantaneous mutation for the carrier phase observation value, which can be regarded as the stimulation signal of the trend neural network for the carrier phase observation value. The residual between the mutation detection quantity \(\varphi_{k} + \Delta N\) and the virtual detection quantity \(\Phi_{k}\) is regarded as the stimulation signal record and converted into:

$$ \Delta N = {\text{int}} {[(}\varphi_{k} + \Delta N{)} - \Phi_{k} {]} $$
(8)

The \(\Delta N\) can be taken as the cycle slip value, and \({\text{int[ }} \cdot { ]}\) is the rounding operation. Here, \(\Delta N\) will be the original carrier to which the single difference detection amount of the starting carrier belongs. The cycle slip value \(\Delta N\) is corrected to the carrier phase observation value to complete the cycle slip repair.

The traditional TurboEdit method utilizes a polynomial fitting method in the cycle slip detection step. Due to the limitation of the accuracy of the polynomial fitting method, the TurboEdit method will fail when continuous cycle slips occur in the data segment where the number of epochs is equal to the polynomial order. The LMBP algorithm adopts the global error back-propagation algorithm to make up for the defects of the traditional TurboEdit method.

In the cycle slip repair stage, this method directly detects and calculates the cycle slip of the carrier single difference detection quantity in one band, and then corrects the original carrier according to the solution results, which can repair the cycle slip existing in the carrier phase observation values in different bands, and solve the problem that for MW combination and GF combination, it is impossible to separate the cycle slip values of each band.

3 Data Test and Analysis

In this study, on October 21, 2020, a SR1 star seeking moment geodesic GNSS receiver is set up on the test bench on the roof of the school of Surveying and mapping of Henan Polytechnic University for synchronous static data acquisition. BDS observation data including phase L1I and L7I, C1I and C7I pseudorange code are selected, and the data sampling rate is 1s. The data of C01 satellite and 1000 epochs are selected as the experimental data. It can be seen from the test curve sequence of MW combination and GF combination in Fig. 1 that the experimental data does not include cycle slip.

Fig. 1.
figure 1

Detection sequence of MW and GF without cycle slip

It can be seen from Fig. 1 that in the first 200 epochs with original cycle slip data, no cycle slip has been detected. And whether there is any missed detection remains to be verified by the new algorithm. In the data segment without cycle slips, the reliability of the improved TurboEdit cycle slip detection and repair method based on the LM-BP algorithm is verified by adding and subtracting cycle slips at the corresponding epochs. In this section of data, the first 200 epochs with cycle slips are utilized to verify whether the new algorithm is improved compared to the traditional algorithm; in the data section without cycle slips, in order to verify the feasibility, four strategies are utilized to add simulated cycle slips to the data.

  • Strategy 1, add cycle slip of (6,6) cycles to the (L1, L7) carriers at the 300th epoch respectively; Cycle slips of (9,7) cycles are added to the (L1, L7) carriers at the 400th epoch. (6, 6) the cycle slip of the cycle belongs to the case that the size of the cycle slip of the two carriers is the same. Under this condition, the Mn combination will fail to detect the cycle slip; (9, 7) cycle slip belongs to the special failure of ionospheric residual method. Under this condition, GF combination will fail to detect cycle slip. The purpose of this strategy is to explore the detection effect of the new method in some special cycle slip pairs.

  • Strategy 2, cycle slip of (80, 80) cycles are added to the (L1, L7) carriers at the 500th epoch respectively; Add cycle slips of (77, 60) cycles to the (L1, L7) carriers at the 600th epoch. The cycle slip at both epochs is the big cycle slip.

  • Strategy 3, cycle slip of (−1, 2), (2, 1), (1, 1) and (−1, 1) are added to (L1, L7) carriers at 750, 751, 752 and 753 epochs respectively, which are continuous small cycle slip.

  • Strategy 4, cycle slip of (−100100), (37, 57), (71, 89), (50, 50) are added to the (L1, L7) carriers at epoch 900, 901, 902 and 903 respectively, which is a continuous large cycle slip.

Import data into the improved TurboEdit algorithm program to detect and fix cycle slips. The overall detection results are shown in Table 1. It can be seen from the experimental results that in the original data (first 200 epochs), the traditional TurboEdit method has missed detection, and its missed cycle slips include continuous cycle slips and the same small cycle slips on two frequencies.

Table 1. LMBP improved TurboEdit method cycle slip detection and repair statistics

It can be seen from epoch 1–200, there are many specific small cycle slip pairs, such as (1, 1) and (2, 2) and other two frequencies appear the same small cycle slip, the traditional TurboEdit method failed to detect while the improved method Detection succeeded. In epochs 11-12, 57-59, and 197-199, successive small cycle slips occurred, and cycle slips on the two frequencies were equal. The traditional TurboEdit method did not detect it, but the improved method detected them successfully. In part 2 data (original data added artificial cycle slip), the error of cycle slip calculated by the improved TurboEdit method based on LM-BP and the actual cycle slip value are within the range of ±0.2, and they are all consistent with the original added cycle slip value after further calculation. Feasibility and accuracy of methods to repair cycle slips.

The performance of the new method when dealing with special cycle jumps is as shown in Fig 2.

Fig. 2.
figure 2

Detection sequence of MW and GF when cycle slip occurs

It can be seen from Fig. 2 that the combined detection amount of MW and the combined detection amount of GF calculated by the LM-BP neural network algorithm complement each other in the case of (6, 6), (9, 7) and other specific cycle slip pairs. The defect makes it avoid the omission of cycle slip detection in different situations. This method is still applicable to the combination of large cycle slips such as (80, 80), (77, 60), as well as continuous small cycle slips and large cycle slips in strategies 3 and 4.

4 Conclusion

In this study, an improved TurboEdit cycle slip detection and repair method based on LM-BP algorithm is proposed. The overall timeliness and accuracy of cycle slip detection and repair are improved by using the characteristics of error back propagation learning and automatically adjusting the weight in the fitting process of LM-BP neural network. The experimental results show that:

  1. 1)

    In terms of insensitive cycle slips, the improved TurboEdit method based on LM-BP algorithm can successfully detect and accurately repair GF insensitive cycle slips (such as (9, 7) cycle slip pair) and MW insensitive cycle slips (such as (1, 1) cycle slip pair) in the traditional TurboEdit method.

  2. 2)

    In terms of continuous cycle slip detection, the continuous cycle slip detection results show that the improved method can detect continuous large cycle slip and continuous small cycle slip. After the improvement of LM-BP algorithm, there is no missing detection problem caused by the traditional TurboEdit method due to the insufficient accuracy of traditional polynomial fitting.

  3. 3)

    In terms of cycle slip repair, the improved method directly calculates the cycle slip of the carrier single difference detection quantity of a single band by using LM-BP high-precision fitting algorithm, which solves the problem that the traditional TurboEdit method cannot directly separate the cycle slip value of each band in the cycle slip pairs.

  4. 4)

    In this study, cycle slip detection and repair are carried out for the original observation data of a single station without inter station and inter satellite difference. Therefore, it is suitable for the preprocessing of BDS data, laying the foundation for subsequent data processing and shortening the time-consuming.