Site-Specific Unmodeled Error Mitigation for GNSS Positioning in Urban Environments Using a Real-Time Adaptive Weighting Model

In Global Navigation Satellite System (GNSS) positioning, observation precisions are frequently impacted by the site-specific unmodeled errors, especially for the code observations that are widely used by smart phones and vehicles in urban environments. The site-specific unmodeled errors mainly refer to the multipath and other space loss caused by the signal propagation (e.g., non-line-of-sight reception). As usual, the observation precisions are estimated by the weighting function in a stochastic model. Only once the realistic weighting function is applied can we obtain the precise positioning results. Unfortunately, the existing weighting schemes do not fully take these site-specific unmodeled effects into account. Specifically, the traditional weighting models indirectly and partly reflect, or even simply ignore, these unmodeled effects. In this paper, we propose a real-time adaptive weighting model to mitigate the site-specific unmodeled errors of code observations. This unmodeled-error-weighted model takes full advantages of satellite elevation angle and carrier-to-noise power density ratio (C/N0). In detail, elevation is taken as a fundamental part of the proposed model, then C/N0 is applied to estimate the precision of site-specific unmodeled errors. The principle of the second part is that the measured C/N0 will deviate from the nominal values when the signal distortions are severe. Specifically, the template functions of C/N0 and its precision, which can estimate the nominal values, are applied to adaptively adjust the precision of site-specific unmodeled errors. The proposed method is tested in single-point positioning (SPP) and code real-time differenced (RTD) positioning by static and kinematic datasets. Results indicate that the adaptive model is superior to the equal-weight, elevation and C/N0 models. Compared with these traditional approaches, the accuracy of SPP and RTD solutions are improved by 35.1% and 17.6% on average in the dense high-rise building group, as well as 11.4% and 11.9% on average in the urban-forested area. This demonstrates the benefit to code-based positioning brought by a real-time adaptive weighting model as it can mitigate the impacts of site-specific unmodeled errors and improve the positioning accuracy.


Introduction
Currently, Global Navigation Satellite System (GNSS) positioning techniques based on code observations including single-point positioning (SPP) and code real-time differenced (RTD) positioning have been widely used due to their easy-to-implement and low-cost advantages, particularly in smart phones and vehicles [1,2].However, the signals of these devices could be distorted by the buildings and trees especially in urban canyon areas [3].Consequently, the code precisions will be contaminated by the site-specific unmodeled effects.Here, the site-specific unmodeled effects refer to the signal distortions that are not always considered in the mathematical model [4,5], such as multipath and other space loss caused by the signal propagation like non-line-of-sight (NLOS) reception.
As usual, the observation precisions are captured by the weighting function in a stochastic model [6,7].Hence, the site-specific unmodeled errors should be better considered by a realistic weighting function which determines the contribution of each observation to the least-squares (LS) solution.One can obtain the high-precision and high-reliability positioning results only if a realistic weighting function is applied.That is, any inappropriate weighting model cannot obtain the minimum variance estimators [8,9], and the power of the statistical tests, such as outlier and cycle slip detections, will also be reduced [10,11].Therefore, much research has been focused on how to estimate the observation precisions accurately with a weighting function.
In earlier times, the assumption of homoscedasticity was used.That is, the variances of observations are equal in a stochastic model [12].Apparently, this assumption cannot meet the reality most of the time.To improve the positioning accuracy, two main indicators are then applied to reflect the heteroscedasticity of observations.The first one is the satellite elevation angle since the measurements with higher elevations are more precise [13].In positioning programs, the most widely used model is based on the cosecant function [14][15][16][17].The second one is the carrier-to-noise power density ratio (C/N0) which is the ratio of the signal power to noise power in a 1-Hz bandwidth [18,19].The principle of this method is that the C/N0 and GNSS measurements are recorded by the same tracking loops, so the signal qualities C/N0 are highly consistent with the precision of GNSS measurements [20].It was firstly considered by Talbot [21], and the SIGMA series models [22][23][24] are frequently applied.
Although the elevation and C/N0 can both reflect the observation precisions to some extent, they have different characteristics.The elevation model can reflect better the receiver noise and the atmospheric delays.It is proven that the receiver noise is a function of elevation by the zero-baseline method [25][26][27].Additionally, the atmospheric delays have the longer propagation path in the case of low elevations [28,29].Hence, the precision of the atmospheric correction models are also elevation-dependent.On the contrary, the C/N0 model is much more sensitive to the site-specific errors, especially the reflective and diffractive multipath [18,30,31].It is found that the observations with low C/N0 values usually suffer the multipath or even the NLOS reception [19,32,33], hence, the observation precisions become low.Unfortunately, most existing weighting models use the elevation only or C/N0 only as an indicator, and seldom take full advantages of the above two indicators.In addition, it is found that C/N0 will deviate from the nominal values when the signal distortions are severe [31,33,34], whereas the traditional C/N0 models do not fully consider this important property and just indirectly and partly reflect the severity of site-specific unmodeled errors.
Since the conventional weighting models cannot reflect the reality especially in urban environments, where the site-specific unmodeled errors are easily significant, a priori weighting model considering these unmodeled effects is usually needed.In this research, we propose a real-time adaptive weighting model for the code observations considering the site-specific unmodeled errors.By taking full advantages of the complementarity of elevation and C/N0, a combination of these two indicators is applied into the proposed model, which consists of two parts.The first one is the precision of receiver noise and atmospheric delay described by the elevation, and the second one is the precision of site-specific unmodeled error described by the C/N0.Unlike the traditional C/N0 models, the template functions of C/N0 and its precision, which can estimate the nominal values, are applied to adaptively estimate the precisions of site-specific unmodeled errors.The principle of the second part is that the measured C/N0 will deviate from the nominal values when the signal distortions are severe.It is worth noting that different from the phase observations which have a time-lag problem between multipath and C/N0 [35,36], the signal distortions of code observations can be directly reflected by the C/N0 [20,31].Therefore, the proposed model is especially suitable for the undifferenced code observations.Actually, this model can be regarded as an unmodeled-error-weighted model, which can be degenerated to the unmodeled-error-ignored or unmodeled-error-float models.Specifically, when the precision of these site-specific unmodeled errors is set to zero in the unmodeled-error-weighted model, the solutions are the same as those of the unmodeled-error-ignored model.On the other hand, the solutions of the proposed model become equivalent with those of the unmodeled-error-float model if the precision of these site-specific unmodeled errors is close to infinity.To evaluate the performance of the proposed method, static and kinematic experiments with distinct impacts of site-specific unmodeled errors were carried out, where both the SPP and RTD solutions are tested.

