A Systematic Review of Machine Learning Techniques for GNSS Use Cases

In terms of the availability and accuracy of positioning, navigation, and timing (PNT), the traditional Global Navigation Satellite System (GNSS) algorithms and models perform well under good signal conditions. In order to improve their robustness and performance in less than optimal signal environments, many researchers have proposed machine learning (ML) based GNSS models (ML models) as early as the 1990s. However, no study has been done in a systematic way to analyze the extent of the research on the utilization of ML models in GNSS and their performance. In this study, we perform a systematic review of studies from 2000 to 2021 in the literature that utilizes machine learning techniques in GNSS use cases. We assess the performance of the machine learning techniques in the existing literature on their application to GNSS. Furthermore, the strengths and weaknesses of machine learning techniques are summarized. In this paper, we have identified 213 selected studies and ten categories of machine learning techniques. The results prove the acceptable performance of machine learning techniques in several GNSS use cases. In most cases, the models using the machine learning techniques in these GNSS use cases outperform the traditional GNSS models. ML models are promising in their utilization in GNSS. However, the application of ML models in the industry is still limited. More effort and incentives are needed to facilitate the utilization of ML models in the PNT context. Therefore, based on the findings of this review, we provide recommendations for researchers and guidelines for practitioners.


I. INTRODUCTION
THE growing complexity and dependency on global navigation satellite system (GNSS) technologies have increased the need for delivering high-performance GNSS solutions in terms of performance parameters, such as accuracy, availability, continuity, and integrity, at lower costs. Another additional performance indicator is the "Time To First Fix (TTFF)," which is used by some receiver manufacturers. GNSS performance prediction is a very important and essential activity to be carried out before the system is deployed so that the performance of the navigation system can be estimated, and the maintenance efforts and downtime can be significantly reduced. The early detection of faults and errors may lead to the timely correction of these faults [1].
There are various performance parameters addressed in the literature. These performance parameters as well as error/fault data can be used to develop and evaluate models used for the detection and correction of GNSS errors. These models can be used for estimating and predicting GNSS performance required by an application relying on a GNSS system in order for it to perform adequately.
There are some significant sources of errors for satellitebased positioning namely the ionospheric and troposphere effects, multipath, clock drift, receiver noise, interference, and hardware biases [2]. Ionospheric content interferes with GNSS signals, thereby, inducing errors for users when making calculations of their position from such signals. In addition, because GNSS was designed to operate in ideal line-of-sight (LOS) conditions, it has been observed to be highly influenced by the signals arriving at the receiver with multipath propagation in locations having a high possibility of reflection or refraction of the signal, such as urban areas. The GNSS signals are also vulnerable to radio frequency interference (RFI), due to their very low power at the Earth's surface. There are areas where GNSS signals are denied or not available (GNSS-denied environments) and this affects or even hinders the calculation of the user's position. All these can have a severe degrading effect on receiver performance [2].
The GNSS performance degradation is an area where machine learning (ML) finds its application as it deals with a nearly limitless quantity of data GNSS provides. ML has been used in many research works to propose and provide solutions to tackle GNSS challenges.
When compared to statistical methods, ML techniques enable us to identify tricky dependencies in data for which exploratory analysis has not allowed the proper determination of the shape of the underlying model [3]. The aim of using ML is not to generate an explicit formula for the distribution of the data. Rather, ML can be used to train an algorithm to learn the relation between the input features and the output. Furthermore, it is used for studying interrelationships between features of a dataset. For example, if the features are continuous variables, you can use covariance to find their inter-relationship. Covariance is a measure of how much a feature is dependent on another. This learning method makes it possible to allow relaxation of the assumptions needed as seen in many statistical methodologies. Furthermore, the use of ML in GNSS context has seen increased interest by also several industries, such as Google's DeepMind AI, which learns to navigate cities without a map. When this is achieved in a real-world practical setting, it means artificial intelligence (AI) can recognize both objects and the type of the object, and relate them to the physical environment at various scales and distances [4]. Google has also found a new way to update its maps, by combining deep learning with Street View. This is done by combining the location data from Street View car's GNSS with address information and business names extracted from imagery. This could help in effectively mapping an entire city without any pre-existing knowledge of the layout or nomenclature [5]. In February 2020, Apple applied to the Federal Communications Commission for a license to install GPS testing equipment on its headquarters campus. It is thought that this move is related to the application filed by Apple Inc. with the U.S. Patent Office in August 2019, describing the company's "Machine Learning Assisted Satellite Based Positioning" [6]. Therefore, with this increased interest by industry and researchers alike in ML utilization in GNSS, we decided to make a systematic literature review (SLR) to analyze and compare the different ML algorithms, methods, and solutions used in the literature, as it can facilitate the development of new and efficient solutions in the utilization of ML techniques in GNSS. We perform a systematic review of studies between 2000 and 2021 to analyze and cite examples from the identified literature.
The rest of this article is organized as follows. Section II presents the methodology used in this systematic review. In Section III, we present and discuss the results of the review process. The implications for research and practice are presented in Section IV. While Section V describes the limitation of this article. Finally, Section VI concludes this article.

II. MATERIALS AND METHODS
In the planning, conducting, and reporting of the systematic review performed in this article, a process was adopted from [8], as illustrated in Fig. 1.
In the planning stage, the review protocol was developed, which includes the following steps: 1) identifying the research questions; 2) design of the search strategy; 3) criteria for study selection; 4) quality assessment of the study; 5) data extraction; 6) data synthesis process.
Afterward, the results are then used in reporting the review.
The first step was the formation of the research questions that covered the issues to be addressed in the SLR. In the second step, the search strategy was described including the identification of search words and phrases and the selection of data sources from where the search will be performed in order to identify the candidate studies. The third step is used to determine the relevant studies. In this step, the criteria for the inclusion and exclusion of studies in the relevant study are performed. The fourth step scans the reference of the relevant papers for additional relevant studies, and then the quality assessment criteria are applied to the total relevant papers to derive the final selected papers used for the SLR. The fifth step involves the design of data extraction forms to collect the required information from the final selected papers in order to answer the research questions and in step six, we devise methods for data synthesis. The review protocol was developed through frequent meetings and consultations with senior researchers and professors. This review protocol helps in reducing the possibility and risk of research bias in the SLR. The following sections describe the research questions used and the steps taken during the period the SLR was conducted.

A. Research Questions (RQs)
This SLR is performed with the aim of providing and assessing results obtained from the studies done on the utilization of ML techniques in GNSS. This article extensively reviews studies between 2000 and 2021. From the final selected studies, first, we identify the different ML algorithms applied to GNSS (RQ1). Second, we identify GNSS use cases in which ML techniques are commonly used (RQ2). In the third research question (RQ3), the GNSS datasets used in ML techniques are identified. In RQ4a, the performance of ML techniques with traditional GNSS parameters/techniques is compared. This was done with the aim of determining if ML techniques are better than the traditional GNSS parameters/techniques. In RQ4b, the assessment of whether an ML technique outperformed other ML techniques in order to determine if an ML technique is consistently better than other ML techniques was addressed.
In research question RQ5, the strengths and weaknesses of different ML techniques are discussed to provide GNSS experts and researchers guidance regarding the selection of an appropriate ML technique based on the context of the GNSS application. Finally, in RQ6, the different methods used for the evaluation or validation of the ML algorithms are discussed. Furthermore, future guidelines are provided to GNSS technology experts and researchers regarding the application of ML techniques in GNSS. Table I presents more details on the research questions addressed in this SLR.
In Table XI in Appendix B, a summary of the ML algorithms utilized in GNSS and the GNSS use case they were applied to has been presented. Other details include year of publication, data type, the ML validation method, and the paper type (journal/conference).

B. Search Strategy
The search strategy comprises search terms, literature resources, and search process, which are detailed one by one as follows: 1) Search Terms: We formed sophisticated search terms by incorporating alternative terms and synonyms using the Boolean expression "OR" and combining main search terms using "AND." The following general search terms were used for the identification of literature: GNSS AND "deep learning" OR GNSS AND "machine learning" OR GNSS AND "artificial intelligence" OR GNSS AND "random forest" OR GNSS AND "decision tree" OR GNSS AND "support vector machine" OR GNSS AND "neural network" OR GNSS AND "regression" 2) Literature Resources: After identifying the search terms, relevant digital portals were selected. The selection was restricted by the availability of digital portals at the home universities. The following electronic databases were used for the search. We also used relevant studies from The Institute of Navigation (ION). 1

