A Hopular based weighting scheme for improving kinematic GNSS positioning in deep urban canyon

Global navigation satellite system (GNSS) positioning performance in the urban dense environment experiences significant deterioration due to frequent non-line-of-sight (NLOS) and multipath errors. An accurate weighting scheme is critical for positioning, especially in urban environment. Traditional methods for determining the weights of observations typically rely on the carrier-to-noise density ratio (C/N0) and the elevations from satellites to receivers. Nevertheless, the performance of these methods is degraded in the dense urban settings, as C/N0 and elevation measurements fail to fully capture the intricacies of NLOS and multipath errors. In this paper, a novel GNSS observations weighting scheme based on Hopular GNSS signal classifier, which can accurately identify the LOS/NLOS signals using medium-sized training dataset, is proposed to improve the urban kinematic navigation solution in real-time kinematic positioning mode. Four GNSS features: C/N0, time-differenced code-minus-carrier, loss of lock indicator and satellite’s elevation, are employed in the training of the Hopular based signal classifier. The performance of the new method is validated using two urban kinematic datasets collected by a U-blox F9P receiver with a low-cost antenna, in downtown Calgary. For the first testing dataset, the results show that the Hopular based weighting scheme outperforms the three most commonly used GNSS observations weighting schemes: C/N0, elevation, and a combined C/N0-elevation approach. Approximately 10.089 m of horizontal root-mean-squared (RMS) positioning error and 12.592 m of vertical RMS error are achieved using the proposed method; with improvements of 78.83%, 46.82% and 43.27% on horizontal positioning accuracy and 54.00%, 47.51% and 49.69% on vertical positioning accuracy, compared to using C/N0, elevation and C/N0-elevation combined weighting schemes, respectively. For the second testing dataset, a similar performance is achieved with nearly 11.631 m of horizontal RMS error and 10.158 m of vertical RMS error; improvements of 64.58%, 32.90% and 22.40% on horizontal positioning accuracy and 71.99%, 65.24% and 55.88% on vertical positioning accuracy are achieved, compared to using C/N0, elevation and C/N0-elevation combined weighting schemes, respectively.