Methodology
Firstly, this section describes the functional and stochastic models of SPP and RTD, and the unreality of traditional weighting schemes is emphasized.Secondly, a real-time adaptive weighting model is proposed, which can be used to mitigate the site-specific unmodeled errors adaptively.

GNSS SPP and RTD Mathematical Models
The GNSS observation equation of code observations for the receiver k and satellite p on frequency i reads [37,38]: where ρ p k is the receiver-to-satellite range; c is the speed of light in a vacuum; δt k and δt p are the receiver and satellite clock errors, respectively; ξ k, i and ξ p,i are the code hardware delays with respect to receiver and satellite, respectively; I p k, i and T p k are the ionospheric and tropospheric delays, respectively; M p k, i is the site-specific unmodeled error (mainly referring to the multipath and NLOS reception); and ε p k, i is the receiver noise.It is worth noting that the time group delay and the intersignal correction are assumed to be corrected by the ephemeris file, and the antenna code center offsets of the receiver and satellite are also corrected.Hence, they are not listed in the observation equation.
When using the SPP, the satellite position and clock errors can be computed by the broadcast ephemerides.The ionospheric delay can be corrected by the Klobuchar model where the coefficients are given in the broadcast ephemerides [39].The tropospheric delay can be corrected by the Hopfield model using the standard meteorological data [40].Finally, the receiver position and clock errors can be estimated by the LS adjustment.However, it is noted that the correction model cannot fully eliminate the atmospheric delays, and the site-specific unmodeled errors are always existent in the functional model.
In case of RTD, the functional model of the double differenced (DD) code observations reads: where k and m are the reference and rover stations, respectively; and p and q are the reference and common satellites, respectively.It can be found that the RTD is more precise than the SPP since the receiver and satellite clock errors as well as their hardware delays are all eliminated.The ionospheric and tropospheric delays can be further removed by the DD technique to a great extent.The residual atmospheric delays can even be ignored if the baseline length is not too long (e.g., less than 10 km).However, the multipath effects are usually ignored even they are significant.
For the stochastic modeling, as mentioned above, the two most popular indicators are elevation and C/N0.The elevation model σ ele often uses the sine functions as [16,17,26]: where θ is the elevation in degree; a and b are the parameters to be estimated.As usual, the elevation model can be simplified as [14,15]: The C/N0 model σ C/N0 can be expressed as [24]: where c and d are also the parameters to be estimated.Similarly, the more commonly used simplified model is [21][22][23]: If the terms on the right side of Equations ( 1) or ( 2) can all be parameterized and/or modeled perfectly, the observation precisions can be calculated: where σ P and σ ε are the standard deviations (STDs) of the code observations and receiver noise, respectively.However, due to the existence of these site-specific unmodeled errors in code positioning, and the limited precisions of these atmospheric correction models, the observation precisions are often influenced significantly, thus indicating the unreality of Equation ( 7) at this time.The precisions then can be expressed in a more precise form: where σ U and σ A are the STDs of the site-specific unmodeled errors and atmospheric delays after being corrected by the correction models.It indicates that a more reliable and accurate weighting model should consider all these error sources, especially the site-specific unmodeled effects.It is worth noting that if the part of ionospheric delays is significant, the σ A can also be treated by an ionosphere-weighted model [41].

A Real-Time Adaptive Weighting Model
To describe the observation precisions more precisely, especially when the site-specific unmodeled errors are significant, a real-time adaptive weighting model is proposed.By taking full advantages of the complementarity of C/N0 and elevation, these two indicators are combined in the proposed model.Specifically, the C/N0 will be stable when the observation environment is ideal, then the nominal values for a certain elevation, i.e., C/N0 nom (θ).can be estimated by a so-called template function.The template function is determined by the reference data observed in a low-multipath environment.Note that unless the signal strength is changed, the template function needs to be determined for only once in advance since it is highly stable for a giving receiver and satellite on one frequency [42].Additionally, the template function is a function of elevation since the C/N0 values are elevation-dependent mainly due to the antenna gain.Therefore, the C/N0 template function is: where the function f 1 usually denotes the third-order polynomial.Based on the reference data observed in a low-multipath environment, the STDs of the corresponding nominal C/N0, i.e., STD C/N0 nom (θ), can also be estimated by another template function of elevation: where the function f 2 also usually denotes the third-order polynomial.
Remote Sens. 2018, 10, 1157 5 of 18 In order to determine the highly reliable template functions, the modeling procedure is generally as follows.Firstly, the C/N0 patterns from different satellites need to be checked whether they are significantly different.Only when the C/N0 of different satellites share the same pattern, can we use the same template function.Secondly, the raw C/N0 observations can be removed if the values exceed double or triple STD ranges in each elevation interval.In the end, the template functions of C/N0 and its precision can be determined by using Equations ( 9) and (10), respectively.
Based on the above template functions, since the measured C/N0 will fluctuate around the nominal values when the site-specific unmodeled errors are severe, the precisions of code multipath and other space loss caused by the signal propagation (e.g., NLOS reception) can be described according to Equations ( 5) and ( 6): Here the absolute symbol '|.|' is used because the C/N0 may also be larger than the nominal values when these unmodeled effects are significant.
On the other hand, since the receiver noise and atmospheric delays can be estimated better by the elevation, the elevation model is set as the foundation part of the adaptive model as follows: According to Equations ( 8), (11), and ( 12), the fundamental mathematical expression of the priori adaptive model σ ada can be given by: However, Equation ( 13) cannot be applied directly because there are two unknown coefficients a and d, which cannot be estimated easily by fitting the precisions with the LS criterion mainly due to the unpredictable of site-specific unmodeled errors.To solve this problem, the above fundamental mathematical model needs to be refined.In this research, based on Equations ( 4) and (6), when the elevation is 90 degrees and the measurement environment is ideal, the observation precision can be regarded as the only result of receiver noise to a great extent [27,43].It leads to the basic relations: which can be slightly rearranged to: Finally, the thresholds based on the template functions of the C/N0 and its precision are used to make the adaptive model more stable in real applications.That is, if the difference between the measured C/N0 and the nominal C/N0 reaches or exceeds the given threshold, the unmodeled error mitigation will be applied.In conclusion, the practical mathematical expression of the priori adaptive model is given by: where γ = 10 C/N0nom (90 • ) 10 , and the threshold T = β•STD C/N0 nom (θ) with a user-defined scale factor β. Because the nominal C/N0 for a certain elevation can be treated independent and normally distributed, the scale factor can be usually set to 2 since an approximately 95% confidence interval can be obtained.That is, the threshold T is applied to test the significance of these site-specific unmodeled errors.If the differences between the C/N0 and the nominal C/N0 are not greater than the threshold, the site-specific unmodeled errors are not significant.Hence, if there is not much need to mitigate these site-specific unmodeled effects for such cases, then the σ U is equal to zero.In fact, this unmodeled-error-weighted model is the most general method for unmodeled error mitigation.If the unmodeled error is insignificant, the template functions can be used to decrease the σ U .When we set σ U → 0 , the solutions of the proposed model equal the ones of the unmodeled-error-ignored model.On the other hand, if the unmodeled error is significant, the template functions can also be used to increase the σ U .When the σ U → ∞ , the solutions of the proposed model become equivalent with the ones of the unmodeled-error-float model.