1) IEEE Xplore 2) Google Scholar 3) ScienceDirect 4) Crossref 5) Scopus 6) Institute of Navigation (ION)
We restricted the search from 2000 to 2021 to capture the ML and GNSS-related studies for the most recent two decades. The initial search to identify the literature for the review was performed after which the candidate studies were determined from the full-text papers by removing duplicate and irrelevant papers. The search was limited to only publications in journals and conferences. However, we included one paper from 1995 because we found it to be very relevant to our review process.
3) The Search Process: To facilitate the use of ML techniques in GNSS, it is necessary to systematically review the performance of these ML techniques and their usage from existing literature and studies. To the best of the authors' knowledge, there is no systematic review that focuses on ML techniques utilized in GNSS use cases except for our conference publication presented at the 2021 International Conference on Localization and GNSS (ICL-GNSS) [7].
To achieve this aim, we extensively searched through some relevant digital libraries to identify studies to answer the research questions. The final selected studies were selected based on the quality assessment of the studies and their relevance. Fig. 2

C. Study Selection
Search phase 1 resulted in 433 retrieved papers. Since not all of the retrieved papers would provide the information useful to address the research questions raised by this review, further filtering is needed to identify the relevant papers. This is the aim of the study selection. Specifically, as illustrated in Fig. 2, the study selection process consists of two phases. It is important to note that in each selection phase, two researchers conducted the selection independently. If there were any disagreements between them on the selection criteria, a group meeting involving all researchers was held to make a decision. 1) Selection phase 1: Apply the inclusion and exclusion criteria (defined below) to the candidate papers so as to identify the relevant papers, which provide potential data for answering the research questions. 2) Selection phase 2: Apply the quality assessment criteria (defined in the next section) to the relevant papers so as to select the papers with acceptable quality, which are eventually used for data extraction.
The final literature to study was selected after following the criteria for inclusion and exclusion listed below, which had been refined through pilot selection. We carried out the study selection by reading the titles, abstracts, or full text of the papers. However, if the results were different in both studies, they were retained. 5) Review studies (mini-reviews), editorials, news. 6) Short communications, encyclopedia, book chapters, case reports, conference info.
Using the above steps, we identified 212 relevant studies for inclusion in the SLR process. We then used search phase 2 to include more papers from the reference lists of the relevant studies, which produced an extra 37 studies. Therefore, a total number of 249 relevant studies were identified for further processing and analysis.

D. Quality Assessment Criteria
We formed a quality questionnaire for assessing the relevance and strength of the relevant studies. The quality criteria were developed by considering the suggestions given in [9]. Table II presents the quality assessment questions. The questions are ranked 1 (yes), 0.5 (partly), and 0 (no). The final score is obtained after adding the values assigned to each question. A study could have a maximum score of 6 and a minimum score of 0.
Two independent researchers ranked the quality questions for each relevant study and consulted other researchers in case of any disagreement. Finally, after thorough reviews, discussions, and brainstorming sessions, a final decision about the inclusion/exclusion for each study was made. To ensure the reliability of the findings of this review, we considered only the relevant studies with acceptable quality, i.e., with quality scores equal to or greater than 3.5, for the subsequent data extraction and synthesis. Accordingly, we further dropped 36 papers with a quality score of less than 3.5 in selection phase 2 (see Fig. 2). Finally, after the application of the quality assessment criteria stated in selection phase 2 to the total number of relevant studies, we identified 213 papers as the final selected studies used for this SLR. The quality scores of all 213 selected studies are presented in Table VII in Appendix A. These 213 studies were then used in the data extraction form. The more detailed list of these 213 selected papers can be found in the data extraction form in Table XI in Appendix B.

E. Data Extraction and Data Synthesis
A form is filled out for each of the final selected studies. The purpose of using the data extraction form is to determine which research question was satisfied by a final selected study. We summarized author's name, title, publishing details, dataset details, independent variables (metrics), and the ML techniques. The details of which specific research questions were answered by each final selected study were present in the data extraction card. These data extraction cards were used to collect information from the final selected studies. Two independent researchers collected the information required for each final selected study from the data extraction card. The two researchers then matched their results and if there is any disagreement between the two, other researchers are consulted to resolve these disagreements. The resultant data are saved into a excel file for further use during the data synthesis process. Table III shows the data extraction form used to collect the data from the selected studies.
The basic objective while synthesizing data is to accumulate and combine facts and figures from the final selected studies in order to formulate a response and resolve the research questions [10]. Collection of a number of studies that state similar and comparable viewpoints and results help in providing the research evidence for obtaining conclusive answers to the research questions. We scrutinized and evaluated both the quantitative data, which include values of various performance metrics like area under the receiver operating characteristic (ROC) curve (AUC), prediction accuracy, and qualitative data, which include strengths and weaknesses of the ML methods, categorization of various ML methods, feature subselection methods, and datasets used. We utilize a number of techniques to synthesize data collected from our final selected studies. In order to answer the research questions, we used visualization techniques, such as line graphs, box plots, pie charts, and bar charts. We also used tables for summarizing and presenting the results.

F. Threats to Validity
The three main threats to the validity of the process implemented in this review are presented from the following standpoints: bias from study selection, possible inaccuracy in the data extraction process, and publication bias. Therefore, based on the research questions and the aim of this review, the search terms were generated. It was noticed that some studies used different terms in titles that may not be related to the research questions or aim of our review process. As a result, it is possible that there were biases in the search strategy. The study selection process was performed by two independent researchers. However, some relevant studies that were found may have been excluded during the selection phase, but it was a minimal number of records.
The inclusion and exclusion criteria were used to select the studies to meet the aim of the review. These criteria were agreed on by all the authors to meet the scope of the study. Another possible threat to the validity of this review is publication bias. Based on this, it is more likely that positive results on ML models will be published than negative results, or researchers may put forward their methods as outperforming other ML or non-ML methods. This can therefore lead to an overestimation of the performance of ML models. However, this may be limited by the inclusion of studies that did not implement new ML models, but just did comparisons between ML models and other models. To reduce the inaccurate data extraction bias, a specialized card was utilized for data extraction (see Table III). In addition, the study selection process was undertaken in its entirety by two independent researchers (extractor and checker) with other researchers resolving disagreements by discussion among all researchers.

III. RESULTS AND DISCUSSIONS
In this section, the findings of this review are presented and discussed. We begin by presenting an overview of the selected studies. We then report and discuss, one by one in separate sections, the findings of the review based on the research questions. We interpret the review results not only within the context of the research questions but also in a broader context that is closely related to the research questions. Furthermore, some related works are also presented to support the findings.