Introduction
Global navigation satellite system (GNSS) positioning performance in the urban dense environment experiences significant deterioration.Three types of signal reception: line-ofsight (LOS) signal reception, non-line-of-sight (NLOS) signal reception and multipath signal reception are experienced by GNSS receivers in such challenging environment.LOS signals refer to the signals transmitted by the satellites that are directly received by the receiver without obstructions.NLOS signals occur when the transmitted signals are reflected by the surface of objects (high buildings, trees etc) where multipath refers to the combination of direct LOS and NLOS signals, which can potentially result in up to a hundred-meter level positioning error (Estey andMeertens 1999, Sun et al 2020).Although most of the GNSS receivers can achieve accurate and reliable positioning solutions in the open sky environment, their performances will significantly degraded in the multipath-rich area.Consequently, the mitigation of both multipath and NLOS effects is crucial for achieving accurate positioning.The classification of the above GNSS signal types will play a key role in high-precision positioning.Current advanced receiver correlator design can only solve multipath effects in the signal processing stage by comparing both the direct and the reflected signals, but this approach is not capable of solving the NLOS reception (Hsu 2017).However, machine learning based methods have shown promising classification results for NLOS reception.Other techniques including sensor integration, specific antenna design (Jiang and Groves 2014), modern receiver algorithm (Hsu et al 2015) and 3D urban model (Hsu et al 2016) can help to classify the multipath and NLOS signals.Among these techniques, machine learning has the advantages of high classification accuracy and efficiency in dealing with multiple types of GNSS features.
Many machine learning based classifiers utilize the raw GNSS measurements to distinguish the LOS, multipath and NLOS signals.These classifiers are typically using multiple features derived from the GNSS measurements, such as signal strength, pseudorange residual, satellite's elevation, change rate of pseudorange, horizontal and vertical dilution of precision (DOP) and etc.These features are all correlated with the signal types to a certain extent, and thus they are critical for the training of machine learning based classification models.Wang et al (2013) proposed a Wilcoxon-norm-regressor for the pseudorange bias detection, based on pseudorange residual.Phan et al (2013) selected elevations and azimuth angles as the key features in a support vector machine (SVM) (Noble 2006) for multipath mitigation in static application, and it reduced the code multipath error standard deviation up to 79% and it reduced 57% double-differential carrier-phase multipath error.Signal classification can also be done by utilizing the variables extracted from the correlators of the receiver (Sokhandan et al 2015).Selection of received signal strength, elevation, and various other features for decision trees based classifiers is tested to classify LOS and NLOS signals.The trained classifier can provide up to 85% classification accuracy (Yozevitch et al 2016).An SVM based pattern recognition of the multipath environment and receiver motion is designed to improve the tracking process of GNSS receivers for better error mitigation (Sokhandan et al 2017).Hsu (2017) applied the SVM classifier to the GNSS signal reception based on the following four features selected: received signal strength, change rate of received signal strength, pseudorange residual and difference between delta pseudorange and pseudorange rate.And around 75% of classification accuracy was achieved.Quan et al (2018) developed a convolutional neural network (CNN) based multipath detection method with a sparse auto-encoder for extracting features, and the method can detect about 80% multipath errors in both their simulated data and the real data.Sun et al (2019) proposed an adaptive neuro-Fuzzy inference system for signal reception classification, based on nine features derived from the raw GNSS measurements.The proposed system could achieve 100%, 91% and 84% classification accuracies for LOS, multipath and NLOS signals respectively, on a static test under special conditions.Lyu and Gao (2020) developed an SVM based GNSS signal classifier based on six features and tested it in a dynamic environment.Nearly 30 000 observations are used and an overall accuracy of 86.05% was achieved to classify the LOS and NLOS measurements.Sun et al (2020) applied the concept of gradient boost machine (GBM) to a new GPS signal classification algorithm where the signal strength, pseudorange residual and satellite's elevation were selected as features and the data collection was conducted under four different locations in static mode, for the purpose of testing the adaptivity of the classification model.The trained models provided 100%, 82% and 86% classification accuracies for LOS, multipath and NLOS respectively.To date, SVM and GBM are the two stateof-the-art measurement-based machine learning architectures for GNSS signal types classification.However, the classification accuracy of LOS/NLOS signals in kinematic scenario using machine learning methods still require improvement, which is crucial for achieving high-accuracy positioning results.Also, many current advanced deep learning models require large-size training datasets to achieve and maintain the sufficient accuracy in the GNSS signal classification problem.Their performances can be significantly degraded if smaller training datasets are fed.Recently, a new deep learning architecture called Hopular has been designed and it outperforms the majority of the machine learning frameworks using small to medium-sized datasets (Schäfl et al 2022).In our previous work, a Hopular-based GNSS signal classifier was developed and evaluated using approximately 10 000 data samples collected in urban canyon (Zhou et al 2023).In that paper, a comprehensive comparison of performance among Hopular, SVM and GBM was conducted.The results showed promising classification accuracy from the Hopular model and they surpassed both SVM and GBM for mediumsized datasets.To date, the application of a Hopular based GNSS signal classifier on kinematic dataset has not yet been investigated.
To achieve an accurate and precise GNSS navigation solution in urban environments, an accurate weighting scheme is critical and required.Elevations of satellites are commonly used in the weighting scheme, which assumes that the signals will contain more observation errors if the satellites are lower; as the satellite's signal will propagate for a longer distance through the atmosphere (Eueler and Goad 1991, Parkinson et al 1996, Walter and Enge 1995).This method, however only considers the mitigation of atmospheric errors as they are the main error sources in LOS signals.The consideration for multipath and NLOS errors is solely based on a probabilistic assumption: the signals of satellites with lower elevation angles will have higher probabilities of experiencing reflections in urban canyon.Therefore, an elevation based weighting scheme is not appropriate and reliable for NLOS signals.
It can not quantify the multipath or NLOS errors as there is no realistic relation between satellites' elevations and the errors.Carrier-to-noise density ratio (C/N0) is another widelyused parameter to indicate the quality of GNSS observation.A higher C/N0 value usually indicates a stronger signal reception and thus it is popularly used in the GNSS weighting schemes (Langley 1997, Brunner et al 1999, Wieser and Brunner 2000, Luo et al 2009, Groves and Jiang 2013).However, C/N0 cannot accurately reflect the actual signal reception quality in urban environments.Constructive or destructive multipath interference can lead to a higher C/N0 value or lower C/N0 value, respectively (Ward 1997).The combination of both elevation angle and C/N0 in a weighting scheme can help to improve the performance under certain conditions (Tay and Marais 2013, Zhang et al 2018, Li et al 2022), but C/N0 are usually correlated with the elevations (Wieser and Brunner 2000).And they still do not provide comprehensive indications of observations' qualities in urban area.Recently, NLOS probabilities based weighting scheme starts drawing more attention.Adjrad and Groves (2017) used 3D city model to obtain the NLOS probabilities for GNSS signals and used them in the weighting scheme.A horizontal root-mean-square (RMS) positioning error of 20.8 m was achieved.Lyu and Gao (2020) predicted the NLOS probabilities using an SVM based classifier and a 65.4% positioning accuracy has been improved from using their new weighting model compared with using a traditional C/N0 based weighting model.This year, Li et al (2023) proposed a random forest based GNSS signal classifier using more than 50 000 data samples for training.And their developed weighting scheme helped the solution to obtain 6.462 m as the mean horizontal error and 4.802 m as the horizontal standard deviation, using pseudorange only.The results showed 19.12% improvement on mean horizontal error and more than 10% improvement on horizontal standard deviation of error, comparing with using the C/N0-elevation based model.Up to now, the performance of NLOS probabilities based weighting scheme, with only medium-sized data for training and in real-time kinematic (RTK) positioning mode has not yet been investigated.
This paper proposes an innovative GNSS observation weighting scheme, leveraging the Hopular based GNSS signal classifier for accurate LOS/NLOS signal identification with medium-sized training dataset, to enhance urban kinematic navigation in RTK positioning mode.This method provides significant urban kinematic positioning improvements, based on the innovative GNSS observation weighting scheme, which only requires medium-sized training dataset.The Hopular based GNSS signal classifier uses the multiple features derived from the GNSS raw observations and it can reach promising classification accuracy without relying on large size of datasets for training.The new weighting scheme also takes the advantages of C/N0 values and loss of lock indicator (LLI) to provide extra constraints, where C/N0 values are more susceptible to signal reception quality in low-cost receivers (Parkinson et al 1996, Pini et al 2008).To validate our weighting scheme, three kinematic GNSS datasets in different days, are collected in the urban downtown area in Calgary.One is used for training the Hopular based classifier using approximately 14 000 data samples.The other two datasets are used to evaluate the positioning accuracy based on the newly developed weighting scheme.
This paper is organized in the following manner.Firstly, the work related to the Hopular based GNSS signal classifier will be briefly reviewed.Secondly, the implementation of a Hopular based weighting scheme into an RTK positioning algorithm, along with the constraints based on C/N0 and LLI will be presented.Thirdly, the experimental setup, the data collection environments and the LOS/NLOS signal classification will be demonstrated.Afterwards, the evaluation of the solution based on the proposed weighting scheme will be elaborated.Finally, the conclusion of this paper and the future work will be discussed.

