Cube: An Open-Source Software for Clock Offset Estimation and Precise Point Positioning with Ambiguity Resolution

: Precise point positioning (PPP) is a prevalent, high-precision spatial absolution positioning method, and its performance can be enhanced by ambiguity resolution (AR). To fulfill the growing need for high-precision positioning, we developed an open-source GNSS data processing package based on the decoupled clock model called Cube, which integrates decoupled clock offset estimation and precise point positioning with ambiguity resolution (PPP-AR). Cube is a secondary development based on RTKLIB. Besides the decoupled clock model, Cube can also estimate legacy clocks for the International GNSS Service (IGS), as well as clocks with satellite code bias extraction, and perform PPP-AR using the integer-recovered clock model. In this work, we designed satellite clock estimation and PPP-AR experiments with one week of GPS data to validate Cube’s performance. Results show that the software can produce high-precision satellite clock products and positioning results that are adequate for daily scientific study. With Cube, researchers do not need to rely on public PPP-AR products, and they can estimate decoupled clock products and implement PPP-AR anytime.


Introduction
Global Navigation Satellite System (GNSS) data processing software is central to the core theoretical techniques and algorithms of GNSS, and it is also an important carrier for practicing new algorithms and models and expanding new applications.The rapid development of GNSS technology has been accompanied by the emergence of a large amount of data processing software.The current common software includes Bernese, GIPSY, PANDA, EPOS, GREAT-UPD, and other large-scale GNSS-integrated data processing software platforms [1][2][3][4][5].These programs are capable of solving products such as precision satellite orbits and precision satellite clocks, high-precision positioning, navigation and timing, and other related functions.There is also open-source software for user-side precision positioning, including GPSTk, RTKLIB, gLab, PPP Wizard Client, PPPH, GAMP, Pride PPP-AR, MG-APP, and SUPREME [6][7][8][9][10][11][12][13][14].These software platforms are important for GNSS researchers, greatly facilitating in-depth research and the application of GNSS data processing.
With its characteristics of simplicity, flexibility, and high accuracy, precise point positioning (PPP) [15][16][17] has become a representative method for GNSS positioning.However, due to the adverse effects of carrier-phase hardware biases at the satellite and receiver ends, undifferenced ambiguities in PPP are usually treated as float parameters.The result is that the positioning accuracy even after PPP convergence, especially in the easterly direction, is worse than the relative positioning [18].It is essential to estimate the carrier-phase bias product and distribute it to users to implement ambiguity resolution (AR) in order to recover the integer characterization of the single-station PPP ambiguity parameter and improve the positioning accuracy [19,20].
Currently, there are three models that can be used in ionospheric-free (IF) precise point positioning with ambiguity resolution (PPP-AR) [21][22][23].Many scholars have improved and upgraded these three types of models to enrich PPP-AR [24][25][26][27].Furthermore, several institutions have begun to publicly provide products for PPP-AR, such as fractional cycle bias products of Wuhan University [28], clock/bias products provided by CNES/CLS, Wuhan University, and CODE [29][30][31].Generally speaking, PPP-AR is solid in theory, and the demand for PPP-AR among users is also increasing.There is currently a wide range of open-source PPP software available, but few available tools can realize carrierphase bias estimation and PPP-AR.For this reason and to benefit users in high-precision positioning, we designed an open-source software based on the decoupled clock (DCK) model called Cube (version 1.0).
At present, the majority of open-source software is developed using integer-recovered clock (IRC) models or fractional cycle bias (FCB) models.Cube is the inaugural software based on the decoupled clock model that is capable of decoupled satellite clock estimation and implementing PPP-AR based on the estimated product.Cube is a secondary development based on RTKLIB (version 2.4.3 b34) and mainly composed of two modules, satellite clock/decoupled clock estimation and PPP/PPP-AR.At present, only GPS observations can be processed, and we only experimented with Cube on a Windows system.However, Cube benefits from the C language and is easy to port to other operating systems, such as Linux.At the server end, Cube can estimate International GNSS Service (IGS) legacy clocks, clocks with satellite code bias (SCB) extraction [32], and decoupled clocks using undifferenced observations.Additionally, PPP-AR based on the DCK model and the IRC model can be implemented at the user end [33].Importantly, all significant files are output in the form of formatted text, which is highly beneficial for the analysis and application of experimental results.
In this article, we primarily present an introduction to our open-source software Cube and outline the experimental design aimed at evaluating the satellite clock products generated by the software and the performance of PPP-AR, thereby offering a valuable reference for interested researchers.This article unfolds by firstly elucidating the fundamental theory and functional model of the Cube software.Subsequently, we provide an overview of the software's basic architectural design along with its principal data processing strategies.Finally, an evaluation of the performance of the software is presented from three perspectives: the convergence speed of satellite clock bias, decoupling clock bias accuracy, and positioning accuracy.