A. Overview of the Final Selected Studies
In this review, we identified 213 primary studies that applied ML in GNSS use cases (see Table VIII). These papers were published between 2000 and 2021.
A total of 122 (57.55%) papers were published in journals, 87 (41.04%) papers were published in conference proceedings, and 3 (1.42%) papers (one Ph.D. thesis, one M.Sc. thesis, and one book chapter (see Table IV). The publication venues of the selected studies are presented in Table VI while the distribution of the studies over publication year is shown in Fig. 3.
From Fig. 3, it is interesting to see how the number of publications has been expanding over the years. The types of the selected studies belong to experiment research except for one survey research [7], and one case study research was found [11]. Although most of the selected studies used one form of validation dataset to validate ML models, it does not follow that the validation results sufficiently reflect the real situations in the industry. In fact, the lack of sufficient case studies and surveys from the industry may imply that the application of ML techniques in GNSS is still immature. Regarding the quality of the selected studies, we used the quality score of the study which must be equal to or above 3.5 (with a perfect score for the quality assessment being 6), before it is included in the review. As shown in Table VII, about 85.14% (213 of 249) of the selected studies are in high-or very high-quality level.

B. Types of ML Techniques (RQ1)
From the selected studies, we were able to identify some of the main types of ML techniques that had been applied to GNSS use cases. They are listed as follows: Among the above-listed ML techniques, NNs, DTs, and SVMs were the three most frequently used techniques; they together were adopted by about 84% of the selected studies, as illustrated in Fig. 4. The top three algorithms  have the following percentages: NNs (55%); SVMs (19%); DTs (10%). Considering only the selected ones, this shows that DL models have been utilized the most in GNSS out of all ML models. The distribution of the NN models as shown in Fig. 5 is based on the terminologies used in the reviewed literature. This shows that ANN (58%), CNN (15%), and LSTM (18%) have been used more frequently by researchers in various GNSS applications. Note that "undefined ANN" is used to categorize the ANN models where the author of the selected paper was not specific on the category of the ANN used. Fig. 5 is used to represent the number of times these NN model terminologies are used in the selected papers. We present the terminologies used in the selected papers. From this, we can see that, for example, MLP, BPNN, and DNN are all related but have been counted separately based on their reference in the selected papers used for the review. MLP is known as the foundation architecture of DNNs. However, notice that MLP and DNN are separated in Fig. 5. This is done in this article in other to keep track of how the NN models' terminologies are being used. For example, although DNNs could be seen as a subset of MLP, they are different in their structure. The structure of both MLP and DNN consists of an input layer, hidden layers, an output layer, an activation function, and a set of weights and biases. However, DNN has a higher number of hidden layers stacked together for processing and learning from data, while MLP has few numbers of hidden layers. Similarly, LSTM is a special kind of RNN that is suitable for classification, processing, and prediction using time series data. This is because time series can have lags of unknown duration between important events. LSTMs were designed to take care of the vanishing gradient problem that can be experienced when training traditional RNNs. It is difficult to train RNNs that require long-term memorization, but LSTM performs better with these kinds of datasets as it has more additional special units that can hold information longer.

C. GNSS Use Cases for ML Algorithm (RQ2)
ML utilization in GNSS is becoming more popular among researchers. The ML algorithms were used for classification, clustering, forecasting, and anomaly detection depending on the GNSS use case. In this section, we present some of the GNSS use cases in which ML algorithms have been utilized based on the selected studies used in this review.
1) GNSS Signal Acquisition: Signal acquisition is the process of assessing the presence of GNSS signals and providing a rough estimate of the parameters of the incoming signal: the Doppler frequency and the code delay. It is the first step performed by a GNSS receiver. The outcome of this process decides if a particular satellite signal is present or not in the received signal, and it also gives a rough estimate of its associated code delay and Doppler frequency if present [12]. This acquisition process is implemented by all GNSS receivers [2]. This process is achieved through the evaluation of the cross ambiguity function (CAF), usually in a discrete-time domain. CAF is a 2-D function that is related to the correlation between the received signal and local code for every possible delay/Doppler pair. The CAF can be assumed to be an image and has certain traits that can be utilized in identifying the presence or absence of the signal from a specific satellite. With this knowledge, a data-driven model can be trained such as 1) an MLP, which is an NN architecture with moderate complexity been widely applied in ML literature; and 2) a Convolution Neural Network (CNN), having the ability to recognize complex nonlinear phenomena, at the expense of a much larger complexity compared to MLPs [12].
2) Signal Detection and Classification: The detection and classification of GNSS signals are very useful as it helps to differentiate the various types of signals based on how they are being affected or not by the environment or media of propagation. GNSS signals can be classified into, for example, LOS, non-line-of-sight (NLOS), and multipath [13]. A multipath signal is a GNSS signal bouncing off a reflective surface prior to reaching the GNSS receiver antenna. This means multipath interference occurs when an RF signal from a transmitter arrives at a receiver through two or more routes. Multipath is one of the major sources of a GNSS error that lead to unacceptable pseudorange errors and affects positioning. Multipath causes distortions of GNSS signals; therefore, it needs to be detected, excluded, or corrected. NLOS signals are reflected signals arriving at a receiver even when the LOS signal is blocked. Detecting the characteristics of the acquired signal enables the system to decide how to treat the signal based on the evaluated effect it would have on the GNSS positioning solution. New designs of receivers can help mitigate against multipath to some extent but this is not the case for all receivers, for example, low-cost receivers and GNSS-enabled smartphones. Most of the market-ready solutions currently available for multipath detection and mitigation are based on stochastic modeling, spatial geometry modeling, advanced techniques in data processing, and special hardware designs [3]. These models need to be able to accurately and reliably classify LOS, multipath, and NLOS signals. However, when there is an outside event that is too complex to be modeled and that does not fit the mathematical assumptions used to develop the statistic model, these solutions become ineffective. ML methods enable us to relax assumptions attached to the statistical methodology. In [14] (SVM), [15] (LSTM), [16] (DT, SVM, and KNN), [17] (SVM, NN), [18] (CNN), [19] (SVM), and [13] [gradient-boosting decision tree (GBDT), DT, KNN, and adaptive network-based fuzzy inference system (ANFIS)], ML have been applied to signal detection and classification. An ANN model capable of processing the structure of the autocorrelation function (ACF) was used for the detection of evil waveforms (EWFs) in [20] (ANN). EWFs are a rare perturbations occurring at the stage of signal generation. Detecting this type of distortion postcorrelation traditionally involves hand-crafted structure tests on a densely sampled ACF. These are designed for specific scenarios; therefore, they lack flexibility compared to data-driven methods. In [13], compared with DT, KNN, and ANFIS, a robust GBDT was employed for GNSS signal reception classification. It made use of the carrier-to-noisedensity ratio (C/N0), pseudorange residuals, and satellite elevation angle as the input features to improve the performance of the signal classification at the receiver. Similarly, in [16], compared with SVM, and KNN, a DTs-based classifier has used the satellite elevation and C/N0-R-L ratio as the input features to improve the performance of the signal classification at the receiver. While in [21], GNSS interference signal recognition based on CNN and fusion time-frequency features was implemented. The accurate detection and classification of GNSS signals can help in the improvement of the GNSS positioning accuracy especially in urban areas where the GNSS signals are heavily impacted by the environment [19].
3) Earth Observation and Monitoring: Earthquakes detection-ML algorithms have been used in Earth observation and monitoring applications, such as in [22], where an alternative ML approach to the prediction and detection of earthquakes and the determination of their magnitude has been proposed. Results show that the ANN process achieved an accuracy of 85.71% in validation assessment to predict the earthquake approximately 3 h before the seismic event.
Other techniques applied to the monitoring of earthquakes include seismographic stations, Interferometric Synthetic Aperture, strong-motion measurements, and gravity measurement [23]. Hurricane tracking-ML has also been applied to hurricane tracking using a convolutional neural network (CNN) in [24]. The trained CNN regression model has achieved accuracy with less than 1.5 pixels errors in x and y coordinates, i.e., 0.2% error on average.
Sea ice detection/sensing/thickness estimation-MLaided sea ice monitoring methods make use of spaceborne global navigation satellite system-reflectometry (GNSS-R) data. These data collect information about sea ice concentration (SIC), sea ice thickness (SIT), etc. In [25], sea ice detection/sensing/thickness estimation is done using an NN. On average, using this method, the accuracy for sea ice detection is about 98.4%. It was found that when GNSS-R delay-Doppler maps (DDMs) data are adequately preprocessed, CNNs and NNs share similar accuracy; otherwise, the former outperforms the latter. Furthermore, it was concluded that CNNs were more tolerant to the data format changes than ANNs [26]. In [27], support vector regression (SVR) and CNN are used. Comparisons showed good consistency between the derived and reference SIT, with correlation coefficients of 0.95 and 0.90 and root mean square differences of 5.49 and 7.97 cm for SVR and CNN, respectively. While in [28], among NN, CNN, and NN-FS, the NN-FS (FS means feature selection) showed the best performance, and it was the closest to that of SVM-FS. Through experiment, it was found that SVM-FS produced fewer false alarms compared to NN-FS during the analysis of false detection of ice under different sea conditions in terms of wind speed. In [29], DT-and RF-based methods have been used and achieved an overall accuracy of 97.51% and 98.03%, respectively, in the Arctic region and 95.46% and 95.96%, respectively, in the Antarctic region. Furthermore, a regression NN is used in [30] to train thin ice and full-range models having a mean absolute error (MAE) of 6.5 and 23 cm, respectively.
In the estimation of snow depth (SD), a DBN was used in [31]. The results showed that the DBN SD retrieval model estimates SD more accurately than linear methods and CNN models. Specifically, R increased from 0.81 to 0.85, MAE decreased from 11.15 to 9.55 cm, and root mean square error (RMSE) decreased from 17.96 to 15.40 cm.
Soil moisture (SM), wind speed retrieval, and vegetation water content (VWC)-SM retrieval is a vital activity in various applications such as hydrology and agriculture. GNSS-R is a new type of remote sensing technology also used for SM retrieval. In [32], random forest (RF) was used for GNSS-R SM retrieval. While in [33] RF, SVM, gradient boosting DT (XGBoost), and ANN was used. The XGBoost model performed best with an RMSE of 0.052 cm. The proposed algorithm can be applied to other training and testing problems that could benefit from it such as hydrology and agriculture where accurate SM estimates play an important role. Another study that used the XGboost ML-aided method in GNSS-R SM retrieval/estimation is seen in [34]. The results showed a good correlation with the statistical analysis of ground-truth measurements.
For GNSS-R wind speed retrievals and estimation, NN was used in [40], [41], [42], and [43]. When compared to an LS-based approach, the derived model shows a significant improvement of 20% in the RMSE. While for wind speed retrievals from cyclone global navigation satellite system (CYGNSS), ANN was used in [44]. The comparison highlights that the ANN approach outperforms the baseline approach for both low and high wind speeds (ANN RMSD improves by 15%) and removes most of the geographical biases between baseline winds and wave-watch 3 model winds seen in monthly maps of wind speeds. The ANN improvement increases for increasing wind speed [44]. Similar accuracy was found in [45] and [46], where ANN outperforms the traditional approach for wind speed retrieval. In [47], RF was used in down-scaling GNSS-R-based VWC, which is recognized as an important parameter in vegetation growth study. The results showed that the RF model outperformed the traditional methods of multiple linear regression (MLR) and kriging interpolation in the cross-validation results (R of MLR is only about 0.4, and that of the cross-validation of kriging interpolation is only 0.3). Using the RF method, the results decreased a lot with R decreasing by 0.2 and RMSE increasing by 0.015 for cross-validation results. Similarly, in [48], RF-method, BPNN, and GRNN were used in monitoring the variation of VWC. Among the three ML methods, the results of RF were the best, followed by those of GRNN and BPNN [48].
Other areas of Earth monitoring-An RF algorithm has also been used in the prediction of dam displacement [49]. While in [50], SVR was used in monitoring the urban heat island effect, which has been widely studied because of its impacts on the environment and human well-being.
Other areas of Earth monitoring in which ML has been applied include using GNSS position time series to predict the land subsidence or upheave in an area. This is done by predicting the next GNSS position time series using algorithms like MLP, Bayesian NN (BNN), RBF, KNN, GRNN, SVR, GP, and classification and regression trees (CART) [51], [52], [53]. Another Earth monitoring application is the nowcasting of severe weather events and summer storms from the combination of vertically integrated water vapor with vertical profiles of wet refractivity derived from GNSS tomography. In [54], RF was used.
ML models have been applied to other environmental remote sensing applications such as landslide monitoring/prediction, estimating nearshore water depths, weather forecast by monitoring and forecasting precipitable water vapor (PWV), and forecast hourly intense rainfall [11], [55], [56], [57], [58], [59], [60], [61], [62]. 4) GNSS Navigation and Precise Positioning: Location-based services can be utilized in many aspects, namely, tracking, health care monitoring, and intelligent transport systems (ITS). ML has also been applied in this area with the aim of improving GNSS navigation/positioning in several scenarios. GNSS outage for very short periods may not represent a relatively big problem for a position estimate, as an INS can be integrated to produce position estimates. However, a long outage period means the bias error from motion sensors will start to increase and position estimate accuracy is significantly reduced as well [63]. Therefore, long GNSS signal outages could harm vehicles' position estimates and become a risk for ITS and its users. Nowadays, GNSS is successfully implemented to achieve precise positioning in both indoor and outdoor environments [64], [65]. Such precise positioning is essential for safe operations [66], [67]. ML has been applied in ITS to estimate the GNSS position error by aiding motion sensor units in providing a more accurate position estimate during periods of outage or blockage of the GNSS signal [63]. For land vehicle navigation applications, an ANN model and an efficient hybrid methodology based on Dempster-Shafer theory augmented by an SVM (DS-SVM) were implemented in order to effectively fuse GNSS and INS data [68]. Kalman filtering (KF) is used for linear systems and extended KF (EKF), i.e., linearized KF can be implemented but may cause filter divergence under high dynamic conditions. In [68], test results indicate that the proposed DS-SVM algorithm effectively compensated and reduced positional inaccuracies over the regular ANN model and traditional KF/EKF methods during GNSS availability and outage conditions for low-cost inertial sensors.
In [69], LSTM is used to achieve a GNSS network-based real-time kinematic improvement. The GNSS sensor only provided the RMSE of about 3.8 m compared to the LSTM model, which significantly improved to about 0.45 m. GNSS position error estimation is done in order to improve the positioning accuracy after error correction. In [63], DT and SVM were implemented, with the average RMSE for SVM being around 31% less than the one seen in the best results in RMSE for DTs (28 versus 41 cm). Features considered in training the models included elevation, azimuth, constellation type, and carrier-to-noise ratio.
In [70], fully connected NNs (FCNNs) and LSTM are combined and used to predict the GNSS satellite visibility and pseudorange error in an urban area based on the available GNSS measurements. These combined networks achieve satisfactory performance on both satellite visibility and pseudorange error predictions, which have 80.1% overall accuracy and a 4.9-m average difference from the labeled pseudorange error (reference). A least-squares SVM (LSSVM) technique is used in [71] for GNSS navigation with dynamic model real-time correction. The results show that the proposed LSSVM-KF algorithm can adequately adapt to time-variant dynamics and performs well for realtime correction. In [72], a new ML-based architecture [LR, linear discriminant analysis (LDA), SVM, KNN, CART, and Gaussian Naive Bayes (NB)] combines classical observables for local hazard detection, with the outcome of advanced Receiver Autonomous Integrity Monitoring (RAIM) in order to find out if a given point of a railway is suitable for safe and reliable use of GNSS for train positioning. The results show that the setup of the classifier can be driven by the features of the electromagnetic environment on which the train shall operate. Using the daily records taken by the GNSS receivers, the map of the local hazards and the effects of their combinations can be learned. This can mitigate the risks derived by significant changes in the environment (for example, constructing new buildings along a railway) or by the activation of new RF sources (such as new 5G RAN nodes). ML models have been applied to other positioning and navigation applications, such as regional mapping of the geoid [73] and human mobility analysis on large-scale mobility data, which has contributed to multiple applications, such as urban and transportation planning, disaster preparation and response, tourism, and public health [74]. Other applications include location prediction using GPS trackers to, for example, locate missing people with dementia [75], improving GNSS Positioning from smartphones [76], [77], [78], [79], improving GPS code phase positioning accuracy in urban environments [80], improving accuracy of differential GPS correction prediction in the position domain [81], and improving kinematic GNSS positioning accuracy with low-cost GNSS receiver in urban environments [19]. Another study used the combination of Genetic Algorithms (GA) and NNs for exploring the navigation satellite constellation design tradespace to speed up the constellation performance computation and for an improved GNSS integrity [82]. In [83], a wavelet neural network (WNN) is employed for orbit approximation to obtain a continuous orbit function. This is because the orbit function is essential in positioning and navigation tasks. Therefore, the advantage of continuity is that it can also be used during GNSS signal interruptions.