Data and Experiments
In this study, we tested a Trimble R10 with the antenna embedded in the receiver.It is manufactured by the Trimble company in Sunnyvale, California, USA.Firstly, the template functions of C/N0 and its precision are determined.As aforementioned, the template functions can be determined in advance for only once.The test receiver was placed on a permanent reference station, which was on the rooftop of the Engineering building (ENB) at the University of Calgary.In this situation, twenty-four hour dual frequency C/N0 observations on frequencies C1 and P2 with the sampling of 1 s were obtained from 00:00:00 to 23:59:59 on 24 November 2017 (GPS time).This ideal environment can help us to obtain the reliable reference nominal C/N0, then all the available Global Positioning System (GPS) satellites with 0 to 90 degrees can be tracked, as can be seen from the daily skyplot of visible satellites in Figure 1.
Remote Sens. 2018, 10, x FOR PEER REVIEW 6 of 18 of C/N0 and its precision are determined.As aforementioned, the template functions can be determined in advance for only once.The test receiver was placed on a permanent reference station, which was on the rooftop of the Engineering building (ENB) at the University of Calgary.In this situation, twenty-four hour dual frequency C/N0 observations on frequencies C1 and P2 with the sampling of 1 s were obtained from 00:00:00 to 23:59:59 on 24 November 2017 (GPS time).This ideal environment can help us to obtain the reliable reference nominal C/N0, then all the available Global Positioning System (GPS) satellites with 0 to 90 degrees can be tracked, as can be seen from the daily skyplot of visible satellites in Figure 1.Secondly, in order to validate the effectiveness of the proposed method, two static and one kinematic experiments were carried out.To evaluate the performance of the proposed method, two types of code-based positioning are used.The first one is the SPP, where the ionospheric and tropospheric delays were corrected by the Klobuchar and Hopfield models, respectively.The second one is the RTD, where the ionosphere-fixed model [41] and the Hopfield model were applied.The reference station is UCAL (−1,641,945.119m, −3,664,803.809m, and 4,940,009.252m, in WGS84 coordinate system) which is also located at the University of Calgary from the International GNSS Service [44].Four types of weighting models are applied into the SPP and RTD for comparison: (A) the equal-weight model (EQUM) which assumes the variances of all the observations are equal; (B) the elevation model (ELEM) using Equation ( 4); (C) the C/N0 model (CN0M) using Equation ( 6); (D) the proposed adaptive model (ADAM) using Equation (16).For these four weighting models, to obtain the comparable results, the cut-off elevations are the same, and the scale factor  of the ADAM is set to 2.
The first static experiment was carried out as dataset no. 1.We recorded 1-Hz GPS C1 and P2 data for consecutive 1 h from 19:00:00 to 19:59:59 on 25 November 2017 (GPS time).The coordinates of the test station are precisely known by applying the real-time kinematic positioning (RTK).When using the relative positioning, the baseline length is approximately 133 m. Figure 2 shows the environment of the test receiver placed nearby the blocks of ENB.It can be seen that the observation environment is like in a dense high-rise building group that could offer a variety of reflective multipath and NLOS reception, where the signals could be reflected and blocked by the ENB.Secondly, in order to validate the effectiveness of the proposed method, two static and one kinematic experiments were carried out.To evaluate the performance of the proposed method, two types of code-based positioning are used.The first one is the SPP, where the ionospheric and tropospheric delays were corrected by the Klobuchar and Hopfield models, respectively.The second one is the RTD, where the ionosphere-fixed model [41] and the Hopfield model were applied.The reference station is UCAL (−1,641,945.119m, −3,664,803.809m, and 4,940,009.252m, in WGS84 coordinate system) which is also located at the University of Calgary from the International GNSS Service [44].Four types of weighting models are applied into the SPP and RTD for comparison: (A) the equal-weight model (EQUM) which assumes the variances of all the observations are equal; (B) the elevation model (ELEM) using Equation ( 4); (C) the C/N0 model (CN0M) using Equation ( 6); (D) the proposed adaptive model (ADAM) using Equation (16).For these four weighting models, to obtain the comparable results, the cut-off elevations are the same, and the scale factor β of the ADAM is set to 2.
The first static experiment was carried out as dataset no. 1.We recorded 1-Hz GPS C1 and P2 data for consecutive 1 h from 19:00:00 to 19:59:59 on 25 November 2017 (GPS time).The coordinates of the test station are precisely known by applying the real-time kinematic positioning (RTK).When using the relative positioning, the baseline length is approximately 133 m. Figure 2 shows the environment of the test receiver placed nearby the blocks of ENB.It can be seen that the observation environment is like in a dense high-rise building group that could offer a variety of reflective multipath and NLOS reception, where the signals could be reflected and blocked by the ENB.The second static experiment was carried out as dataset no. 2. One-hour GPS C1 and P2 observations with the sampling interval of 1 s were collected from 21:30:00 to 22:29:59 on 27 November 2018 (GPS time).The coordinates of the test station are precisely known by applying the RTK, and the baseline length is approximately 396 m when using the RTK and RTD. Figure 3 illustrates the test receiver deployed nearby the trees on the campus of University of Calgary.It is clear that the observation environment is like in a heavy urban-forested area where a variety of diffractive multipath, and even NLOS reception, occur, caused by the trees.When using the RTD, the longest length of this kinematic baseline is less than 1 km.This kinematic experiment was deployed on the main road at the University of Calgary, as shown in Figure 4.It can be found that the observation environment could offer different situations during the test.Specifically, it is noted that the site-specific unmodeled errors will be significant when the test receiver is located between the Energy Environment Experiential Learning (EEEL) and Earth Science (ES) buildings, as shown in the left panel (a) of Figure 4 marked with yellow rectangle.These The second static experiment was carried out as dataset no. 2. One-hour GPS C1 and P2 observations with the sampling interval of 1 s were collected from 21:30:00 to 22:29:59 on 27 November 2018 (GPS time).The coordinates of the test station are precisely known by applying the RTK, and the baseline length is approximately 396 m when using the RTK and RTD. Figure 3 illustrates the test receiver deployed nearby the trees on the campus of University of Calgary.It is clear that the observation environment is like in a heavy urban-forested area where a variety of diffractive multipath, and even NLOS reception, occur, caused by the trees.The second static experiment was carried out as dataset no. 2. One-hour GPS C1 and P2 observations with the sampling interval of 1 s were collected from 21:30:00 to 22:29:59 on 27 November 2018 (GPS time).The coordinates of the test station are precisely known by applying the RTK, and the baseline length is approximately 396 m when using the RTK and RTD. Figure 3 illustrates the test receiver deployed nearby the trees on the campus of University of Calgary.It is clear that the observation environment is like in a heavy urban-forested area where a variety of diffractive multipath, and even NLOS reception, occur, caused by the trees.When using the RTD, the longest length of this kinematic baseline is less than 1 km.This kinematic experiment was deployed on the main road at the University of Calgary, as shown in Figure 4.It can be found that the observation environment could offer different situations during the test.Specifically, it is noted that the site-specific unmodeled errors will be significant when the test When using the RTD, the longest length of this kinematic baseline is less than 1 km.This kinematic experiment was deployed on the main road at the University of Calgary, as shown in Figure 4.It can be found that the observation environment could offer different situations during the test.Specifically, it is noted that the site-specific unmodeled errors will be significant when the test receiver is located between the Energy Environment Experiential Learning (EEEL) and Earth Science (ES) buildings, as shown in the left panel (a) of Figure 4 marked with yellow rectangle.These unmodeled effects can be further confirmed by the specific environments of EEEL and ES buildings (see the right panel (b) of Figure 4).