Methodology
The Cube software integrates four models, namely, the IF model, DCK model, IRC model, and SCB model.The first two models can both estimate satellite clock products and perform PPP/PPP-AR.The IRC model can only be used for PPP-AR, while the SCB model can only be used for clock estimation.The above models have been presented in the relevant literature [32,33].Therefore, this section will not provide a detailed explanation.

The Ionospheric-Free Model
GPS dual-frequency ionospheric-free observation equations from receiver r to satellite s in the unit of length can be written as: where P is the code and L is the carrier-phase ionospheric-free observables; ρ is the receiversatellite geometric distance; c is the speed of light in a vacuum; dt is the clock offset of the receiver or satellite; T is the slant tropospheric delay; d denotes the code hardware bias of the receiver or satellite, while b denotes the carrier-phase hardware bias; λ is the carrier-phase wavelength, and N is the integer ambiguity; and α 1 and β 1 are the ionospheric-free combination coefficients, which can be expressed as , where f is the signal frequency.
Supposing that ∆ and δ are used to represent the time-invariant and time-varying parts of the hardware bias, then the rigorous IF model can be obtained as follows: where dt r,I , dt s I , and A s r,3 can be expressed as:

The Satellite Code Bias Extraction Model
In order to estimate the code bias, the SCB model can be obtained based on Equation (1) as follows: where dt s SCB and A s r,SCB can be expressed as: The parameter d s SCB represents the satellite code bias to be extracted.It can be observed that this parameter also encompasses the impact of other hardware delay time-varying bias terms.

The Integer-Recovered Clock Model
To facilitate the ambiguity resolution, it is customary to divide the integer ambiguity into two forms: wide-lane ambiguity N w and narrow-lane ambiguity N n .In contrast to the IF model, the IRC model reassembles the clock offset and carrier-phase bias parameters in order to recover the integer characteristics of ambiguity parameters.Assuming that the wavelengths of ambiguity for wide-lane and narrow-lane are λ w and λ n , respectively, the IRC model can be obtained as follows: where: When fixing the ambiguity, it is first necessary to utilize the Melbourne-Wübbena combination observable to resolve the wide-lane ambiguity and then fix the narrow-lane ambiguity.The Melbourne-Wübbena combination observable is defined as: where:

The Decoupled Clock Model
The DCK model is characterized by the construction of clock parameters for the code equation and the carrier-phase equation, thereby restoring the integer characteristics of the ambiguity parameters.Furthermore, the time-varying characteristics of the wide-lane ambiguity are taken into account, with the wide-lane ambiguity bias being estimated epoch by epoch.The decoupled clock model based on the ionospheric-free model can be represented as: where: The data processing strategy of the Cube software is shown in Table 1.

Performance of Cube
We evaluate the performance of Cube from two perspectives: satellite clock estimation and PPP/PPP-AR.Firstly, the speed of convergence of three clock offset estimation models in Cube software was compared for epoch-by-epoch estimation.Then, the accuracy of three types of satellite clock products in the DCK model was evaluated.Finally, we compared the positioning performance of the PPP models in Cube.The IGS reference stations used in the experiments are shown in Figure 2.

Convergence Speed of Satellite Clock
Because of the negative impact of satellite code bias, estimating satellite clock products epoch by epoch typically requires a long convergence time [32].Benefiting from the decoupling of clocks, the satellite carrier-phase clock of the DCK model is not disturbed by the code bias; thus, the estimation process based on it should have a fast convergence speed.
We used the data of the first four hours on day of year (DOY) 038 in 2021 for experiments to verify the advantages of the DCK model in terms of satellite clock estimation convergence speed.Figure 3 shows the bias of the products solved by three different satellite clock estimation models of Cube compared to IGS final products.The mean of each sequence has been removed.Compared with the conventional IF model, extracting satellite code bias can obviously speed up the convergence of the satellite clock offset and improve its stability after convergence.After 3 h, the clock bias curves of both the IF model and the SCB model show a certain degree of divergence, with a consistent trend.This suggests that the SCB model only accelerates the convergence speed of the satellite clock, without altering its actual changing state.Additionally, the improvement effect of the decoupled clock model is more significant.