5) GNSS-Denied Environments and Indoor Navigation:
The foundation for a context-adaptive system is scenario recognition and it is a major contributor to seamless indoor and outdoor positioning technology. This allows the system to "understand" its environment, and then apply the appropriate strategies to achieve accurate, continuous, and reliable positioning in the different scenarios [84]. Scenario recognition is essential for seamless indoor localization and robust positioning in complex environments. RNN-based scenario recognition with multiconstellation GNSS measurements on a smartphone was implemented in [85]. Here, a complex environment was divided into four categories (deep indoor, shallow indoor, semioutdoor, and open outdoor) and the influence of multiconstellation satellite signals on scenario recognition performance based on a hidden Markov model algorithm was analyzed in detail prior to the application of RNN for the scenario recognition. The experimental results show high recognition accuracy in both isolated scenarios and transition environments, with an overall accuracy of 98.65%.
In the case of situation and context awareness, Guinness [86] implemented an ML-based approach [SVM, ANN, LR, BN, DT, NB, instance-bases learning with parameter k (IBk)], and locally weighted learning (LWL) for sensing mobility contexts using smartphone sensors. The aim is to develop techniques that continuously and automatically detect a smartphone user's mobility activities, including walking, running, driving, and using a bus or train, in real time or near-real time (<5 s). The main aim of this study was to investigate if an ML algorithm exists that can produce a classifier having both high performance (with respect to class prediction rate) and low computational complexity. The results show that several existing ML algorithms achieved performance above 95% accuracy; however, DT algorithms were the only ones that also had relatively low computational complexity (for classification) [86].
In indoor navigation, NLOS and multipath are caused by indoor furniture and flat surfaces of the walls and ceilings, and it is quite severe. Since detecting NLOS and multipath is a classification problem, deep learning can be used to tackle this problem. In [87], a deep learning approach [NLOS and multipath detecting network (NMDN)] is used for indoor NLOS and multipath detection. The datasets used are generated by a GNSS software receiver using an intermediate frequency signal collected from an indoor pseudolite system. This method is compared with two SVMs, which are the traditional methods for classification, and shows an improvement of up to 45% in overall classification accuracy. In [88], NN fingerprinting and GNSS data fusion are done to improve localization in an indoor environment. The NN-based positioning fusion model was able to reduce the positioning error by up to 49%, having submeter accuracy in the uncertainty-free scenarios and 1.75 m mean positioning error in the 5-dB uncertainty case. 6) GNSS Anomaly Detection and Atmospheric Effects: GNSS has been used recently in the understanding of the atmospheric effects on the Earth because of the analysis of the ionospheric behavior. This ionospheric behavior can be derived through the determination of the total electron content (TEC) derived from GNSS data processing. TEC is a representation of the electron density in the signal trajectory between the satellite and the receiver on the Earth's surface. A good understanding of the tropospheric wet delay and ionospheric scintillation effects on GNSS signals has been of great interest both in the fields of science and industry. Ionospheric scintillation is the rapid fluctuation of the amplitude and phase of radio frequency signals (for example, GNSS), propagating through the ionosphere. In GNSS receivers, signal acquisition and tracking can be heavily impacted by strong scintillation, resulting in degradation in accuracy and continuity of GNSS performance. It is difficult to predict and model scintillation because there are different reasons for the occurrence of this phenomenon, for example, solar activity, magnetic storms, local electric fields, conductivity, and wave interaction to name a few [89].
Ionosphere analyses: ML models have been employed for the detection of scintillation, as illustrated in [89] using SVM-based algorithm. It used cross-validation to determine the optimal hyperparameters with a detection accuracy is 96%, which is increased by 1.5% compared to the previous implementation. In [90], the overall accuracy in the validation performance is around 92%, which demonstrates the good performance of the SVM detector on phase scintillation detection.
The time delay of the GPS (L1 and L2) signal in the ionosphere is one of the propagation path delays and it depends on the TEC of the atmospheric layer. This delay contributes to a potential source of error in time measurements and can produce an error range in tens of meters. ML algorithms have been used to predict ionospheric time delays from GNSS observations like in [104] and [105] using an NN model. It used an extrapolation methodology combining two types of input data, observed TEC, and environmental parameters. The NN method yielded the best accuracy when compared to the least square regression (LSR) model and bi-harmonic spline (BHS), which is a pure spatial extrapolation method.
Tropospheric analyses: In [115], ANN has been used to precisely identify interfered radio occultation (RO) events from GNSS RO measurements widely used in the prediction of weather, climate, and space weather, particularly in the area of tropospheric analyses. The estimation of tropospheric wet delay is of great importance for real-time weather forecasting applications. The characteristics and effects of ANN in tropospheric analyses can be validated by comparing the predicted zenith wet delay values using ANN with the values estimated from GNSS observations and meteorological data. ANN is useful in finding hidden relationships between features in a dataset, such as the relationship between the GNSS signal delay and PWV as in the case of tropospheric analyses. It has the ability to learn, recall, and generalize from the given data by suitable assignment and adjustment of weights. Due to significantly reduced computation time compared to the traditional SVM method, ANN is useful for real-time RO applications, such as extreme weather prediction or data assimilation [115]. 7) GNSS Security: Spoofing and Jammer Attacks: A user device receiving false signals and believing it to be authentic could prompt dangerous behavior due to the false position or timing fixes. An example was mentioned in [116], where GPS spoofing was used to misdirect a hovering drone into an unplanned dive and to steer a yacht off course. Therefore, defenses against spoofing are aimed at detecting an attack in order to warn the attacked receiver that its navigation fix and clock offset are unreliable. The second reason for defense against spoofing is to recover a reliable navigation and timing solution. This has been achieved at the pseudorange level with receivers employing RAIM by using an inconsistent set of five or more pseudoranges to allow the receiver to detect an unsophisticated spoofer that broadcasts one or more false signals with no attempt to achieve a believable consistency. However, in response to increased efforts to defend against spoofing, advanced forms of GNSS spoofing have been conceived and interest in GNSS spoofing has increased with an example of such spoofing called "in the wild," which is an actual malicious spoofing attack. Various defense strategies that have been developed to deal with self-consistent spoofing have been beaten by these advanced spoofings [116]. Therefore, we have seen researchers attempting to use ML to detect and defend against spoofing attacks, for example, in [117] using the ANN model. Using features such as pseudorange, PR, Doppler shift, etc., an increase in the ANN model detection performance is observed. For one feature, the highest accuracy of 73.2% is achieved with the pseudorange. With two features (pseudorange and Doppler shift), the best performance with an accuracy of 92.6%, a probability of detection of 85.2%, and a probability of false alarm of 0% is obtained. As the number of features increases, the accuracy also increases. Another application is the C/N0 abnormity detection method for GPS antispoofing using an ANN model [20].
In [118], using MLP trained with particle swarm optimization (PSO), the simulation results showed that spoofing attack detection improved approximately 4 and 2% in comparison with the results achieved through classification based on Bayes-optimal rule and multihypothesis Bayesian classifier mentioned in the literature review. The feature vector used by this method includes received signal power and correlation function distortion. It uses these features to try to classify received signals as jammed, spoofed, multipath, or interference-free signals.
While in [119], using RNN based on LSTM, the error of the forecasting model over the testing dataset is in the order of 0.0006%. The model is able to detect GPS anomalies using signal imperfections, Doppler shift deviations higher than 4 Hz, and detecting mobile spoofing devices at higher speeds of 2.5 km/h.
In [120] SVM classification (C-SVM) with principal component analysis (PCA) was implemented. The overall success rate of the proposed approach was 97.8%, and the cross-validation error was slightly higher. Using PCA, the relations among the selected variables were analyzed. These variables include lock time, pseudorange, carrier Doppler frequency, receiver clock bias, receiver clock drift, C/N, code variance, multipath correction, carrier multipath correction, full carrier phase [cycles], carrier variance, and spoofing indication.
Research has also been done on the use of ML to detect and classify interferences and jammer signals in order to defend against jammer attacks. Types of jamming signals include audio jamming, narrow-band jamming, pulse jamming, sweep jamming, spread spectrum jamming, and the combination of each two of the above jamming signals. Jammer signals are a type of interference signal; therefore, the detection and classification of GNSS interference signals can help identify if the interference is an intentional and malicious (jammer or spoofing signal) attack or if it is unintentional, which can still cause GNSS positioning errors.
For intentional jammer attacks, studies have been conducted using ML to detect and classify GNSS interference such as in [121] using a twin SVM algorithm (TWSVM) for real-time interference monitoring. Implementing SVM in the interference monitoring of GNSS signals meets the requirement of objectivity and accuracy. However, the training speed of standard SVM does not satisfy the requirement of being in real time for interference monitoring. The experimental results indicate that the TWSVM model [121] is faster than the standard SVM in training speed (the training speed of TWSVM is at the millisecond level and the classification speed of TWSVM is at the microsecond level) and can be used in practice.
While for unintentional attacks like solar radio bursts that interfere with the GNSS signal, the SVM algorithm was used for the detection of the interference. In [122], SVM and CNN were used for jammer signal classification in GNSS bands. The results showed that with a small library of images and not excessively complex parameters/network layer architectures, a high mean classification accuracy was obtained for SVM (94.90%) and CNN (91.36%). It used a dataset 2 composed of 61 800 different images and containing different jammer types including the no-interference scenario and also used randomly generated parameters for these interference types.
While in [18], CNN is used for jammer signal classification. Here, the proposed CNN method has both robustness and good accuracy in jamming signals classification. This is seen in the results for single jamming signal classification, the proposed CNN method correctly classifies almost 100% of jamming signals. While for coexisting situations (more than one jamming signal), the lowest classification accuracy is up to 92%. Other studies include [123] using LSTM with CNN, [124] using LR, KNN, NB, DT, and SVM algorithms, [125] using a multilayer NN, and [126] using SVM. 8) GNSS/INS Integration: KF is widely used as a datafusion algorithm in navigation. The integration of GNSS and non-GNSS systems, such as INS, makes use of KF for its GNSS/INS calibration systems. When GNSS cannot supply measurement updates normally, the filter time would be increased. In such cases, the divergence of INS error is fast without GNSS information correction. This could be detrimental depending on the use case, such as the concealment of unmanned underwater vehicles and unmanned 2 [Online]. Available: https://doi.org/10.5281/zenodo.3370934 aerial vehicles (UAVs). ML algorithms have been used in several studies to mitigate such scenarios. In general, when GNSS is active, the ML model is used to learn the divergence characteristics of the INS error under several basic conditions depending on the area of application (vehicles, UAV, etc.). If there is a disturbed GNSS signal, the ML model is used to correct the position error of the INS in order to improve the navigation accuracy.
In [127], the BPNN algorithm was used for GNSS/INS integration to overcome the GNSS outages. The simulation experiments used BPNN to compensate for the KF algorithm. The results showed an improved accuracy of the integrated navigation when GNSS is unavailable. The proposed method is able to maintain low-level deviations for about 9 min. Within this short navigating mission without a GNSS signal, the reliability and feasibility of the UAV can be verified. Similarly, in [128], the BPNN algorithm was used for GNSS/INS integration. The results show that the BPNN model can efficiently predict the increment of position and compensate for the accumulation of INS errors during GNSS outages.
In [129], a CNN-based adaptive KF is implemented to achieve the GNSS/INS integration. The estimator can output the system noise covariance matrix by windowed inertial measurements. The experimental results show that the proposed algorithm has a better performance (three times lower RMSE value) compared to classical KF and Sage-Husa adaptive filter in highly dynamic conditions. While a CNN-LSTM method is used in [130], here the results of the CNN-LSTM model compared with the EKF navigation method, show significant improvement in the navigation accuracy and the alignment time. It has a final attitude accuracy better than 0.2 • , an alignment time of 10 s, and a position accuracy better than 3 m. This can meet the requirements of low-cost vehicle flexibility. While in [131], an ensemble learning algorithm (ELM) is used for INS/GPS navigation. To validate the performance of the proposed method, the results are compared with an adaptive network-based fuzzy inference system (ANFIS) and an EKF method. The result of ELM outperforms ANFIS and EKF by approximately 50% and 70%, respectively. This suggests a promising prospect for the use of ELM in the field of positioning in the absence of GPS signals using low-cost MEMS-based inertial sensors.
NN models have also been implemented to mitigate the GNSS signal outage in GNSS/INS integration in [132]. The study uses an NN model to do online learning of the system behavior during the time intervals when there are no satellite outages. It then takes advantage of this learning by applying it during periods of outages. The fixed velocity (stationary) results showed that the MAE after a 30-s outage was about 400 m without the NN model, but after the NN model was used for error compensation, it was approximately 100 m. For a constant-velocity trajectory, the position accuracy was about 500 m without NN error corrections and close to 100 m with the NN error corrections applied.
An SVM-based GNSS/INS integrated was utilized in [133] for land vehicle navigation. Here, the proposed SVM-based GNSS/INS integrated provided a 45%-73% improvement on rms positioning compared with the KF approach. It also outperformed BPNN by 8%-32%, and ELM by 46%-67% on rms positioning. The positioning improvements in maximum position accuracy were 26%, 66%, and 78% compared with KF, BPNN, and ELM methods, respectively. GNSS can also be integrated into other devices such as cameras [134] using the CNN algorithm. The RMSE errors obtained remain low even at high added bias values of 100 and 200 m. The highest RMSE values were observed at low/medium biases because it is more difficult to detect and exclude low biases than high biases. Other ML-based GNSS/INS integration studies include [135] using RNN, [136] using RBF-NN, and [137], [132], [138], [139], and [140] using NN models. 9) Satellite Selection: Location accuracy is a result of two main factors namely, the satellite location-dependent geometric dilution of precision (GDOP) and the pseudorange measurement inaccuracies [141]. Generally, the more visible satellites available the better the positioning performance. The benefit of multiconstellation GNSS is that more visible satellites can be used to improve user positioning performance. However, not all satellite would contribute to the positioning performance because of some GNSS error like satellite clock error or high C/NR, etc. [142]. Therefore, selecting the optimal sets of satellites from all possible visible satellite combinations is important. This selection is done with the aim of minimizing either GDOP or weighted GDOP (WGDOP) as a criterion. Other selection criteria used in researches include elevation angle, C/NR, and range errors. ML has been applied in this kind of study to implement an ML-based satellite selection algorithm as seen in [143] using PointNet and VoxelNet networks, and [144] using an NN model. The study by Simon et al. [144] was one of the earliest research (from our database search in Section II) that utilized DL algorithm for satellite selection. Usually, a satellite subset is chosen by minimizing a quantity known as geometric dilution of precision (GDOP). However, in [143], the satellite selection algorithm is a satellite segmentation problem, having a specified input channel for each satellite and two class labels, one for selected satellites and the other for those not selected. The satellite segmentation algorithm is used to ensure that a fixed number of satellites with the minimum GDOP or WGDOP value can be segmented from any feeding order of input satellites. Whereas, in [144], an NN model is used to predict the GDOP without the usual resource consuming computation of the trace of the inverse of the measurement matrix. The NN model does this by learning the functional relationships between the entries of a measurement matrix and the eigenvalues of its inverse.
10) LEO Satellites: Orbit Determination and Positioning: The application of GNSS to the precise orbit determination (POD) of low-Earth-orbit (LEO) satellites has been beneficial in the development of many new space applications in the area of navigation, telecommunication, remote sensing, and Earth observation systems. These applications can benefit from the precise tracking of satellites orbits using onboard GNSS receiver data. With recent advancements, GNSS receivers have been designed to meet the POD requirements and have been implemented on many satellites, depending on the objectives of their missions, requiring accurate knowledge of their orbits. The performance of the POD process can be affected by the measurement environment, the technique used, and the mission application of the satellite. Furthermore, besides accuracy, the need to reduce the latency in achieving a precise solution has been of interest. This is beneficial to many end-user applications as it provides faster access to the required orbit solutions [145]. ML for orbit determination of LEO satellites has been implemented by some studies [146], [147], [148], [149]. In [146] and [149], TDNN, which is a type of feed-forward NN (FFNN), and LSTM are used for simultaneous tracking and navigation with LEO satellites. An NN is implemented in [147] and [148] to mitigate GNSS multipath for LEO positioning applications. It was noticed that very limited studies have been done on the use of ML for POD of LEO satellites. This may be due to the fact that most studies related to GNSS navigation are based on improving positioning accuracy and mitigation of GNSS errors. Additionally, LEO satellites with GNSS receivers have only recently emerged, and thus not many studies have yet focused on their POD via GNSS accounting for little number of research on LEO satellites using ML models and GNSS.