Results and Discussion
In this section, the template functions are analyzed firstly.After that, the results of the two static and one kinematic experiments are discussed, where the proposed model ADAM is compared with the other three traditional models EQUM, ELEM, and CN0M.

Template Functions
As aforementioned, the highly reliable template functions of the test receiver need to be determined.Firstly, the means and STDs of C/N0 values of each satellite (except for G04 due to outage) from elevations of 35 to 80 degrees are compared.The reason is that most external influences can be reduced above 35-degree elevations [27,43] and several satellites do not have the measurements above 80-degree elevations.Figure 5 illustrates the mean C/N0 on C1 and P2, as well as the one-time STD ranges of each satellite.It can be seen that the means and STDs are rather similar with each other, thus indicating that the same template functions can be used among all the GPS satellites.Secondly, the raw C/N0 observations are removed if the values exceed double STD ranges in each one-degree interval.Figure 6 shows the refined reference C/N0 of C1 (C/N01) and P2 (C/N02).It is clear that the reference measurements from different GPS satellites are elevation-dependent and consistent with each other, which can be fit by the third-order polynomials.

Results and Discussion
In this section, the template functions are analyzed firstly.After that, the results of the two static and one kinematic experiments are discussed, where the proposed model ADAM is compared with the other three traditional models EQUM, ELEM, and CN0M.