Precision of Decoupled Clocks
In the decoupled clock estimation experiment, one week of GPS observations from DOY 038 to 044 in 2021 was employed.To ensure the stability of the satellite clock on DOY 038, we utilized data from the last four hours of DOY 037 to complete the convergence process.Figure 5 shows the STD of decoupled clock biases on DOY 038 in 2021.The IGS final clock product is used as a benchmark to evaluate the code and carrierphase clock products and calculate the stability of the wide-lane ambiguity time series directly.The carrier-phase clock has high accuracy, and its mean STD is about 0.02 ns.Due to the large noise in pseudo-range observations, the accuracy of their clock estimates is about 1 ns.The ambiguity bias of the wide lane in the DCK model is estimated as white noise, and its stability is about 0.11 cycles.
The time series of wide-lane ambiguity biases on DOY 038 in 2021 are shown in Figure 6.To facilitate observation, each time series is translated into the range of 0 to 10 cycles.From the figure, it is clear that the wide-lane ambiguity bias of all satellites shows a high degree of stability over the day.To further evaluate the accuracy of the wide-lane ambiguity bias, we compared it with CNES/CLS products.Figure 7 displays the wide-lane bias differences between estimates and CNES/CLS products on DOY 038 in 2021.All integer parts of the bias have been removed.According to the statistics of the time series, the mean difference is about −0.051 cycles, indicating that wide-lane ambiguity biases generated by Cube have a good consistency with the CNES/CLS ones.

Analysis of Positioning Results
More than 50 IGS reference stations were employed to evaluate the positioning performance based on the three PPP/PPP-AR models of Cube.We use IGS final satellite orbit and clock products in the experiment for the IF model.Decoupled clock products estimated in the previous section were employed for the DCK model, and CNES products were used for the IRC model.The following strategies were adopted for wide-lane and narrow-lane ambiguity resolution.Wide-lane ambiguity was fixed to the nearest integer when its standard deviation and fractional part were less than 0.15 cycles.Narrow-lane ambiguity was fixed using the MLAMBDA method [37] and examined based on a success rate of 0.999.In addition, the ratio-test method was employed with a threshold of 2.0 to verify the correctness of the fixed narrow-lane ambiguity.
We used the coordinates of the IGS weekly solution as benchmarks to evaluate the positioning results.Figure 9 shows the ratio-test results of the IRC and DCK experiments based on Cube at station AREQ on DOY 039 in 2021.Clearly, the ratio-test value of the IRC model for station AREQ is significantly higher than that of the DCK model for the ambiguity-fixed solution.This suggests that the ambiguity-fixed solution of the IRC model is highly reliable.It also indicates that the DCK model has a greater difficulty in determining the optimal integer ambiguity, and therefore a more stringent AR method should be used to assist in calculations.Additionally, the figure shows that around 1 h, the IRC model achieves a fixed solution before the DCK model.This can be attributed to the fact that the IRC model defines the wide-lane ambiguity bias as a constant throughout the day, while the DCK model considers the possibility of this bias changing and defines it as a time-varying parameter.As a result, the wide-lane ambiguity takes longer to be fixed in the DCK model, and the superiority of the optimal solution over the suboptimal solution is diminished.In order to provide a comprehensive comparison of the positioning performance of the three types of models, we conducted a week-long comparison of the results, as shown in Figure 10.Each point represents a station in the figure .Compared with the IF model, the DCK model has higher positioning accuracy, especially in the easterly direction.Moreover, the positioning accuracy based on the DCK model is slightly higher than that of the IRC model due to the consistent processing strategies of the server end and the user end, which is also reflected in the ambiguity fixing rate in Table 2.According to the positioning results in Table 2, the improvement in the positioning accuracy of the IRC model and the DCK model compared to the IF model is about 27.03% and 41.89% in the east and 9.48% and 22.41% in the north, respectively.As for the up component, the improvement in the DCK model is about 8.88 %, while the IRC model has no improvement.There are two main reasons that contribute to this issue.Firstly, the Cube software does not consistently follow the processing strategy used by CNES/CLS for product generation, leading to errors in the model.Secondly, while the positioning results of the IF model fully converge, the advantage of AR is primarily seen in its improved accuracy in the east direction.As a result, the positioning advantage of the IRC model in the up direction is not fully reflected.
In addition, the data in Table 2 show that both the IRC and DCK models have significantly improved convergence times compared to the IF model.The IRC model also has a smaller convergence time than the DCK model.This is consistent with the explanation provided in Figure 9, which suggests a time-dependent factor related to the wide-lane ambiguity bias, leading to an increase in convergence time for the model.
Table 2.The mean RMS values of the positioning errors for all stations in one week when compared to IGS weekly solutions.The fixing rate (FR) here is defined as the ratio of the number of epochs with a fixed ambiguity to the number of epochs.The convergence time (CT) is defined as a three-dimensional positioning error of less than 10 cm for 10 consecutive epochs.