D. Datasets Used by the ML Models (RQ3)
A variety of datasets have been used in ML utilization in GNSS studies. Fig. 6 shows the percentage of studies using different datasets. Some of the data used were simulated data [150], [151] while others were real data [23], [152], [153]. The utilized datasets can be publicly available (for free) or private in nature not shared by researchers; therefore, results on such datasets cannot be verified and such studies are not replicable. The major category of datasets used and their sources are as follows.

1) Simulated data: These datasets include, CU SeNSe
Lab [154], and a customized software-defined radio (SDR)-based GNSS data grabber and software receiver [155]. 2) Real data: These datasets include GNSS raw data from smartphones (it also include data collected by individuals.) [156], vertical total electron content (VTEC) data from the National Oceanic and Atmosphere Administration [23], and GPS data over International GNSS Service (IGS) stations [152], [153].
Different kinds of devices were used for the collection of the data used for research. These include low-cost receivers such as u-blox, smartphones, and high-end receivers, for example, Trimble, Novatel, and Javad Triumph VS receivers. The type of research determined the location for data collection. These locations include open sky environments (LOS), urban canyon (multipath/NLOS prone), indoors (GNSSdenied environment), and laboratory-generated data.
In GNSS, even with the same equipment and the same data collection path, the data collected at different times should be regarded as different dataset due to the change in satellite's geometry. Therefore, in the GNSS field, it is rare to see researchers use the same dataset for different objectives or even more, the same objective. However, in research, replicability is important; therefore, it would be a good practice to create a database where researches can store their research data for easy access in order for other researchers to be able to replicate their results. This way, the ML model used can be trained and evaluated by other researchers making use of the shared data.