Template Functions
As aforementioned, the highly reliable template functions of the test receiver need to be determined.Firstly, the means and STDs of C/N0 values of each satellite (except for G04 due to outage) from elevations of 35 to 80 degrees are compared.The reason is that most external influences can be reduced above 35-degree elevations [27,43] and several satellites do not have the measurements above 80-degree elevations.Figure 5 illustrates the mean C/N0 on C1 and P2, as well as the one-time STD ranges of each satellite.It can be seen that the means and STDs are rather similar with each other, thus indicating that the same template functions can be used among all the GPS satellites.Secondly, the raw C/N0 observations are removed if the values exceed double STD ranges in each one-degree interval.Figure 6 shows the refined reference C/N0 of C1 (C/N01) and P2 (C/N02).It is clear that the reference measurements from different GPS satellites are elevation-dependent and consistent with each other, which can be fit by the third-order polynomials.
from elevations of 35 to 80 degrees are compared.The reason is that most external influences can be reduced above 35-degree elevations [27,43] and several satellites do not have the measurements above 80-degree elevations.Figure 5 illustrates the mean C/N0 on C1 and P2, as well as the one-time STD ranges of each satellite.It can be seen that the means and STDs are rather similar with each other, thus indicating that the same template functions can be used among all the GPS satellites.Secondly, the raw C/N0 observations are removed if the values exceed double STD ranges in each one-degree interval.Figure 6 shows the refined reference C/N0 of C1 (C/N01) and P2 (C/N02).It is clear that the reference measurements from different GPS satellites are elevation-dependent and consistent with each other, which can be fit by the third-order polynomials.
C/N02  = 18.12 + 0.5213 − 4.302 × 10  + 1.140 × 10  , The template functions of C/N0 precision on these two frequencies can also be determined by the STDs of every 1-degree elevation interval by using Equation ( 10

Static Experiment Near Buildings
The results of the first static experiment are shown here.In dataset no. 1, the averages of satellite numbers and positional dilution of precision (PDOP) values are 6.5 and 4.2, respectively, as shown in Figure 7.It can be used to further confirm the poor observation environment of dataset no. 1.The positioning errors (relative to the known precise coordinates) of the single-frequency SPP results by using the EQUM, ELEM, CN0M, and ADAM are illustrated in Figure 8.The E, N, and U denote the east, north, and up directions, respectively.It can be clearly seen that the CN0M and ADAM perform much better than the other two models, especially for the first around 3000 epochs.One may conclude that the C/N0-dependent models (CN0M and ADAM) are necessary in challenging environments.Compared with the results of CN0M and ADAM, the ADAM is more In the end, the template functions of C/N0 on two frequencies are determined by using Equation ( 9): C/N02 nom (θ) = 18.12 + 0.5213θ − 4.302 × 10 −3 θ 2 + 1.140 × 10 −5 θ 3 , ( The template functions of C/N0 precision on these two frequencies can also be determined by the STDs of every 1-degree elevation interval by using Equation (10): STD C/N02 nom (θ) = 3.310 − 0.07618θ + 9.216 × 10 −4 θ 2 − 3.438 × 10 −6 θ 3 , (20)

Static Experiment Near Buildings
The results of the first static experiment are shown here.In dataset no. 1, the averages of satellite numbers and positional dilution of precision (PDOP) values are 6.5 and 4.2, respectively, as shown in Figure 7.It can be used to further confirm the poor observation environment of dataset no. 1.
The template functions of C/N0 precision on these two frequencies can also be determined by the STDs of every 1-degree elevation interval by using Equation ( 10

Static Experiment Near Buildings
The results of the first static experiment are shown here.In dataset no. 1, the averages of satellite numbers and positional dilution of precision (PDOP) values are 6.5 and 4.2, respectively, as shown in Figure 7.It can be used to further confirm the poor observation environment of dataset no. 1.The positioning errors (relative to the known precise coordinates) of the single-frequency SPP results by using the EQUM, ELEM, CN0M, and ADAM are illustrated in Figure 8.The E, N, and U denote the east, north, and up directions, respectively.It can be clearly seen that the CN0M and ADAM perform much better than the other two models, especially for the first around 3000 epochs.One may conclude that the C/N0-dependent models (CN0M and ADAM) are necessary in challenging environments.Compared with the results of CN0M and ADAM, the ADAM is more The positioning errors (relative to the known precise coordinates) of the single-frequency SPP results by using the EQUM, ELEM, CN0M, and ADAM are illustrated in Figure 8.The E, N, and U denote the east, north, and up directions, respectively.It can be clearly seen that the CN0M and ADAM perform much better than the other two models, especially for the first around 3000 epochs.One may conclude that the C/N0-dependent models (CN0M and ADAM) are necessary in challenging environments.Compared with the results of CN0M and ADAM, the ADAM is more precise.It indicates that, unlike the ADAM, the CN0M only indirectly and partly reflect the precisions of site-specific unmodeled errors.That is, the template functions in ADAM are, indeed, effective.Table 1 presents the corresponding statistical results of SPP and RTD using the four types of weighting models.It can be confirmed that, compared with the SPP results of EQUM, ELEM, and CN0M, the three-dimensional root mean square (3D RMS) values of ADAM are improved by 50.0%, 41.4%, and 13.9%, respectively.The dual-frequency RTD results by using the four types of weighting models are illustrated in Figure 9. Similarly, it can be clearly seen that the proposed method is the most precise.According to the Table 1, the improvement percentages of the ADAM compared with the EQUM, ELEM, and CN0M are 27.8%,19.6%, and 5.3%, respectively.
Remote Sens. 2018, 10, x FOR PEER REVIEW 10 of 18 precise.It indicates that, unlike the ADAM, the CN0M only indirectly and partly reflect the precisions of site-specific unmodeled errors.That is, the template functions in ADAM are, indeed, effective.Table 1 presents the corresponding statistical results of SPP and RTD using the four types of weighting models.It can be confirmed that, compared with the SPP results of EQUM, ELEM, and CN0M, the three-dimensional root mean square (3D RMS) values of ADAM are improved by 50.0%, 41.4%, and 13.9%, respectively.The dual-frequency RTD results by using the four types of weighting models are illustrated in Figure 9. Similarly, it can be clearly seen that the proposed method is the most precise.According to the Table 1, the improvement percentages of the ADAM compared with the EQUM, ELEM, and CN0M are 27.8%,19.6%, and 5.3%, respectively.The reason why the ADAM is better than any other traditional methods is that the ADAM can mitigate these unmodeled effects greatly.Figure 10 illustrates the elevations and dual-frequency C/N0 of all the used satellites denoted with different colors.It can be seen that the C/N0 patterns are significantly different from the reference values in Figure 6.The reason is that several GPS signals suffer the multipath and even the NLOS reception due the blocks of ENB.In addition, it can also be found that the low elevations do not necessarily mean the low C/N0.It is reasonable since the observations with high elevations cannot ensure that they are free from the multipath and NLOS reception.Actually, this is why the positioning results of the ELEM and CN0M are significantly different with each other in this situation.The reason why the ADAM is better than any other traditional methods is that the ADAM can mitigate these unmodeled effects greatly.Figure 10 illustrates the elevations and dual-frequency C/N0 of all the used satellites denoted with different colors.It can be seen that the C/N0 patterns are significantly different from the reference values in Figure 6.The reason is that several GPS signals suffer the multipath and even the NLOS reception due the blocks of ENB.In addition, it can also be found that the low elevations do not necessarily mean the low C/N0.It is reasonable since the observations with high elevations cannot ensure that they are free from the multipath and NLOS reception.Actually, this is why the positioning results of the ELEM and CN0M are significantly different with each other in this situation.The reason why the ADAM is better than any other traditional methods is that the ADAM can mitigate these unmodeled effects greatly.Figure 10 illustrates the elevations and dual-frequency C/N0 of all the used satellites denoted with different colors.It can be seen that the C/N0 patterns are significantly different from the reference values in Figure 6.The reason is that several GPS signals suffer the multipath and even the NLOS reception due the blocks of ENB.In addition, it can also be found that the low elevations do not necessarily mean the low C/N0.It is reasonable since the observations with high elevations cannot ensure that they are free from the multipath and NLOS reception.Actually, this is why the positioning results of the ELEM and CN0M are significantly different with each other in this situation.

Static Experiment Near Trees
The results of the second static experiment are then discussed.In dataset no. 2, the averages of satellite numbers and PDOP values are 11.7 and 1.5, respectively, as shown in Figure 11.Therefore, compared with dataset no. 1, the proposed method can be evaluated in a relatively good observation condition.

Static Experiment Near Trees
The results of the second static experiment are then discussed.In dataset no. 2, the averages of satellite numbers and PDOP values are 11.7 and 1.5, respectively, as shown in Figure 11.Therefore, compared with dataset no. 1, the proposed method can be evaluated in a relatively good observation condition.The positioning errors of the single-frequency SPP results by using the EQUM, ELEM, CN0M, and ADAM are presented in Figure 12.It can be easily seen that the ADAM is still the most precise.Specifically, the accuracy of EQUM and CN0M are lower than those of ELEM and ADAM, particularly in the U direction.It indicates that the elevation is an indispensable indicator in some cases.Hence, it is necessary to use the elevation as the foundation part of the proposed model.Table 2 gives the corresponding statistical results of SPP and RTD using the four types of weighting models.Compared with the SPP results of EQUM, ELEM, and CN0M, the 3D RMS values of ADAM are improved by 18.8%, 6.1%, and 9.4%, respectively.The dual-frequency RTD results by using the four types of weighting models are all shown in Figure 13.Once again, the proposed method is still the most precise.As shown in Table 2, the improvement percentages of the ADAM compared with the EQUM, ELEM and CN0M are 16.8%, 5.6%, and 13.2%, respectively.The positioning errors of the single-frequency SPP results by using the EQUM, ELEM, CN0M, and ADAM are presented in Figure 12.It can be easily seen that the ADAM is still the most precise.Specifically, the accuracy of EQUM and CN0M are lower than those of ELEM and ADAM, particularly in the U direction.It indicates that the elevation is an indispensable indicator in some cases.Hence, it is necessary to use the elevation as the foundation part of the proposed model.Table 2 gives the corresponding statistical results of SPP and RTD using the four types of weighting models.Compared with the SPP results of EQUM, ELEM, and CN0M, the 3D RMS values of ADAM are improved by 18.8%, 6.1%, and 9.4%, respectively.The dual-frequency RTD results by using the four types of weighting models are all shown in Figure 13.Once again, the proposed method is still the most precise.As shown in Table 2, the improvement percentages of the ADAM compared with the EQUM, ELEM and CN0M are 16.8%, 5.6%, and 13.2%, respectively.

Static Experiment Near Trees
The results of the second static experiment are then discussed.In dataset no. 2, the averages of satellite numbers and PDOP values are 11.7 and 1.5, respectively, as shown in Figure 11.Therefore, compared with dataset no. 1, the proposed method can be evaluated in a relatively good observation condition.The positioning errors of the single-frequency SPP results by using the EQUM, ELEM, CN0M, and ADAM are presented in Figure 12.It can be easily seen that the ADAM is still the most precise.Specifically, the accuracy of EQUM and CN0M are lower than those of ELEM and ADAM, particularly in the U direction.It indicates that the elevation is an indispensable indicator in some cases.Hence, it is necessary to use the elevation as the foundation part of the proposed model.Table 2 gives the corresponding statistical results of SPP and RTD using the four types of weighting models.Compared with the SPP results of EQUM, ELEM, and CN0M, the 3D RMS values of ADAM are improved by 18.8%, 6.1%, and 9.4%, respectively.The dual-frequency RTD results by using the four types of weighting models are all shown in Figure 13.Once again, the proposed method is still the most precise.As shown in Table 2, the improvement percentages of the ADAM compared with the EQUM, ELEM and CN0M are 16.8%, 5.6%, and 13.2%, respectively.Taking a closer look at the SPP results of the ELEM and ADAM, the ADAM can also eliminate the spikes around 2350 s, whereas the ELEM cannot.One may conclude that the ADAM can adjust the precisions of the site-specific unmodeled errors adaptively, since the site-specific unmodeled errors may become significant around 2350 s.It can be confirmed by the elevations and C/N0 of the satellite denoted with the cyan color in Figure 14, which illustrates the elevations and dual-frequency C/N0 of all the used satellites.Specifically, the satellite denoted by the cyan color has a minimum C/N0 around 2350 s, whereas its elevations are not a minimum.In conclusion, the other advantage of the proposed method is that it can adaptively mitigate the spikes of the positioning results.Taking a closer look at the SPP results of the ELEM and ADAM, the ADAM can also eliminate the spikes around 2350 s, whereas the ELEM cannot.One may conclude that the ADAM can adjust the precisions of the site-specific unmodeled errors adaptively, since the site-specific unmodeled errors may become significant around 2350 s.It can be confirmed by the elevations and C/N0 of the satellite denoted with the cyan color in Figure 14, which illustrates the elevations and dual-frequency C/N0 of all the used satellites.Specifically, the satellite denoted by the cyan color has a minimum C/N0 around 2350 s, whereas its elevations are not a minimum.In conclusion, the other advantage of the proposed method is that it can adaptively mitigate the spikes of the positioning results.

Kinematic Experiment
In the end, we present the results of the kinematic experiment.Figure 15 illustrates the satellite numbers and PDOP values calculated from dataset no. 3. It is clear that between around 150 and 500 s, the satellite numbers become fewer and the PDOP values become larger.As aforementioned, this is because the test receiver is located between the EEEL and ES buildings at this time and several GPS signals are obstructed.It also indicates that the multipath and NLOS reception inevitably exist in some other GPS signals at this time.The SPP results by using the EQUM, ELEM, CN0M, and ADAM are illustrated in Figure 16.Since this experiment was carried out in Calgary, the X and Y coordinates in the WGS84 coordinate system are all negative.Compared with the other models, the ADAM is the most precise, especially when the test receiver is between EEEL and ES buildings.It can be further confirmed by the small panels of each subplot from Figure 16.The RTD results by using the four types of weighting models are illustrated in Figure 17.Once again, the proposed method is the most precise, like in Figure 16.Actually, the reason is that the observations contaminated by the sitespecific unmodeled errors are adaptively down-weighted by the ADAM.In conclusion, it demonstrates that the proposed method can mitigate the site-specific unmodeled errors to a great extent in kinematic modes regardless of SPP or RTD solutions, and has a great potential in urban canyon areas.

Kinematic Experiment
In the end, we present the results of the kinematic experiment.Figure 15 illustrates the satellite numbers and PDOP values calculated from dataset no. 3. It is clear that between around 150 and 500 s, the satellite numbers become fewer and the PDOP values become larger.As aforementioned, this is because the test receiver is located between the EEEL and ES buildings at this time and several GPS signals are obstructed.It also indicates that the multipath and NLOS reception inevitably exist in some other GPS signals at this time.The SPP results by using the EQUM, ELEM, CN0M, and ADAM are illustrated in Figure 16.Since this experiment was carried out in Calgary, the X and Y coordinates in the WGS84 coordinate system are all negative.Compared with the other models, the ADAM is the most precise, especially when the test receiver is between EEEL and ES buildings.It can be further confirmed by the small panels of each subplot from Figure 16.The RTD results by using the four types of weighting models are illustrated in Figure 17.Once again, the proposed method is the most precise, like in Figure 16.Actually, the reason is that the observations contaminated by the site-specific unmodeled errors are adaptively down-weighted by the ADAM.In conclusion, it demonstrates that the proposed method can mitigate the site-specific unmodeled errors to a great extent in kinematic modes regardless of SPP or RTD solutions, and has a great potential in urban canyon areas.

Kinematic Experiment
In the end, we present the results of the kinematic experiment.Figure 15 illustrates the satellite numbers and PDOP values calculated from dataset no. 3. It is clear that between around 150 and 500 s, the satellite numbers become fewer and the PDOP values become larger.As aforementioned, this is because the test receiver is located between the EEEL and ES buildings at this time and several GPS signals are obstructed.It also indicates that the multipath and NLOS reception inevitably exist in some other GPS signals at this time.The SPP results by using the EQUM, ELEM, CN0M, and ADAM are illustrated in Figure 16.Since this experiment was carried out in Calgary, the X and Y coordinates in the WGS84 coordinate system are all negative.Compared with the other models, the ADAM is the most precise, especially when the test receiver is between EEEL and ES buildings.It can be further confirmed by the small panels of each subplot from Figure 16.The RTD results by using the four types of weighting models are illustrated in Figure 17.Once again, the proposed method is the most precise, like in Figure 16.Actually, the reason is that the observations contaminated by the sitespecific unmodeled errors are adaptively down-weighted by the ADAM.In conclusion, it demonstrates that the proposed method can mitigate the site-specific unmodeled errors to a great extent in kinematic modes regardless of SPP or RTD solutions, and has a great potential in urban canyon areas.

Figure 1 .
Figure 1.Twenty-four hour skyplot of visible GPS satellites observed from the permanent reference station.

Figure 1 .
Figure 1.Twenty-four hour skyplot of visible GPS satellites observed from the permanent reference station.

Figure 3 .
Figure 3. Observation environment of dataset no. 2 near trees.A kinematic experiment was then carried out as dataset no. 3. 1-Hz GPS C1 data was recorded in approximately consecutive 40 min from 19:58:33 to 20:38:23 on 26 November 2018 (GPS time).When using the RTD, the longest length of this kinematic baseline is less than 1 km.This kinematic experiment was deployed on the main road at the University of Calgary, as shown in Figure4.It can be found that the observation environment could offer different situations during the test.Specifically, it is noted that the site-specific unmodeled errors will be significant when the test receiver is located between the Energy Environment Experiential Learning (EEEL) and Earth Science (ES) buildings, as shown in the left panel (a) of Figure4marked with yellow rectangle.These

Figure 3 .
Figure 3. Observation environment of dataset no. 2 near trees.A kinematic experiment was then carried out as dataset no. 3. 1-Hz GPS C1 data was recorded in approximately consecutive 40 min from 19:58:33 to 20:38:23 on 26 November 2018 (GPS time).When using the RTD, the longest length of this kinematic baseline is less than 1 km.This kinematic experiment was deployed on the main road at the University of Calgary, as shown in Figure4.It can be found that the observation environment could offer different situations during the test.Specifically, it is noted that the site-specific unmodeled errors will be significant when the test
Remote Sens. 2018, 10, x FOR PEER REVIEW 8 of 18 unmodeled effects can be further confirmed by the specific environments of EEEL and ES buildings (see the right panel (b) of Figure 4).

Figure 4 .
Figure 4. (a) Trajectory of dataset no. 3 represented as a blue line on the main road at the University of Calgary, where the EEEL and ES buildings are marked with yellow rectangles.The green and red points denote the starting point and finishing point, respectively; and (b) the test environment between the EEEL and ES buildings.

Figure 4 .
Figure 4. (a) Trajectory of dataset no. 3 represented as a blue line on the main road at the University of Calgary, where the EEEL and ES buildings are marked with yellow rectangles.The green and red points denote the starting point and finishing point, respectively; and (b) the test environment between the EEEL and ES buildings.

Figure 5 .
Figure 5. Mean C/N0 values of each satellite, where the error bars are the one-time STD ranges for each satellite.(a) C/N0 of C1 (C/N01); and (b) C/N0 of P2 (C/N02).

Figure 7 .
Figure 7. (a) Satellite numbers; and (b) PDOP values.The data are calculated from the C1 observations of dataset no. 1.

Figure 7 .
Figure 7. (a) Satellite numbers; and (b) PDOP values.The data are calculated from the C1 observations of dataset no. 1.

Figure 7 .
Figure 7. (a) Satellite numbers; and (b) PDOP values.The data are calculated from the C1 observations of dataset no. 1.

Figure 8 .
Figure 8. Positioning differences between the SPP solutions and the precise coordinates of dataset no. 1.(a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

Figure 8 .
Figure 8. Positioning differences between the SPP solutions and the precise coordinates of dataset no. 1.(a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

Figure 9 .
Figure 9. Positioning differences between the RTD solutions and the precise coordinates of dataset no. 1.(a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

Figure 9 .
Figure 9. Positioning differences between the RTD solutions and the precise coordinates of dataset no. 1.(a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

18 Figure 9 .
Figure 9. Positioning differences between the RTD solutions and the precise coordinates of dataset no. 1.(a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

Figure 11 .
Figure 11.(a) Satellite numbers; and (b) PDOP values.The data are calculated from the C1 observations of dataset no. 2.

Figure 11 .
Figure 11.(a) Satellite numbers; and (b) PDOP values.The data are calculated from the C1 observations of dataset no. 2.

Figure 11 .
Figure 11.(a) Satellite numbers; and (b) PDOP values.The data are calculated from the C1 observations of dataset no. 2.

Figure 12 .
Figure 12.Positioning differences between the SPP solutions and the precise coordinates of dataset no. 2. (a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

Figure 12 .
Figure 12.Positioning differences between the SPP solutions and the precise coordinates of dataset no. 2. (a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

Figure 13 .
Figure 13.Positioning differences between the RTD solutions and the precise coordinates of dataset no. 2. (a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

Figure 13 .
Figure 13.Positioning differences between the RTD solutions and the precise coordinates of dataset no. 2. (a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

Figure 15 .
Figure 15.(a) Satellite numbers; and (b) PDOP values.The data are calculated from dataset no. 3.

Figure 15 .
Figure 15.(a) Satellite numbers; and (b) PDOP values.The data are calculated from dataset no. 3.

Figure 15 .
Figure 15.(a) Satellite numbers; and (b) PDOP values.The data are calculated from dataset no. 3.

Figure 16 .
Figure 16.SPP results (blue lines) of dataset no. 3, where the horizontal and vertical coordinates denote the X and Y directions in WGS84 coordinate system respectively, and the detailed results (red points) in meter when the test receiver is located between EEEL and ES buildings.(a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

Figure 17 .
Figure 17.RTD results (blue lines) of dataset no. 3, where the horizontal and vertical coordinates denote the X and Y directions in WGS84 coordinate system respectively, and the detailed results (red points) in meter when the test receiver is located between EEEL and ES buildings.(a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

Figure 16 .
Figure 16.SPP results (blue lines) of dataset no. 3, where the horizontal and vertical coordinates denote the X and Y directions in WGS84 coordinate system respectively, and the detailed results (red points) in meter when the test receiver is located between EEEL and ES buildings.(a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

18 Figure 16 .
Figure 16.SPP results (blue lines) of dataset no. 3, where the horizontal and vertical coordinates denote the X and Y directions in WGS84 coordinate system respectively, and the detailed results (red points) in meter when the test receiver is located between EEEL and ES buildings.(a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

Figure 17 .
Figure 17.RTD results (blue lines) of dataset no. 3, where the horizontal and vertical coordinates denote the X and Y directions in WGS84 coordinate system respectively, and the detailed results (red points) in meter when the test receiver is located between EEEL and ES buildings.(a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

Figure 17 .
Figure 17.RTD results (blue lines) of dataset no. 3, where the horizontal and vertical coordinates denote the X and Y directions in WGS84 coordinate system respectively, and the detailed results (red points) in meter when the test receiver is located between EEEL and ES buildings.(a) Results of the equal-weight model (EQUM); (b) results of the elevation model (ELEM); (c) results of the C/N0 model (CN0M); and (d) results of the adaptive model (ADAM).

Table 1 .
Statistical results of SPP and RTD using the equal-weight model (EQUM), elevation model (ELEM), C/N0 model (CN0M), and adaptive model (ADAM).The RMS values of E, N, and U directions, and 3D RMS values were calculated from dataset no. 1 (m).

Table 1 .
Statistical results of SPP and RTD using the equal-weight model (EQUM), elevation model (ELEM), C/N0 model (CN0M), and adaptive model (ADAM).The RMS values of E, N, and U directions, and 3D RMS values were calculated from dataset no. 1 (m).

Table 2 .
Statistical results of SPP and RTD using the equal-weight model (EQUM), elevation model (ELEM), C/N0 model (CN0M), and adaptive model (ADAM).The RMS values of E, N, and U directions, and 3D RMS values were calculated from dataset no. 2 (m).

Table 2 .
Statistical results of SPP and RTD using the equal-weight model (EQUM), elevation model (ELEM), C/N0 model (CN0M), and adaptive model (ADAM).The RMS values of E, N, and U directions, and 3D RMS values were calculated from dataset no. 2 (m).