Methodology
The methodology section can be summarized into two major components: First, the architecture of the implementation of Hopular based GNSS signal classifier will be discussed.Second, the Hopular based GNSS signal classifier weighting scheme and the C/N0 and LLI based constraints will be presented.signal reception classifier.The data collection provides the raw GNSS measurements which are used to derive the GNSS features.Each measurement is accurately labeled using the fisheye camera, which is precisely calibrated in advance for obtaining the calibration parameters.The calibration parameters include the intrinsics and distortion vectors, which are used to re-project the satellites' positions to the sky plots captured by the fisheye camera.The 2D image coordinates are calculated based on the 3D Earth-centered-Earth-fixed (ECEF) coordinates of the satellites.These images are precisely segmented into sky area and obstruction area using flood-fill method, for the computer to distinguish the LOS and NLOS measurements.The data cleaning and preparation involves removing the empty measurements, data sorting, data extraction and rearranging the data into the specific format for the deep learning model.After the GNSS features and labels are obtained, they will be used for training, validation and testing for the deep learning model.The k-folds cross-validation method has been applied to split the data into training, validation and testing sets, in k numbers of folds.Popular values of k include 3, 5 and 10.The training dataset is used to conduct the multiple features training, where the validation datasets are used to tune the hyper-parameters and provide the early stopping if the model starts to overfit.Finally, the test dataset is used to evaluate the overall performance of the model.During the inference phase, the input of the classifier will be the four selected GNSS features but in standardized form.This is mainly for the feature scaling and data consistency purpose.The output of the model will be the unnormalized logits of each class, which can be converted to the signal class probabilities using the softmax function (Bridle 1990).