F. ML Versus Other ML Models (RQ4b)
For the comparisons between different ML models, we compared the accuracy of many ML models applied to the same use case. This comparison is done for studies that implemented more than one ML model for a particular GNSS use case. All ML models applied to a specific GNSS use case are analyzed for comparison based on accuracy. In general, five significant comparison results can be found from the selected studies. First, RF, GBDT, CNN, RNN, and ANN are more accurate than LSTM and SVM respectively. Some studies showed that DT, GBDT, and RF-based classifier obtained a higher accuracy than KNN, CNN, ANN, and SVM respectively. Another ML model with significant performance was the SVM in its various forms (SVM, LSSVM-KF, and C-SVM) performing better than CNN, ANN, and DT. These performance comparisons between ML models are provided in Fig. 9.
The reasons for some ML models such as DT, GBDT, and RF performing better than NN models (ANN, CNN, and LSTM) may be due to the following: 1) Very few studies conducted experiments to compare ML with other ML models for the same GNSS use case. 2) All the GNSS use cases demonstrating the superiority of NN models over other ML models come from the studies of NN models; therefore, it is possible that some of them have a bias toward NN model and these studies may be overly optimistic.
3) The use cases used for this comparison differ slightly from each other and as a result, the type of ML algorithm used varies and it may not be beneficial to do a cross-comparison of ML model across GNSS use cases.
Furthermore, for ML models that are rarely compared with each other, it is difficult to determine which is more accurate.

