# GNSS Spoofing Detection Based on Wavelets and Machine Learning
## 4 Results and Discussion  
The obtained results for fake signal detection and signal-type classification based on the integrated approach are presented in this section. Different machine learning models were applied on data obtained by using the discrete wavelet transform. A comparison of the two types of Daubechies wavelets, db4, and db8, was performed. In all results, several performance metrics were analyzed to confidently conclude whether the model was reliable and robust based on all parameters. Below are the results of selected performance metrics. Figure 2 shows Receiver Operating Characteristic (ROC) curves for the signal-type classification based on images and db4 wavelet in the GPS and Galileo datasets. The x-axis represents false positive rate values while true positive rate values are represented on the y-axis. In Figure 2a,c, ROC curves have similar behavior for all ML models on the os2 and os10 datasets: SVM, KNN, RF-100, and RF-200. All models had high classification accuracy although the SVM model gave the highest accuracy in both cases. The classification results for the GPS os2 dataset were better compared to those of the Galileo os10 dataset. Similar results were obtained for datasets os4 and os12, as shown in Figure 2b,d. Although SVM  
stood out as the best model with the highest accuracy, ROC curves had significant distortion in their form because of lower classification accuracy in those datasets. Lower classification accuracy was achieved due to a small power level advantage of 0.4 dB between fake and authentic signals. The obtained classification results for these datasets were expected when considering the power level advantage of 10 dB for fake signals in relation to authentic signals in the os2 and os10 datasets. The ROC curves for the SVM classification on GPS and Galileo datasets based on different types of input data are shown in Figure 3. From the attached figures, it is evident that all the curves have quite good shapes, but the curves in Figure 3c,f stand out, because they have an almost perfect shape, which indicates a very high accuracy of classification and an Area Under Curve (AUC) value almost equal to one. The lowest classification accuracy was achieved when images for both GPS and Galileo were taken as the input data. In the case of images and image features as the input data, the results for Galileo were slightly worse compared to those for GPS. The reasons for this may be the more advanced modulation technique Binary Offset Carrier (BOC) used by Galileo, geographical coverage, and satellite geometry, because GPS has a wider and more stable coverage while Galileo is still under development and there may be a smaller number of visible satellites at any given time. Also, Galileo can have multiple errors in signal characteristics resulting in more difficult classification. Figure 2: ROC curves for different datasets and ML models for signal-type classification based on images using db4 wavelet in GPS (**a**) os2 (power level advantage 10 dB for fake signals), (**b**) os4 (power level advantage 0.4 dB for fake signals), and Galileo (**c**) os10 (power level advantage 10 dB for fake signals), (**d**) os12 (power level advantage 0.4 dB for fake signals) datasets. From Figure 4, it can be seen that statistical and spectral features as input data for the classification of SVM models had the highest accuracy and the values of R and P were almost equal to one, which is the ideal case. For example, for the case when the input was an image, the accuracy for os4 was 78.2%, recall was 0.7792, precision was 0.7867, and the PR curve was quite distorted. In the case when the input features were images, the accuracy for os12 was 76.43%, recall was 0.7712, precision was 0.7515, and the PR curve was quite distorted compared to GPS os4. Precision and recall values greater than 0.7 indicate a good classification model. Low precision (P < 0.5) means that the classifier has a large number of false positive samples that may be the result of an unbalanced class or unadjusted model hyperparameters.