Conclusions
Cube is an open-source GNSS data processing software that can be employed to estimate satellite clock products and implement PPP-AR.To illustrate the efficacy of Cube, decoupled clock products were generated and evaluated, and PPP-AR solutions based on the IRC model and the DCK model are discussed.The decoupled carrier-phase clock has an accuracy of approximately 0.02 ns, and the mean difference of the wide-lane ambiguity bias is about −0.051 cycles.In terms of positioning performance, the DCK model achieved the highest accuracy, with positioning errors of approximately 0.86, 0.90, and 3.18 cm in the east, north, and up directions, respectively.The experimental results indicate that Cube has the ability to estimate stable decoupled clock products and obtain high-precision, ambiguity-fixed, PPP solutions.At present, Cube can only process GPS data, and future plans are to achieve decoupled clock offset estimation and PPP-AR for multi-GNSS.Cube may have some limitations, and we encourage readers to provide feedback to help us identify areas for improvement and enhance our open-source software.

Figure 1
Figure 1 illustrates the overall framework diagram of the Cube software.The main functions of the software can be realized through the configuration file.Cube is mainly composed of satellite clock/decoupled clock estimation (the network process) and PPP/PPP-AR (the PPP process).In the network process, clock offsets can be estimated based on the IF model, the SCB model, and the DCK model.In the PPP process, users can implement PPP-AR with decoupled clocks and integer clock/bias products, respectively, to obtain ambiguity-fixed solutions.Cube offers the option of processing in both static and kinematic PPP modes, with epoch-by-epoch positioning results available for both.It should be stressed that integer clock/bias products cannot be estimated by Cube and are available from CNES/CLS.Users can also use IGS legacy clocks to obtain ambiguity-float solutions.The data processing strategy of the Cube software is shown in Table1.

Figure 1 .
Figure 1.Overall structure of Cube software.

Figure 2 .
Figure 2. Station distribution.The stations in red (labeled as Network) were utilized for clock estimation at the server end, and the stations in blue (labeled as User) were used for the positioning experiment at the user end.

Figure 3 .
Figure 3.The bias of the products solved by three different satellite clock estimation models of Cube compared to IGS final products on DOY 038 in 2021.DCK represents the decoupled carrier-phase clock here.Each colored line represents the satellite clock bias time series of a satellite.Since the clock products solved by the three models have different bias terms, we only evaluated their accuracy by using the standard deviation (STD), as shown in Figure 4.The figure demonstrates that the STDs of the clock products solved based on the IF model are significantly higher than those of the other models.The clock estimated based on the DCK model has the smallest STD, which means that it has the highest stability.Although extracting satellite code bias can increase the stability of the satellite clock, it still cannot achieve the accuracy of decoupled carrier-phase clocks that are completely unaffected by code bias in the DCK model.

Figure 4 .
Figure 4.The STD values of different types of satellite clock products relative to IGS on DOY 038 in 2021.

Figure 5 .
Figure 5.The STD values of decoupled clock biases on DOY 038 in 2021.The character "c" represents cycles.

Figure 6 .
Figure 6.The time series of wide-lane ambiguity biases on DOY 038 in 2021.Each colored line represents the wide-lane ambiguity bias time series of a satellite.

Figure 7 .
Figure 7.The wide-lane bias differences between estimates and CNES/CLS products on DOY 038 in 2021.
Figure 8 shows the kinematic positioning performance of station AREQ on DOY 039 in 2021.It can be seen from the figure that all three PPP models can achieve high-precision positioning results.Compared with the solution based on the IF model, the result of the ambiguity-fixed solution is more stable.Moreover, the up biases of the IRC model and the DCK model are significantly decreased once the ambiguities are successfully fixed, indicating the effectiveness of PPP-AR.

Figure 8 .
Figure 8. Positioning error curves of three PPP models based on Cube at station AREQ on DOY 039 in 2021.

Figure 9 .
Figure 9. Ratio-test results of IRC and DCK experiments based on Cube at station AREQ on DOY 039 in 2021.

Figure 10 .
Figure 10.The RMS values of position errors for the conventional IF model, the IRC model, and the DCK model from DOY 038 to DOY 044 in 2021.

Table 1 .
The data processing strategy of the Cube software.