G. Strength and Weakness of ML Models Applied to GNSS (RQ5)
Given the various GNSS use cases, we may have to concern ourselves with selecting the appropriate ML models for a specific GNSS use case. By investigating the characteristics of the candidate ML models (to be more precise, the ML techniques), such concern can be addressed. The aim is to identify the strengths and weaknesses of the ML techniques. To this aim, we have extracted the strengths and weaknesses of ML techniques and synthesized them based on the type of the ML technique. The different studies assessed the ML techniques in different ways and from different aspects based on the GNSS use case the ML model was applied to, therefore, we decided to synthesize in general, the common strengths and weaknesses that were mentioned by at least two studies (see Table IX). The list comprises of the most common algorithm from the selected studies. However, in Table X, we present the strength and weaknesses as mentioned by some of the authors of the selected studies.
The topics about model selection, model application, and model combination, which are closely related to the characteristics of ML techniques and estimation contexts have been discussed in some existing works. With respect to model selection, a tree-form framework to select appropriate ML models was proposed [239]. The design of the framework is based on criteria, such as dataset size, uncertainty, causality, and applicability. These preliminary criteria can be extended to include more criteria related to ML models. With respect to applying ML models to GNSS use cases, no study has proposed a framework or procedure; however, Zhang and Tsai [240] proposed a general procedure for applying ML models that consists of the following steps: problem formulation, problem representation, data collection, domain theory preparation, performing the learning process, analyzing and evaluating learned knowledge, and dealing with the knowledge base. This procedure is also applicable to GNSS-related tasks.
In the aspect of model combination, MacDonell and Shepperd [241] stated that the combination of a set of diverse techniques can improve estimation accuracy in cases where no dominant technique can be found. In [242], an SLR was conducted where it was also found that combining models would usually produce better estimates than when the models are used individually. Other studies [243] have provided strong support for this possibility although in the field of software development effort. Studies have presented the opinion that combining two or more ML techniques may potentially enhance the power of the estimation model. This can hold true in the field of GNSS, as shown in [77].
Although ML techniques have been proved in some studies to be effective for some GNSS use cases (contexts), they do not always perform well on all GNSS use cases. This implies that an absolutely "best" ML model (technique) does not appear to exist, and the performance of a particular ML model depends heavily on the contexts it applies to. Therefore, in order to choose appropriate ML techniques and apply them to real-world GNSS use case efficiently, the characteristics of the candidate ML techniques as well as the contexts of the GNSS use case needs to be well understood. In [244], it was noted that selecting the best estimation method "in a particular context" is more beneficial than selecting the "best" estimation method in general.

H. Evaluating/Validating ML Models (RQ6)
Since ML model is data-driven, both building the model and its validation rely extremely on the training data. Therefore, when evaluating the estimation accuracy of an ML model, the training dataset on which the model is built and validated, must be taken into account, as well as the employed validation method. Various historical datasets were used to build and validate the ML models identified in this review. The most frequently used datasets together with their relevant information has been presented in the previous sections.
Regarding the type of data used for evaluating the model, the studies made use of either simulated data, real data, or semisimulated data to evaluate the model depending on the GNSS use case. The real data were collected using high-grade GNSS receivers to be used as reference/ground truth. In some studies where GNSS ground truth/reference data are not available (for example, indoor applications), predefined known trajectories were used. During the trajectory recording, stops are made at certain way-points and the current location is recorded as a reference point (ground truth). For the studies that used simulated data, the simulation was done to be used as the accurate reference data for the model evaluation. The aim of testing with simulated data is to validate the proposed method in a well-controlled environment, where all the parameters (for example, multipath/direct-only signals) can be manually defined and clearly labeled.
With respect to validation methods, the metric explains the performance of an ML model. The chosen metrics influence how the performance of ML algorithms is measured and compared. They influence how we weigh the importance of different characteristics in the results. Furthermore, the ML model may give satisfying results when evaluated using a metric like accuracy score but may have poor results when evaluated against other metrics such as "logarithmic loss" or any other such metric. Hence, it is very much important to choose the right metric to evaluate the ML model. The metric used depends on if it is a classification, regression, or clustering problem. Some examples of classification, regression, and clustering metrics are listed as follows. From the selected studies, Holdout, n-fold crossvalidation (n > 1), and comparison with another algorithm were mostly used. Specifically, the numbers (percentages) of the studies that used these three validation methods are 2 (3.84%) for Holdout, 20 (38.46%) when compared with another algorithm, and 30 (57.69%) for n-fold crossvalidation. Furthermore, accuracy metric should also be considered in evaluating the ML models. Different metrics measure the accuracy from different aspects and effort estimation accuracy can be measured using various metrics. It was found from the selected studies that RMSE, mean square error (MSE), ROC curves, and Standard-Deviation (StD) were the most popular accuracy metrics. Specifically, the numbers (percentages) of the studies that used these three metrics are 45 (56.25%) for RMSE, 7 (8.75%) for MSE, 9 (11.25%) for ROC, and 12 (15%) for StD.
More details can be seen in Table XI in Appendix B. It was also seen that when evaluating an ML model, we can make use of other well established model or methods for the evaluation.