Hopular model.
Hopular is a novel deep learning architecture designed for tabular datasets, based on the continuous modern Hopfield network.Figure 2 shows the highlevel architecture of the Hopular model.It consists of three types of layers: the input layer, the hidden layers and the output layer.
As shown in figure 3, the hidden layer of this model contains the Hopular blocks, which store both the embedded input samples and the full training set.Each Hopular block contains the Hopfield modules H s and H f , and the aggregation blocks.These blocks consecutively applies the two Hopfield modules to refine the current prediction.The Hopfield modules H s and H f provide sample-sample interactions and feature-feature interactions, respectively.The sample includes the GNSS features as well as the GNSS signal types (targets).In each of the hidden layers, the current prediction is refined by re-accessing the original training set and the original input sample, following an iterative learning manner.In H s module, the current prediction becomes the input or state vector and it will interact with the whole training dataset.The similarity search will be conducted in the whole training dataset to support the sample-sample interactions.Similarly, the current prediction becomes the state vector in the H f and it will interact with the embedded features of the input samples.Feature-feature relation and feature-target relation are modeled and learned during this phase.Therefore, besides the targets, the features of the original input sample are also predicted during the training.The aggregation block updates the current prediction by combining the results from each Hopular module using a residual connection.
Lastly, the output layer maps the current prediction to the final prediction.In the Hopular model, both the prediction of  the targets of the input samples and the prediction of masked features of the input samples are implemented.Therefore, the current prediction resulting from the stacked Hopular blocks are separately mapped to the final prediction vector with respect to their prediction types in the output layer.The main advantage of the Hopular model is that it provides the original training set and the original input at each of its layers, which allows the model to re-access the original training set and the original input at every layer to refine the current prediction.

Feature selection.
The four GNSS features selected for Hopular based classifier training in this paper are: 1. Carrier-to-noise density ratio (C/N0).2. Time-differenced code-minus-carrier (TDCMC).3. LLI. 4. Satellites-to-receiver elevation.The C/N0 is the ratio between the power of a modulated carrier signal and the power of noise per bandwidth.Its value is based on the ratio of power of received signal to the noise density of the receiver and thus it can be used to indicate the quality of received satellite's signal.The GNSS receiver tends to receive poor satellites' signals more frequently in the urban dense area due to the NLOS signals and multipath effects.Therefore, C/N0 is a good indicator of NLOS signals.The TDCMC is the difference of the subtraction of the carrier phase measurement from the pseudorange measurement in the time sequence.It is also a good indicator of NLOS signals as the multipath can cause greater interference to pseudorange than carrier phase, noting that NLOS and multipath can occur together.Therefore, the difference between pseudorange and carrier phase measurement with respect to time can quantify the influence of NLOS signals.However, cycle slips occur more frequently in urban area, which can affect the quality of carrier phase measurements.Thus, LLI is used as a feature to indicate the existence of cycle slips (IGS 2013).Finally, the satellite-to-receiver elevation is used as our fourth feature due to the fact that signals of the satellites with lower elevations are more likely to be blocked on the ground.In our previous work (Zhou et al 2023), the results have shown that the Hopular based classifier which uses the above GNSS features, provides promising accuracy to separate the LOS/NLOS signals.The statistics also prove that the trained Hopular model outperforms another two state-of-thearts machine learning models SVM and GBM, with mediumsized dataset.

Pseudorange and carrier phase observation weighting scheme
The newly proposed weighting scheme is developed using the Hopular based GNSS signal classifier, which can accurately differentiate between LOS and NLOS signals.This approach significantly improves the signal classifier's reliability and therefore assign more accurate weights to the observations.Unlike the traditional methods that rely on the elevation and C/N0 for the weights determination, our new method leverages the Hopular deep learning model to provide more direct and meaningful weights in the context of multipath and NLOS environment.The new weighting scheme only considers the L1-frequency GNSS measurements, as the full measurements of a GNSS signal from other frequencies are significantly less available in the deep urban canyon.This section will be described in two different parts: 1. Traditional observation weighting schemes.2. Hopular based weighting scheme.

Traditional observation weighting schemes.
The traditional observation weighting schemes utilize either satellites' elevations or C/N0 values, or the combination of both; which can be described by equations ( 1) and (2) (Shokri et al 2020), equations ( 3) and (4) (Hartinger and Brunner 1999), and equations ( 5) and ( 6) (Tay and Marais 2013), respectively, where σ P,elev and σ L,elev are the standard deviations of pseudorange and carrier phase observations respectively, for elevation based weighting scheme; α and β are the error factors which can be obtained from experiments; γ is the code/phase error ratio and elev is the satellite-to-receiver elevation.In this paper, both α and β are assigned a value of 0.003, which is a common value for the error factor, Equation ( 3) is also as known as the Sigma − ϵ model, where C is the factor consists of the carrier loop noise bandwidth and a conversion term from cycle 2 to the squared of millimeters.In this paper, the C will be set as 1 which is a common value.C/N0 is the carrier to noise density ratio value in unit of dB-Hz for a GNSS signal.For the carrier part, the same error ratio factor need to be applied, sin (elev)

