=Paper= {{Paper |id=Vol-2626/paper11 |storemode=property |title=Support Vector Regression Machine Learning Tool to Predict GNSS Clock Corrections in Real-Time PPP Technique |pdfUrl=https://ceur-ws.org/Vol-2626/paper11.pdf |volume=Vol-2626 |authors=Mutaz Wajeh Abdlamajud Qafisheh,Angel Martín Furones,Joaquín Torres-Sospedra |dblpUrl=https://dblp.org/rec/conf/icl-gnss/QafishehFT20 }} ==Support Vector Regression Machine Learning Tool to Predict GNSS Clock Corrections in Real-Time PPP Technique == https://ceur-ws.org/Vol-2626/paper11.pdf
Support Vector Regression Machine Learning Tool to
Predict GNSS Clock Corrections in Real-Time PPP
Technique
Mutaz Wajeh Abdlmajid Qafisheha,b , Angel Martin Furonesa and
Joaquin Torres-Sospedrab,c
a
  Departamento de Ingeniería Cartográfica, Geodesia y Fotogrametría, Universitat Politècnica de València,
Camino de Vera, S/N, València, Spain
b
  Institute of New Imaging Technologies,Universtiat Jaume I, Avda Vicente Sos Baynat S/N, Castellón, Spain
c
  UBIK Geospatial Solutions S.L., Espaitec 2, Avda Vicente Sos Baynat S/N, Castellón, Spain


                                     Abstract
                                     Real-time Precise Point Positioning (PPP) can provide the Global Navigation Satellites Systems
                                     (GNSS) users with the ability to determine their position accurately using only one GNSS receiver.
                                     The PPP solution does not rely on a base receiver or local GNSS network. However, for establishing a
                                     real-time PPP solution, the GNSS users are required to receive the Real-Time Service (RTS) message
                                     over the Network Transported of RTCM via Internet Protocol (NTRIP). The RTS message includes
                                     orbital, code biases, and clock corrections. GNSS users receive those corrections produced by the
                                     analysis center with some latency, which degraded the quality of coordinates obtained through real-
                                     time PPP. In this research, we investigate the Support Vector Machine (SVR) machine learning tool
                                     to overcome the latency for clock corrections in the IGS03 product. Three days of continuous GNSS
                                     observations at BREST permanent station in France were selected as a case study. BNC software
                                     was used to generate clock corrections files. Taking as reference the clock correction values without
                                     latency. The SVR solution shows a reduction in the standard deviation and range with about 30%
                                     and 20%, respectively, in comparison to the latency solution for all satellites except those satellites
                                     in GLONASS M block.

                                     Keywords
                                     Real-time Precise Point Positioning, Latency, Support Vector Regression, Clock corrections prediction.




1. Introduction
Precise Point Positioning (PPP) is a Global Navigation Satellite System (GNSS) technique
that only uses a stand-alone dual-frequency receiver to obtain high-precision positioning and/or
navigation [1, 2, 3, 4].
  PPP does not use a reference base station with a second GNSS receiver in order to process
observations in a differential way or a connection to a network solution from reference stations.
  The main importance of the technique is the non-local character of the solution since there
are not local reference stations involved, no local movements from those reference stations affect
the solution.

ICL-GNSS 2020 WiP Proceedings, June 02–04, 2020, Tampere, Finland
email: muqawa@doctor.upv.es,mutazq@ppu.edu (M.W.A. Qafisheh); aemartin@upvnet.upv.es (A.M.
Furones); jtorres@uji.es,torres@ubikgs.com (J. Torres-Sospedra)
orcid: 0000-0003-2920-0404 (M.W.A. Qafisheh); 0000-0001-9379-0694 (A.M. Furones); 0000-0003-4338-4334
(J. Torres-Sospedra)
                                   ⃝
                                   c 2020 Copyright for this paper by its authors.
                                   Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
CEUR
Workshop
Proceedings
              http://ceur-ws.org
              ISSN 1613-0073       CEUR Workshop Proceedings (CEUR-WS.org)
   The absolute character of the technique has made it widely used in deformation monitoring,
both in infrastructures and natural or environmental projects [5, 6, 7, 8].
   However, PPP not only needs high-precision pseudo-range and carrier phase GNSS observa-
tions from the satellites to form the ionosphere-free system equations, but it also needs precise
satellite clocks and orbit information, signal biases and the computation of tropospheric de-
lay, earth tides, phase wind-up, relativistic effects or antenna-phase offsets error sources to be
included in the normal equations of the solution [2, 3].
   Precise orbits, clocks and biases files for the GNSS satellites are based on the International
GNSS Service (IGS) precise products [9], and the rest of the effects can be modelled with enough
accuracy, so that PPP can achieve centimeter accuracy in static mode [10] and sub-decimeter
accuracy in the kinematic mode [11], both in the post-process. But post-process solution is not
the ideal solution for a deformation monitoring project, so PPP has to be used in real-time.
   In 2001, the International GNSS Service (IGS), began a pilot project for real-time activities
[12]. The objectives were to develop and maintain a real-time tracking network and the com-
putation and dissemination of real-time observations and orbit and clock correction products
derived from these stations to real-time users. IGS officially launch its Real-Time Service (RTS)
in April 2013 based on the IGS infrastructure of global network stations. Currently, 10 analysis
centers (ACs) are participating in the RTS: BKG, CNES, DLR, ESA/ESOC, GFZ, Geo++,
GMV, NRCan, TUW, and Wuhan university [13, 14, 15, 16, 17].
   RTS products are distributed as RTCM state-space representation (SSR) correction streams,
and they are broadcasted over the Internet using Networked Transport of RTCM via Internet
Protocol (NTRIP).
   The BNC software provided freely by the BKG Agency can be used to generate real-time
PPP results using the SSR orbit and clock correction messages together with the ionosphere-
free combined pseudorange and carrier phase observations on two frequencies from a single
GNSS receiver [18, 19].
   Most of these ACs produce its own real-time products (CLK11 from DLR is an example), but
IGS produces combined products based on the ACs individual products, which are considered
as the official real-time IGS products (currently available are the IGS01 product, which is a
single epoch combination solution, the IGS02, which is a Kalman filter combination product,
and the experimental IGS03, which is a Kalman filter combination for GPS and GLONASS
satellites [15]).
   One of the main problems in real-time PPP (RT-PPP) is the latency of the RTS products.
Latency can be defined as the sum of the time required to produce the products in the AC
centers (process observations, update the correction SSR stream and, in case of the IGS combi-
nation products, to combine solutions from each AC), and the time required for the computer
where the RT-PPP solution is performed to obtain these products (which is mainly based on
the Internet connection). These latencies mean that older corrections for satellites clocks and
orbits are applied to real-time observations.
   The use of IGS products (IGS01, IGS02, or IGS03) in RT-PPP introduces a latency of 30-40
seconds in the solution, which produces an RMS residual for the final coordinates of around
0,15 m in the horizontal component and 0,20 m in the vertical component [20].
   A possible solution to remove this latency is to predict orbit and clock corrections from the
data previously recorded from the SSR streams. A polynomial fitting is usually used to obtain
a prediction of the orbit with less than 0.1 m in accuracy [15]. However, clock correction
prediction is very difficult to model due to its random nature (including jumps, offsets, and
outliers, Fig. 1). Linear model, quadratic and higher-order polynomial prediction models were
used in the past [15, 21, 22, 23, 24, 25].A combined model of linear component and sinusoidal
terms used to predict clock corrections is proposed in [26, 27]. Results at an IGS station
processed in kinematic mode showed that the position error using the predicted corrections
were mostly less than 0.15 m with RMSE generally less than a decimeter [26], and at 0.021 m,
0.049 m and 0.017 m in the east, north, and vertical directions in static mode[27].
   In this research, machine learning tools [28, 29, 30] are used in order to predict clock cor-
rections, which the main objective to improve accuracy in RT-PPP solution by eliminating the
latency effect of the RTS products.
   Since the focus is placed in the extrapolation of the data (clock corrections in this case) by
a regression algorithm, random forest or extreme gradient boosting can’t be used. As there
are no test data in the extrapolation values, so the method limits to repeat the last prediction
from the test data for the extrapolation values. K-Nearest Neighbor can be used for regression,
but if the prediction is located far away from the neighbors, the method will have no solution.
This is the case if the latency is large such as in the IGS products.
   Finally, Support Vector Regression (SVR) is used for the prediction in this research. In a
binary classification problem, a support vector machine (SVM) generates a hyperplane from the
training data set that is capable of splitting the high-dimensional events into two groups [31]
by solving a quadratic optimization problem. The selection of the hyperplane that optimally
separates two classes is carried out using only a subset of training samples, which are known
as support vectors. SVR uses the same principles as the SVM, trying to fit the error within a
certain threshold [32].


2. Data Collection
BNC software was used to obtain 70 hours (with 10 seconds of sample rate) of real-time kine-
matic PPP results (with latency) at BREST (France) GNSS permanent station (48o 22’49”N,
4o 29’47”W) and to store real-time corrections such as orbit and clock SSR files. IGS03 is used
for the solution, so a latency of 30-33 seconds is reported in the solution as a constant for all
the observations during the 70 hours of the experiment. We have checked some other products;
for example, CLK11 reports a constant latency value in the same computer and local setup
of 10-12 seconds, so the part of the latency related to the local setup and network can be
considered small.
   Figure 1 is the IGS03 SSR clock correction for GPS satellite number 28 and GLONASS
satellite number 13.
   However, the applied methodology in this research can be applied to any GNSS station that
provides real-time data streaming.


3. Methodology
Pandas and Numpy python libraries are used to read the correction files. Consequently, the
clock corrections with the timestamp for each satellite are added to the Numpy array, then,
the Numpy array was converted to the Pandas data frame. The final output is the IGS03 data
frame, which contains 52 columns (all GPS and GLONASS satellites) with 25881 rows (one
row for every recorded epoch).
   BNC software registers the latency in the PPP coordinates solution file; consequently, the
latency values were transferred to the IGS03 data frame using software written in Python
Figure 1: IGS03 SSR Clock corrections for GPS satellite number 28 and GLONASS satellite number 13.


language. The mean value of latency for the IGS03 SSR stream is 31.6 seconds, with a maximum
value of 32.2 seconds and a minimum value of 31.3 seconds.
   SciKit-learn and Keras libraries for machine learning are used in this research. If we keep in
mind the real-time nature of this experiment, computational time should be an essential key to
address. So, one minute of a sliding window of data was used for the prediction, that is, SVR is
fitted for one minute of data. The data collected in the first minute was used as ground truth,
and no prediction was conducted on it. Then, when a new observation is stored, the older one
was dropped to maintain the same size of the sliding window. Finally, the latency and the fitted
SVR model are used to predict the GNSS clock corrections, so the original IGS03 correction file
was re-produced to contain the prediction of the clock corrections instead of having the clock
corrections value suffering from the latency.
   The SVR was tested with different kernels (Sigmoid, Radial Basis Function (RBF), linear,
and polynomial) in the development phase. The clock correction values data was splitted into
train and test data. The model was trained with 70% of available data. Then 30% of the data
was used for testing the SVR model. The R2 score for the RBF kernel was the highest among
different kernels. Consequently, the RBF is picked as a kernel for the SVR. RBF is a commonly
used kernel in the machine and deep learning due to their general approximation and quicker
learning speed. It is essential to tune the parameters for this kernel in order to improve the SVR
prediction results. The gamma parameter plays a major role in interpolating, extrapolating,
and define the Gaussian shape of the RBF kernel [33]: small gamma values for the RBF kernel
means to have a wide Gaussian shape with high bias and low variance, on the contrary, large
gamma value sharps the edges of the Gaussian, and that leads to low bias and high variance
[34]. C parameter controls the cost of misclassification. A large C value gives low bias and
high variance, and small C, provide a higher bias with low variance. The clock correction
values experience periodical changing each 3–4 hours influenced by clock frequency variation
inside the on-board satellite. The main reason for clock frequency variation is due to periodic
orbital changes or temperature variation. There is no such way to define the parameters for
all regression and classification cases. Thus, the GridSearchCV was used for parameter tuning.
GridSearchCV was conducted every 3.5 hours to define the best parameters in our research to
prevent a possible bias of the solution due to a bad parameter configuration of the SVR model.
   Finally, the clock correction prediction values contain some outliers and jumps caused by
the outliers and frequency drift jumps of the atomic clocks of the satellites. The magnitude
of those outliers in our data set was in the order of the 5-meters and higher. Thus, to detect
and eliminate them, a threshold with magnitude 2-meters was introduced in the software;
consequently, whenever the prediction value had a 2-meter magnitude or more, the current
observation value (the one corresponding to the latency value) is used instead of the predicted
one. We define 2 meters as a “practical rule” after some experiments, but more investigation
regarding this threshold value with different data sets are needed.


4. Results
Currently, GNSS constellations have a mix of old and new satellites, and the on-board clocks
are of different types. GNSS satellites have been launched in different blocks. Each block of
satellites shares the same manufacturing components, signal structures, on-board clock, type
of antenna, etc. This research focuses on two GNSS systems, the GPS and GLONASS. The
current blocks on the GPS system are (II-F, III-A, II-R and, IIR-M), while the GLONASS
system contains M and K blocks.
   Consequently, different types of clocks are implemented in each block with varying character-
istics in terms of frequency stability and frequency drift. For example, Cesium and Rubidium
deployed on-board GNSS satellites. More information about the types of clocks deployed in
GLONASS and GPS can be found in [35, 36, 37].
   For this reason, SVR is performed for every individual satellite, and the results are shown
for the different GNSS blocks as the satellites for every block had similar results.
   The results were computed by calculating the differences between the clock correction values
without latency and the SVM clock correction prediction values, and compare them with the
differences between the clock correction values without latency and the clock correction values
with latency.
   Table 1 is a statistical summary of the obtained results, where column latency stands for the
difference between the clock correction values without latency and the clock correction values
with latency, and column SVR stands for the difference between clock correction values without
latency and the SVM clock prediction values.


5. Discussion
The results show that the SVR prediction reduced the standard deviation, as well as the range
difference for all satellite blocks except the range of the GLONASS-M block and the SVR R2
score, which is higher for all GNSS satellite blocks. The standard deviation is reduced with a
32%, 30%, 29%, 30%, and 23% for the following satellite blocks: GPS II-F, GPS II-R, GPS
IIR-M, GLONASS K, and GLONASS M respectively, with respect to the latency solution, so a
mean reduction of 28.8% in the standard deviation is obtained using SVR prediction. A range
reduction of 17%, 27%, 15%, 22%, and 18% are obtained for the following satellite blocks:
GPS II-F, GPS II-R, GPS IIR-M, GLONASS K, respectively, with respect to latency solution,
however for GLONASS M block it increases with 18%, considering only the GNSS blocks with
a reduced percentage in the range, a mean reduction value of 20.2% is obtained. From the
obtained results we can conclude that no remarkable differences in the reduction of standard
deviation are obtained for all satellite blocks with the exception of the GLONASS M block
Table 1
Statistical summary of the obtained results, where column latency stands for the difference between the clock
correction values without latency and the clock correction values with latency and column SVR stands for
the difference between clock correction values without latency and the SVM clock prediction values.
             Satellite Block      Range(m)         Standard deviation(m)         R2 Score
                               Latency  SVR        Latency       SVR         Latency    SVR
                    II-F       1.2185     1.0051    0.0166       0.0112       0.9972    0.9986
                   II-R        0.9972      0.724    0.0253       0.0175        0.987    0.9937
                  IIR-M        1.2164     1.0295    0.0278       0.0196       0.9879    0.9939
                     K         2.8167     2.1808    0.0373       0.0258       0.9976    0.9989
                     M         2.3534     2.7942    0.0458       0.0351       0.9952    0.9971


which present the less percentage reduction, and some differences can be found in the range
value: GPS II-R block present a higher reduction in range in comparison with the other two
GPS blocks, and GLONASS constellation present a percentage reduction in the K block but a
percentage augmentation in the M block.


6. Conclusions
Based on the previous results and discussion, we can conclude that SVR was able to produce
better clock corrections results than the simple use of the clock corrections values with the
latency. And taking as reference the clock correction values without latency, the SVR solution
shows a reduction in the standard deviation and range with about 30% and 20%, respectively,
in comparison to the latency solution for all satellites except those satellites in GLONASS M
block.
   The next step of this research will be centered to repeat the proposed methodology with
different sliding windows intervals for a single satellite depending on the clock values. We will
apply different machine learning tools such as neural networks to solve the latency problem.
The BNC software can run the PPP with post-process mode. Thus, it is recommended to re-run
the BNC in post-processing mode, with the prediction values obtained by the SVR prediction
to examine the quality of the coordinates with the influence of the prediction values. These are
the values we have got in this experiment; to be confident with the results, we are aware that
we must carry out more investigations.


References
 [1] J. Zumberge, M. Heflin, D. Jefferson, M. Watkins, F. Webb, Precise point positioning for
     the efficient and robust analysis of gps data from large networks, Journal of geophysical
     research: solid earth 102 (1997) 5005–5017.
 [2] J. Kouba, P. Héroux, Precise point positioning using igs orbit and clock products, GPS
     solutions 5 (2001) 12–28.
 [3] J. Geng, X. Meng, F. N. Teferle, A. Dodson, Performance of precise point positioning
     with ambiguity resolution for 1-to 4-hour observation periods, Survey Review 42 (2010)
     155–165.
 [4] O. L. Colombo, A. W. Sutter, A. G. Evans, Evaluation of precise, kinematic gps point
     positioning, in: Proceedings of ION GNSS 17th International Technical Meeting of the
     Satellite Division, Long Beach, California, 2004, pp. 1423–1430.
 [5] K. Chen, Real-time precise point positioning and its potential applications, in: Proceedings
     of the 17th International Technical Meeting of the Satellite Division of The Institute of
     Navigation (ION GNSS 2004), 2001, pp. 1844–1854.
 [6] P. Héroux, Products and applications for precise point positioning-moving towards real-
     time, ION GNSS 2004, LongBeach CA, September (2004).
 [7] J. Kouba, A possible detection of the 26 december 2004 great sumatra-andaman islands
     earthquake with solution products of the international gnss service, Studia Geophysica et
     Geodaetica 49 (2005) 463–483.
 [8] X. Zhang, O. B. Andersen, Surface ice flow velocity and tide retrieval of the amery ice
     shelf using precise point positioning, Journal of Geodesy 80 (2006) 171–176.
 [9] J. M. Dow, R. E. Neilan, C. Rizos, The international gnss service in a changing landscape
     of global navigation satellite systems, Journal of geodesy 83 (2009) 191–198.
[10] J. Geng, X. Chen, Y. Pan, S. Mao, C. Li, J. Zhou, K. Zhang, Pride ppp-ar: an open-source
     software for gps ppp ambiguity resolution, GPS Solutions 23 (2019) 91.
[11] Á. Martín, A. B. Anquela, J. L. Berné, , M. Sanmartín, Kinematic gnss-ppp results from
     various software packages and raw data configurations, Scientific Research and essays 7
     (2012) 419–431.
[12] M. Caissy, L. Agrotis, Real-time working group and real-time pilot project, Int GNSS
     Serv Tech Rep 2011 (2011) 183–190.
[13] International.GNSS.Services, Real time contributors, 2019. URL: http://www.igs.org/rts/
     contributors.
[14] T. Grinter, C. Roberts, Real time precise point positioning: Are we there yet?, 2013.
[15] T. Hadas, J. Bosy, Igs rts precise orbits and clocks verification and quality degradation
     over time, GPS solutions 19 (2015) 93–105.
[16] A. Martín, A. Anquela, A. Dimas-Pagés, F. Cos-Gayón, Validation of performance of real-
     time kinematic ppp. a possible tool for deformation monitoring, Measurement 69 (2015)
     95–108. doi:10.1016/j.measurement.2015.03.026.
[17] M. Elsobeiey, S. Al-Harbi, Performance of real-time precise point positioning using igs
     real-time service, GPS solutions 20 (2016) 565–571.
[18] BKG, Ireal-time gnss satellite orbit and clock corrections from igs and euref sources, 2018.
     URL: https://igs.bkg.bund.de/ntrip/orbits.
[19] A. Sturze, L. Mervart, W. Sohne, G. Weber, G. Wübbena, Real-time ppp using open cors
     networks and rtcm standards, in: PPP-RTK symposium, Frankfurt, Germany, 2012, pp.
     12–13.
[20] A. Martín, T. Hadas, A. Dimas, A. Anquela, J. Berne, Influence of real–time products
     latency on kinematic ppp results, 2015.
[21] S.-C. Han, J. Kwon, C. Jekeli, Accurate absolute gps positioning through satellite clock
     error estimation, Journal of Geodesy 75 (2001) 33–43.
[22] G. Huang, Q. Zhang, Real-time estimation of satellite clock offset using adaptively robust
     kalman filter with classified adaptive factors, GPS solutions 16 (2012) 531–539.
[23] G. W. Huang, Q. Zhang, G. C. Xu, Real-time clock offset prediction with an improved
     model, GPS solutions 18 (2014) 95–104.
[24] X. Zhang, X. Li, F. Guo, Satellite clock estimation at 1 hz for realtime kinematic ppp
     applications, GPS solutions 15 (2011) 315–324.
[25] Z. Zheng, X. Lu, Y. Chen, Improved grey model and application in real-time gps satellite
     clock bias prediction, in: 2008 Fourth International Conference on Natural Computation,
     volume 2, IEEE, 2008, pp. 419–423.
[26] A. El-Mowafy, Impact of predicting real-time clock corrections during their outages on
     precise point positioning, Survey Review 51 (2019) 183–192.
[27] H. Yang, C. Xu, Y. Gao, Analysis of gps satellite clock prediction performance with
     different update intervals and application to real-time ppp, Survey review 51 (2019) 43–
     52.
[28] C. M. Bishop, Pattern Recognition and Machine Learning by Christopher M. Bishop,
     Springer Science+ Business Media, LLC, 2006.
[29] R. O. Duda, P. E. Hart, D. G. Stork, Pattern classification, John Wiley & Sons, 2012.
[30] K. P. Murphy, Machine learning: a probabilistic perspective, MIT press, 2012.
[31] V. Vapnik, V. Vapnik, Statistical learning theory wiley, New York 1 (1998).
[32] Bhattacharyya, Support vector regression or svr, 2018. URL: https://medium.com/
     coinmonks/support-vector-regression-or-svr-8eb3acf6d0ff.
[33] M. Mongillo, Choosing basis functions and shape parameters for radial basis function
     methods, SIAM undergraduate research online 4 (2011) 2–6.
[34] W. L. . K. Parang, K., AN Introduction to Statistical Learning, . Current Medicinal
     Chemistry, 2012.
[35] A. Cernigliaro, S. Valloreia, L. Galleani, P. Tavella, Gnss space clocks: Performance
     analysis, in: 2013 International Conference on Localization and GNSS (ICL-GNSS), IEEE,
     2013, pp. 1–5.
[36] P. Daly, I. Kitching, Characterisation of navstar gps and glonass on-board clocks, in:
     IEEE Symposium on Position Location and Navigation. A Decade of Excellence in the
     Navigation Sciences, IEEE, 1990, pp. 1–8.
[37] U. of Homeland security, Navigation center homepage, 2018. URL: https://www.navcen.
     uscg.gov/?Do=constellationStatus.