IV. IMPLICATIONS FOR RESEARCH AND PRACTICE
This review has found that the studies on the application of ML techniques such as FFNN, RBF-NN, DBN, and SVR to GNSS use cases are still limited. Some ML techniques have not even been applied in the GNSS domain. Researchers are therefore encouraged to explore the possibilities of using the unapplied ML techniques to new GNSS use case context. In order to identify these unapplied ML techniques and to use them more efficiently in GNSS, researchers should keep track of the related disciplines like ML, artificial intelligence, data mining, and statistics. Because these disciplines can provide valuable insights and methods to address GNSS challenges.
High-quality historical GNSS dataset with detailed descriptions of features and data collection process is essential for building and validating ML models. This review has shown that, on one hand, most of the available GNSS datasets are GNSS observations. On the other hand, some of the studies used simulated GNSS datasets. These data varied and their means of collected also varied from study to study. To address this and thereby promote ML utilization in GNSS research, we suggest that researchers share their GNSS datasets in the research community after the removal of confidential information.
In the comparison of different ML models for GNSS use cases, the limited number of relevant studies and the nonuniform experimental designs may account for inconclusive and/or unclear results. Therefore, aside from performing more research and experiments, it will benefit the research community if a uniform experimental framework for evaluating the performance of different ML models utilized for a particular GNSS use case is developed. Without the use of such a uniform framework, the comparison results for different ML models may vary when using different datasets, or different experimental approaches even for the same GNSS use case.
In the case of the implications for practitioners, this review has found that very few of the selected studies focus on industry practice, for example, [76], [77], [78]. This may be evidence that the application of ML models in the real world of the GNSS industry is still quite limited. Therefore, we suggest that practitioners should cooperate with researchers to investigate the possibility of applying the promising ML models in their practices. For example, RF, SVM, CNN, and ANN have been investigated most extensively in academia; therefore, these can first be taken into consideration by practitioners, as a useful complement to the existing traditional GNSS model. However, because of the limited number of studies comparing ML models and traditional GNSS (non-ML) models found from this review, we recommend using both ML and non-ML models in parallel at the early stage of practice, which has been shown to have promising accuracy by some studies [82], [118], [149], [236], [237], [238]. The replacement of the non-ML (traditional GNSS) models with ML models can only be considered when the ML model performs significantly and consistently better than the existing traditional GNSS model. This review has shown that different ML techniques are beneficial to different GNSS use cases. Therefore, prior to decision making concerning choosing an ML model to implement, practitioners need to know the contexts of the GNSS use case; in addition, they need to understand the characteristics of the ML models of interest. Usually, the degree to which the GNSS use case matches the characteristics of the chosen ML model can have a direct and significant impact on the performance of the ML model. This means that given the estimation contexts of a GNSS use case, we have to select ML models appropriate for the contexts. This concern can be addressed by investigating the candidate ML models or, more precisely, the ML techniques based on their characteristics, mainly reflected by the strengths and weaknesses of the ML techniques. The characteristics of the ML techniques are mainly associated with four types of estimation contexts namely: 1) small dataset, 2) outliers, 3) categorical features, and 4) missing values. For example, DT is prone to overfitting on small training dataset, while ANN and DT cannot deal with missing values. Second, ANN cannot deal with categorical features in their standard forms but will work as long as the categorical features have been quantified (or to avoid misleading information for methods using distance metrics, the categorical features should be encoded to suitable form, of which one-hot-encoding is often used). Third, similarly, ANN and DT cannot deal with missing values in their standard forms but will work as long as the missing values have been imputed.
In addition to the characteristics summarized above, there are some other distinct characteristics of ML techniques, which may be considered when choosing appropriate ML models. These are as follows: DT are intuitive and are easy to understand, while ANN has the ability to learn complex functions; however, it requires a large amount of data for training and may suffer from overfitting, with weak explanatory ability; BNN is capable of learning causal relationships. The topics about model selection, model application, and model combination have been discussed by existing works [239]. These topics are closely related to the characteristics of ML techniques and estimation contexts. With respect to model selection, a tree-form framework to select appropriate ML models was proposed in [239]. The framework is designed using criteria such as dataset size, uncertainty, causality, and applicability. These are preliminary criteria and can, therefore, be extended to include more criteria related to ML models. Furthermore, this framework was done for selecting the appropriate ML techniques for the prediction of software development costs. However, it can still be adapted to GNSS use cases as the characteristics of ML are the same irrespective of the field of application.

V. LIMITATIONS OF THIS REVIEW
This review considered accuracy metrics (e.g., RSME) and validation when evaluating the performance of ML models or comparing ML models with other models. Accuracy metrics are the most important metrics and were used by most of the studies. However, besides accuracy metrics, other performance metrics, such as generalization ability and interpretability, were ignored in this review. These may also be important, especially when selecting appropriate models for given GNSS use case. However, the summarized strengths and weaknesses of ML models, i.e., the outcomes of RQ5, are helpful to identify the appropriate ML models, which may alleviate this limitation to some extent. Another limitation in this review is that only 50 out of the 213 selected studies compare non-ML and ML techniques. Thus, the non-ML versus ML comparison is not definitely conclusive. Furthermore, while comparing different ML techniques, each of the selected study made use of different experimental settings including datasets, feature reduction methods, and preprocessing methods. This review has revealed contradictions in some results of the comparisons between ML models and conventional non-ML models and between different ML models; therefore, it is difficult to establish which model is more accurate for a GNSS use case. To improve the chances of identifying the model which is more accurate for a GNSS use case, the comparison of the ML algorithms should be done on common grounds. Some of the comparison parameters may include: time complexity (how much time the algorithm takes), space complexity (how much memory an algorithm needed to run in terms of the input size), sample complexity (number of training examples needed to train the network in order to guarantee a valid generalization), bias-variance tradeoff, online and offline, parallelizability, parametricity, etc. [245]. The authors will consider these parameters in future work. Furthermore, it would be important to use the same data. Section III-D shows that there are plenty of different datasets used by different researchers. Therefore, we suggest the development of a common test bench to study the utilization of ML algorithm in GNSS. Another limitation is the insufficient number of studies reporting the desired comparisons, which may have led to these inconsistencies. In general, drawing conclusions from a large number of studies is more likely to be reliable. There is also a possibility that although we have exhaustively searched all the stated digital libraries, we may have missed a suitable study. In conducting this review, we have assumed that all the studies are impartial, and where this is not the case, it then poses a threat to this study.
Some of the mentioned strengths and weaknesses of the approach used in the studies were retrieved directly from the selected studies (see Table IX). This means that it is possible that some of them may just represent the authors' opinions and, therefore, may be unreliable. To increase the reliability of the synthesized results for RQ5, we take only the synthesized strengths and weaknesses supported by two or more selected studies. Therefore, care has to be taken in dealing with any inferences drawn from these synthesized results.

VI. CONCLUSION
This systematic review investigated ML utilization in GNSS. The type of ML technique, the performance accuracy of the ML model, the comparison between different models (including ML model versus non-ML model, and ML model versus other ML model), and the GNSS contexts (use case) in which the ML models were presented. An extensive literature search for relevant studies published in the period 2000-2021 have been performed and which identified 213 primary studies (referred to as "selected studies") that are pertaining to the six research questions (RQs) raised in this review. The principal findings of this review are summarized as follows.
1) RQ1-The ML algorithms that have been applied in GNSS use cases are presented in Table XI in Appendix B. Among them, RF, SVM, ANN, and    2) RQ2-The ML algorithms were used for classification, clustering, forecasting, and anomaly detection depending on the GNSS use case. Some of these GNSS use cases include signal acquisition, signal detection and classification, Earth observation, GNSS/INS integration, anomaly detection, and spoofing and jamming detection, etc. 3) RQ3-Some of the data used were simulated data gotten from different simulation tools and SDRs, while others were real data collected using GNSS receivers. The utilized datasets can be publicly available (for free) or private in nature (not shared by researchers; therefore, results on such datasets cannot be verified and such studies are not replicable). 4) RQ4a and RQ4b-Regarding ML performance, in general, ML model is more accurate than non-ML model, which has been supported by most studies. Regression model and other traditional GNSS models depending on the GNSS use case were compared with ML models in 50 out of 213 selected studies. 5) RQ5-Different ML techniques have different strengths and weaknesses and thus favorable to different GNSS applications. The strengths and weaknesses of the studies based on the implemented ML algorithms were extracted from the selected studies and presented in this review. This was done because the quality assessment process of the selected studies can help ensure that they are from studies with acceptable quality. The strength and weaknesses from a list comprising of the most implemented algorithm in the selected studies was also presented. 6) RQ6-Regarding validation, it has been shown from the selected studies that for the validation of the ML models, most studies made use of Holdout, n-fold cross-validation, and comparison with another algorithms. While for accuracy metric, most made use of RMSE, ROC, MSE, and StD. Furthermore,     regarding the type of data used for evaluating the model, the studies made use of either simulated data, real data or semisimulated data when evaluating the model.
In a multi-GNSS environment, due to the availability of large number of satellite signals and capable hardware, the issue of optimum geometry (i.e., dilution of precision, DOP) can be easily taken care of by use of multiple satellites giving the lowest DOP. However, error situations, such as multipath, can benefit from optimal selection of the satellites. ML plays a major role in this area of research, as this review indicates.
This review provides recommendations as well as guidelines for researchers and practitioners. For researchers, we recommend that they conduct more empirical studies making use of the rarely-used ML algorithms, keeping in mind the GNSS application context, in order to further strengthen the evidence about their performance. For future work, we encourage exploring the possibilities of using unapplied ML techniques to new or already studied GNSS use cases. Additionally, more studies should be performed using the combination of non-ML and ML algorithms to further strengthen the evidence about their performance when utilized in GNSS. Furthermore, it would be important to use the same data. Section III-D shows that there are plenty of different datasets used by different researchers. Therefore, we suggest the development of a common test bench to study the utilization of ML algorithm in GNSS.

Appendix A
See Table X.

Appendix B
See Table XI.

ACKNOWLEDGMENT
The authors would like to thank the reviewers for their insightful comments.