2
(5) Equations ( 5) and ( 6) depict the weighting model that considers both elevation and C/N0.The observations' variances are dependent on both elevation and C/N0.Compared to the elevation-only based method, the elevation-C/N0 combined method also incorporates C/N0 in the weight determination.
In certain cases such as with high elevation and low C/N0, this method will provide a larger observation variance than elevation-only based method does.As smaller C/N0 value will exponentially increase the value of numerator in the equations ( 5) and ( 6).Similarly, this method takes the advantage of satellites' elevations to outperform C/N0-only based weighting scheme.With respect to the same situation of high elevation and low C/N0, this method will provide a smaller observation variance than C/N0-only based method does; as the large elevation values will quadratically increase the denominator based on its sine value, which lowers the overall value.Tay and Marais (2013) describe a method where a camera is used to determine the types of GNSS signals and accordingly adjust the K values.Specifically, K is set to 1 for LOS signals, whereas NLOS signals are denoted by other values, such as 2 or +∞.In our analysis of the test datasets, we have approximately assigned K a value of 1, due to the absence of a camera.The value of γ will be set to 0.01, which is a common value for code/phase error ratio.

Hopular based weighting scheme.
The computation of GNSS observation variance using the Hopular based weighting scheme is summarized in equations ( 7) and ( 8).This new approach, unlike the traditional methods mentioned above, includes observation variance for NLOS errors in both code and carrier phase, Since the elevation based weighting model can achieve great performance in the open sky area, where it can sufficiently model the LOS error in most cases.We will use it for our LOS error modeling.For the NLOS error modeling, equations ( 9) and ( 10) can demonstrate our proposed method; which is inspired by the similar formulas proposed by Lyu and Gao (2020).Unlike their method, ours make the exponent factor to the NLOS probabilities become adaptive; which means its value will be adjusted in different situations in the multipath or NLOS environments, where the equations ( 9) and ( 10) show the computation of NLOS variance for code and carrier respectively.ε P and ε L are the NLOS error terms for code and carrier respectively, in unit of m 2 ; e is the Euler's number; E is the exponent factor to be tuned and P NLOS is the predicted probability of NLOS signal.In this paper, ε P will be used as 100 m 2 and ε L will be used as 1 m 2 .The Euler's number e is chosen to control the growth rate of the exponential function, which can prevent over-weighting to the observations.The predicted probabilities of NLOS signals P NLOS can be obtained from the Hopular based GNSS signal classifier as mentioned above.The value of exponent factor will change in different situations, which will be elaborated in the equation ( 11).
In the equations ( 9) and ( 10), the value of exponent factor can linearly affect the exponent of the exponential function.Thus, it is important to have an accurate value for the exponent factor to ensure the overall quality of the variance computation.Instead of using a fixed value, we propose a C/N0 and LLI based constraint to adjust its value.This is necessary as the predicted probability of NLOS signal cannot work perfectly for every observation.Equation ( 11 when the C/N0 value for a GNSS signal is above 45 dB-Hz, we assume the observation passes the threshold of being LOS in urban scenario.Thus, NLOS error will be excluded in the weighting scheme by setting the exponent factor to 0. When the C/N0 values drop below 35 dB-Hz or LLI shows the existence of cycle slips, the predicted probability of NLOS will become much more effective in the computation by increasing the exponent factor to 9.5.This value cannot go beyond 10, as the astronomical numbers will be introduced in the computation process which can lead to a system crash.And 9.5 is sufficient to de-weight the measurements if NLOS signals are predicted.By default, exponent factor will be 1.1 for the computation of the variance based on the predicted NLOS probabilities.These values are the optimal results from the tuning processing, based on the experimental setup in this work.Various combinations of the E values and C/N0-based constraints are tested to determine the best set, with the selection criteria based on minimizing positioning errors.

Experimental setup
The testing instruments used in the data collection are the U-blox ZED-F9P-02B GNSS receiver, U-blox ANN-MB-00-00 Active GNSS Antenna, an omnidirectional fisheye camera with 360 degree field-of-view lens installed and a micro-controller board STM 32, which is shown in figure 4. Both the fisheye camera and the U-blox antenna are fixed at the customized car rack, which can be equipped on top of the vehicle.The U-blox ZED F9P receiver is used to collect the L1 raw GNSS measurements in urban canyon at 1 Hz, using its low-cost antenna; such antenna will not have strong antimultipath ability and can be used to collect NLOS observations.The upward fisheye camera is constantly triggered by the software at a sampling rate of 20 Hz, to accurately capture the sky plots and the corresponding time stamps.The STM 32 micro-controller board is used to decode the PPS time pulse information from the F9P receiver and compute the difference between GPS time and laptop local time.Thus, we can correct the time stamps of the sky plots to make them align with the GPS time.
A NovAtel SPAN PwrPak7-E2 that connected to the NovAtel GNSS 503 antenna, is used to generated the ground truth solution.Besides having an Epson G370N IMU and an OEM7700 GNSS receiver, a reliable reference solution is achieved by using the multipath-rejecting GNSS 503 antenna.A Trimble Net R9 receiver is used to acquire the GNSS raw measurements for the base station.It is located on the roof of ENF block in the Engineering building, University of Calgary.Its data serves for both the U-blox F9P and the OEM7700 receiver in RTK computation.The ground truth solution is computed using the NovAtel Inertial Explorer (IE) software.

Data collection environments
Three urban kinematic datasets are collected in our experiment, the first one is collected from 23:53:09 (GPS time) on 20 October 2023 to 00:32:03 on 21 October which is for training the Hopular based GNSS signal classifier; the other two are collected on 8 November 2023 between 19:29:11-19:46:40, and on 15 February 2024 between 17:56:08-18:10:03.They are used for the evaluation of positioning performance from the newly proposed weighting scheme.All three datasets contain the multipath and NLOS measurements collected in the downtown area in Calgary, where there are many skyscrapers (with highest building of 283 m), over-crossings, short tunnels and etc In figure 5, it shows the data is collected under both highway and urban canyon.The urban canyon mainly provides NLOS signal measurements whereas the highway proportion provides a lot of LOS signal measurements.With an elevation mask of 10 degrees for the F9P receiver, approximately 34 000 L1-frequency observations are obtained in this trip; a total number of 29 337 LOS measurements are obtained whereas only 4670 NLOS measurements are collected.In figure 6, it shows that the GNSS data collection begins at the deep urban canyon and end at a sub-urban area.Approximately 16 min of deep urban kinematic data is collected.There are 10 overcrossings in this trip, which can severely block the GNSS signal receptions.The maximum length of the baseline between the base station and the rover is about 6.23 km.The view is oriented with the up direction pointing north, and the trajectory has a long segment of east-west routes; which implies that the lateral positioning accuracy is mainly determined by the north positioning errors, which is crucial for the lane-level localization.The east direction errors reflect the longitudinal positioning accuracy with respect to the vehicle, which can be corrected using the vehicle's velocity or acceleration.This trajectory goes through the most GNSSchallenging environments in downtown Calgary.And it can be used to test the performance of the proposed Hopular based weighting scheme.
In figure 7, another urban trajectory which is similar to the one from the 8 November field test, is shown.Approximately 14 min of deep urban kinematic data is collected.A total number of 14 overcrossings further makes the environment become more challenging to the GNSS positioning.The GNSS data collected base on this trajectory is used to further validate the performance and reliability of the proposing method.

Hopular based signal classifier training and evaluation
To provide the ground truth label for each collected GNSS measurement, the sky plots captured from the fisheye camera are precisely segmented into LOS/NLOS areas.With the known satellites' ECEF coordinates, we are able to project the 3D positions of satellites into 2D, which can be visualized on the sky plots.Figure 8   The model training is conducted in the advanced research computing (ARC) cluster at the University of Calgary.The GPU partition named gpu-v100 which contains 1 Tesla V100-PCIE-16GB unit with the requested 30 cores and 200 000 MB memory is used.A total number of 4999 steps are used in the training, and the step time for training is approximately 1726.15 milliseconds.The inference time is much less as no gradient computation and parameter updates need to be performed.
Table 1 shows the top 4 trained Hopular models with respect to their classification accuracies.The number of heads is the count of modern Hopfield networks; the number of blocks is the count of Hopular blocks, or count of iterative refinement blocks; the scaling factor is the factor for scaling beta to steer the retrieval type (Ba et al 2016).The model with highest classification accuracy of 80.41% uses eight modern Hopfield networks, eight Hopular blocks and set 10.0 as the beta scaling factor.Compare such results with the ones in our previous work (Zhou et al 2023), it is apparent to notice that the classification accuracies of the Hopular based models are lower for kinematic datasets than static datasets.This is most likely due to the interference of signal reception caused by the dynamics of the receiver.Meanwhile, only 14 000 data samples are used for the model training, validating and testing; whereas deep learning networks usually require large amount of data to achieve outstanding results.

Position accuracy evaluation
The performance of the proposed Hopular based weighting scheme is evaluated based on the navigation solution results from the 8 November and 15 February urban kinematic datasets, in RTK positioning mode.In this work, the ambiguity resolution is undeployed.To validate the positioning improvements from the Hopular based weighting scheme, the results are compared to the navigation solutions based on the three traditional GNSS weighting schemes (elevation based, C/N0 based and elevation-C/N0 combined based weighting scheme).
Figure 9 visualizes the C/N0, the L1-frequency multipath errors and the satellite-to-receiver elevations for the observations in the 8 November dataset.The majority of C/N0 values of observations fall into the region between 30 dB-Hz and 50 dB-Hz; there are sparse points at the bottom of the plot to show the ultra low C/N0 data samples.Near 19:39:00, most of the signals have high C/N0 values; which reveals good signal receptions qualities near that period.The values of multipath errors are fluctuating more significantly between 19:29 and 19:37, with a maximum of 10 m multipath error around 19:34:20.The elevation plots contains both the information of the satellites-to-receiver elevations and corresponding C/N0 values.It is clear that the signals with higher elevation tend to have higher C/N0 values.However, some periods show the reduced C/N0 values with medium elevation; these periods include 19:31:00-19:33:00, 19:34:00-19:35:00, 19:37:00-19:38:00, 19:43:00-19:46:00.Especially around 19:30:00 and 19:35:30, the continuous signals with high elevation still have low C/N0 values.And the corresponding areas in the multipath plot reflect relatively larger values, which implies the existence of strong multipath.Therefore, it is not reliable to only use satellites' elevations to quantify the multipath errors in urban environments; this also explains the limitation of elevation-only based weighting scheme.
Figure 10 depicts the number of detected satellites for each epoch and the various types of DOP values.A noticeable spike for all types of DOP values occurs around 19:38:00; meanwhile, the number of available satellites significantly drops below 20.Similar phenomenon happens again at 19:44:00, where the DOP values increase sharply and the number of available satellites drops down to 18.
Table 2 numerically shows the improvements in positioning from using the Hopular based weighting scheme compared to the traditional weighting schemes.The values in the first four rows show the RMS and mean positioning errors for all the weighting schemes that has been tested.The values in the last three rows show the percentage of improvements from using the Hopular based weighting scheme to the three traditional methods.The RMS errors for the elevation based weighting scheme are approximately 47.652 m and 27.230 m in horizontal and vertical directions, respectively.Since the elevation based model only work well in the open sky environment, its performance will be significantly deteriorated in the multipath-rich environment.Also, the horizontal positioning using this method is much worse than the vertical positioning; which potentially implies that the visible satellites with low elevation are de-weighted.This worsens the horizontal satellites' geometries caused by the skyline blockage in urban settings and results in poor horizontal positioning.However, with the information of C/N0, the C/N0 based weighting model can achieve a horizontal RMS error of 18.969 m and a vertical error of 23.988 m.As C/N0 can better interpret the NLOS error in urban scenario than elevation, such improvements are expected.By utilizing the advantages from both elevation and C/N0, the combined weighting scheme is expected to better capture the environmental complexity in the  urban area.Such model produces 17.782 m as the horizontal RMS error and 25.026 m as the vertical error.Even though the vertical RMS positioning errors is slightly degraded, a minor horizontal error reduction is achieved in this situation.Since the approximated K value of 1 in equations ( 5) and ( 6) is not accurate, due to the lack of related information; and the high   The green color demonstrates the positioning errors from the Hopular based weighting scheme.Compare with the previous three methods, the Hopular based weighting scheme produces a much more accurate and precise positioning results.The initial positioning contains approximately 25 m errors in the north direction, which start to decrease gradually over time.Unlike the large positioning errors from the traditional methods' solutions around 19:32:50, the Hopular based solution significantly corrects the positioning errors, reducing them to 20 m in both the north and east directions.The positioning error for north is greatly reduced around 19:35:10; and both north and east errors are rapidly reduced near 19:43:10.The only noticeable flaw appears near 19:38:10, where relatively larger east positioning errors are spotted.This is due to the sharp increase of the DOP values, which reflects the sudden deterioration of the geometry from the satellites to the receiver.
To further validate the performance and reliability of the proposed method, an evaluation based on another dataset collected on 15 February 2024, is conducted.Table 3 summarizes the positioning performance from the four methods.Similar results are achieved in this evaluation.Even though the horizontal RMS error of the Hopular based method is slightly worse than the previous evaluation, minor improvements of vertical RMS error are achieved.Both the mean errors for horizontal and vertical direction are better than the ones in the previous evaluation.Compare to the three traditional weighting schemes, the Hopular based weighting scheme results in superior performance again.Substantial reductions on the positioning errors are achieved using the Hopular based method, especially in the vertical direction.Therefore, it is evident to demonstrate the repeatability of the method's effectiveness.

Conclusion and future work
In this paper, a novel GNSS observation weighting scheme based on the Hopular based GNSS signal classifier is proposed to improve the urban kinematic navigation accuracy in RTK positioning mode.The Hopular based GNSS signal classifier trained by only medium-sized data, can accurately distinguish the L1-frequency LOS/NLOS signals using the measurementlevel GNSS features.Aided by the C/N0 and LLI based constraints, the Hopular based weighting scheme can accurately assign the observation weights to the solution estimator.With a better interpretation of the GNSS observation quality, the new weighting scheme outperforms the three traditional weighting schemes: elevation based weighting scheme, C/N0 based weighting scheme and elevation-C/N0 combined weighting scheme using the collected urban kinematic dataset in downtown Calgary.For the first GNSS urban testing dataset, approximately 10.089 m of horizontal RMS error and 12.592 m of vertical RMS error are achieved using the proposed method; with improvements of 78.83%, 46.82%, and 43.27% in horizontal RMS errors, and 54.00%, 47.51%, and 49.69% in vertical RMS errors, respectively, compared to using C/N0, elevation, and combined C/N0-elevation weighting schemes.Large spikes contained in the positioning errors from the traditional weighting scheme can be significantly mitigated using the proposed weighting scheme, which it can result in a more reliable urban navigation solution.A similar performance is achieved for the second GNSS urban kinematic testing dataset, with 64.58%, 32.90%, and 22.40% improvements in horizontal RMS errors, and 71.99%, 65.24% and 55.88% improvements in vertical RMS errors.Therefore, the proposed method is capable and reliable to improve the kinematic positioning accuracy in urban canyon setting.
In the future, real-time deep learning training will be investigated based on the advantages of Hopular deep learning networks, which reveal strong performance on the small to medium-sized datasets.The designated model should be able to conduct the real-time training based on real-time data collection.This enables the transfer learning for the Hopular based GNSS signal classifier to adapt different urban environments.Moreover, the determination of the value E in our Hopular based weighting scheme can be optimized by applying the deep learning concept; the relation between the value E and the associated positioning accuracy in the context of urban kinematic navigation can be modeled using the deep learning approaches.
2.1.1.Implementation of Hopular based GNSS signal classifier.Figure 1 shows the flowchart of the entire procedures for the training and evaluation of Hopular based GNSS

Figure 1 .
Figure 1.Architecture of the training and evaluation process of Hopular based GNSS signal reception classifier.

Figure 3 .
Figure 3.The architecture view of hidden layers in Hopular (Schäfl et al 2022).

Figure 4 .
Figure 4. GNSS and sky plot data collection platform.

Figure 5 .
Figure 5. Google Earth view of 20 October 2023 field test.

Figure 6 .
Figure 6.Google Earth view of 8 November 2023 field test.

Figure 7 .
Figure 7. Google Earth view of 15 February 2024 field test.

Figure 8 .
Figure 8. Sky plot and its segmentation.
demonstrates the segmented sky plot and original view.Sub-figure (a) in figure 8 illustrates the segmented sky plot; the satellites fall into the black regions are considered as NLOS whereas those located in the blue regions are LOS.Sub-figure (b) shows the original sky plot along with the positions of the satellites.Therefore, those satellites in green indicate the associated LOS signals whereas red satellites indicate the NLOS signals.In this paper, nearly 14 000 data samples are used to train, validate and test the Hopular based GNSS signal classifier.Around 9330 LOS data samples and 4670 NLOS data samples

Figure 9 .
Figure 9. C/N0, multipath and elevation values for all used satellites in 8 November dataset.

Figure 10 .
Figure 10.Number of active satellites and various types of DOP values for the observations in 8 November dataset.

Figure 11 .
Figure 11.East and North positioning errors of 8 November dataset.

Table 1 .
Hopular model hyperparameters and related evaluation.The hyperparameters selection and tuning for the model are referred to the experiments conducted by Schäfl et al (2022).Similar hyperparameters are chosen to achieve the best performance for the model.Early stop is employed to stop the training before the model becomes over-fitted.

Table 2 .
Summary of 3D kinematic positioning errors of 8 November dataset.

Table 3 .
Summary of 3D kinematic positioning errors of 15 February dataset.