Introduction

With the rapid development of the global navigation satellite system (GNSS), precise point positioning (PPP) technology (Malys and Jensen 1990; Zumberge et al. 1997) has become increasingly prevalent, finding applications in professional areas and mass markets (Li and Geng 2019; Zheng et al. 2019b). In GNSS PPP applications, some systematic errors can be corrected by using the sophisticated model, parameterized into the functional model, or eliminated by the observation combination (Teunissen and Montenbruck 2017; Duong et al. 2019). However, unlike other systematic errors, site-specific multipath remains a tough error to address by using the differential or parameterization methods. Therefore, it is imperative to develop the multipath mitigation method since the multipath has a detrimental impact on the positioning performance of GNSS PPP.

Multipath refers to the phenomenon of GNSS signals from a satellite to the receiver antenna arriving via multiple paths, including reflection, refraction, diffraction, or even occlusion (Lau and Cross 2007; Zhang et al. 2021). It is important to note that the code and phase multipath errors can be significant, with the theoretical maximum value reaching up to 1/2 of the ranging code chip and 1/4 of the carrier wavelength (Groves and Jiang 2013), respectively. To mitigate the multipath errors, two primary strategies can be used: hardware improvement and data processing. Hardware improvement typically involves the antenna-based design and receiver-based architecture (Jiang and Groves 2014; Hsu et al. 2015; Suzuki et al. 2020), whereas it increases the cost for GNSS users and is often only feasible for professional applications. The data processing strategies are popularly used for high-precision applications. One can simply apply a reasonable weighting scheme to mitigate multipath errors, such as the elevation-dependent and carrier-to-noise power density ratio (C/N0)-dependent model (Bilich and Larson 2007; Yuan et al. 2022). However, even high-elevation or high-C/N0 signals may suffer severe multipath in complex environments. In addition, some time-series analysis techniques, such as Vondrak filtering (Zheng et al. 2005), empirical mode decomposition (Dai et al. 2006; Li et al. 2021), and wavelet analysis (Su et al. 2021), can be utilized to mitigate multipath errors. However, these methods are not suitable for real-time GNSS applications. Several mitigation techniques have been proposed to meet the real-time application needs that consider the repeatability of multipath characteristics in the temporal or spatial domain. For temporal-domain repeatability, sidereal filtering (SF) can be applied in the position or observation domain for static GNSS stations (Ragheb et al. 2007; Zhong et al. 2010). However, SF can be challenging for GNSS users due to the variations in the repetition periods of different GNSS satellite orbits. Also, SF can be affected by orbital maneuvers, which further complicates its use. Moreover, spatial-domain repeatability methods are widely used and effective to mitigate multipath errors, such as the multipath hemispherical map (MHM) (Dong et al. 2016; Zhang et al. 2023), multipath stacking (Fuhrmann et al. 2015), empirical site model (Moore et al. 2014), multi-point hemispherical grid model (Tang et al. 2021), and trend-surface modeling method (Lu et al. 2021).

Although many efforts have been made to develop MHM-related methods to mitigate multipath errors for static and dynamic applications, they require a stable surrounding environment as the prerequisite. In changing environments where the surroundings are variable but the user maybe static, however, the normal MHM may not be optimal. For the normal MHM, the sky plot of the GNSS station is divided into azimuth and elevation grids, and the residual mean value is regarded as the multipath correction. Specifically, the multipath errors in each azimuth and elevation grid used to establish the normal MHM may be significantly changeable due to the site environment variations. For practical applications, the site environment variations can be caused by many factors. Three common phenomena are listed: (1) the tree leaves around the site wiggle or fall due to the severe wind or death; (2) people or other moving objects pass by the site; and (3) birds fly in the sky around the site. All the phenomena further affect the multipath errors even in the same azimuth and elevation grid, indicating that the surrounding environments are changing. In this case, focusing on refining the normal MHM in changing environments is essential. This issue is rather important since it significantly impacts the performance of MHM in high-precision applications. Therefore, a new multipath mitigation method using multipath hierarchy (MH) is proposed to refine the normal MHM with elaborate processing. This method is crucial in ensuring the optimal performance of MHM in changing environments.

The feasibility of using MH in multipath mitigation is demonstrated. First, the methodology of retrieving multipath from GNSS PPP model is derived. Second, the multipath mitigation method using MH is proposed, and the main processing procedures are given. Then, two dedicated static datasets are used to analyze the multipath discrepancy of normal MHM and conduct the MH. Finally, the conclusions of this work are given.

Multipath extraction from GNSS PPP model

Assuming that the satellite orbit and clock have been precisely corrected by the International GNSS Service (IGS) precise products (Ge et al. 2008), the undifferenced and uncombined dual-frequency code and phase observations can be formulated as:

$$P_{r,{ }i}^s = {{\varvec{\mu}}}_r^s {{\varvec{R}}}_r + t_r + F_r^sT_r + \gamma_i I_{r,{ }1}^s + M_{r,{ }i}^s + \varepsilon_{r,{ }i}^s$$
(1)
$$\phi_{r,{ }i}^s = {{\varvec{\mu}}}_r^s {{\varvec{R}}}_r + t_r + F_r^sT_r - \gamma_i I_{r,{ }1}^s + \lambda_{i{ }} N_{r,{ }i}^s + m_{r,{ }i}^s + \in_{r,{ }i}^s$$
(2)

where \(s\), \(r\), and \(i\) denote the satellite, receiver, and frequency (\(i = 1, 2\)), \(P_{r,{ }i}^s\) and \(\phi_{r,{ }i}^s\) the observed-minus-computed code and phase observations, \({{\varvec{\mu}}}_r^s\) and \({{\varvec{R}}}_r\) the line-of-sight unit vector and receiver position vector, \(t_{r{ }}\) the reparametrized receiver clock error, \(T_r\) the zenith tropospheric delay, \(I_{r,{ }1}^s\) the reparametrized ionospheric delay of the first frequency, \(\gamma_i = f_1^2 /f_i^2\), \(\lambda_{i{ }}\) the carrier wavelength, \(N_{r,{ }i}^s\) the float ambiguity consisting of the integer ambiguity and hardware delays, \(M\) and \(m\) the code and phase multipath errors, and \(\varepsilon\) and \(\in\) the code and phase observation noises. It is noted that some systematic errors including phase windup, relativistic effect, Earth rotation, phase center offset (PCO), and phase center variation (PCV) can be corrected using the existing models or external IGS precise products (Zhou et al. 2018). The PPP-fixed model is implemented to extract the multipath in this study to strengthen the estimates of unknown parameters further. That is, the site positions are precisely determined using the multi-day GNSS observations in advance, and the position parameters are then fixed and do not need to be estimated. Moreover, a priori knowledge of ionospheric delay, including the temporal correlation and spatial characteristic, and external ionospheric model are applied as the constraints. In this case, all the estimated parameters at each epoch in the PPP-fixed model include \({{\varvec{X}}} = (t_{r{ }} ,T_r ,I_{r,{ }1}^s ,N_{r,{ }i}^s )\).

The Kalman filter is typically used to estimate the unknown parameters as follows:

Prediction:

$${\varvec{\hat{X}}}_{k/k - 1} = {\mathbf{\Phi }}_{k/k - 1} {\varvec{\hat{X}}}_{k - 1}$$
(3)
$${\varvec{P}}_{k/k - 1} = {\varvec{\Phi }}_{k/k - 1} {\varvec{P}}_{k - 1} {\varvec{\Phi }}_{k/k - 1}^{\text{T}} + {\varvec{Q}}_{k - 1}$$
(4)

Updating:

$${{\varvec{K}}}_k = {{\varvec{P}}}_{k/k - 1} {{\varvec{H}}}_k^{\text{T}} ({{\varvec{H}}}_k {{\varvec{P}}}_{k/k - 1} {{\varvec{H}}}_k^{\text{T}} + {{\varvec{R}}}_k )^{ - 1}$$
(5)
$${\varvec{\hat{X}}}_k = {\varvec{\hat{X}}}_{k/k - 1} + {\varvec{K}}_k ({\varvec{L}}_k - {\varvec{H}}_k {\varvec{\hat{X}}}_{k/k - 1} )$$
(6)
$${{\varvec{P}}}_k = ({{\varvec{I}}} - {{\varvec{K}}}_k {{\varvec{H}}}_k ){{\varvec{P}}}_{k/k - 1}$$
(7)

where \({\varvec{\hat{X}}}_{k/k - 1}\) is the predicted state vector at epoch k, \({\mathbf{\Phi }}_{k/k - 1}\) the state transition matrix, \({{\varvec{P}}}_{k/k - 1}\) the variance matrix of \({\mathbf{\hat{X}}}_{k/k - 1}\), \({{\varvec{Q}}}_{k - 1}\) the variance matrix of system noise, \({{\varvec{K}}}_k\) the gain matrix, \({{\varvec{H}}}_k\) the observation matrix, \({{\varvec{R}}}_k\) the variance matrix of observation noise, \({\varvec{ \hat{{{X}}}}}_k\) the estimated parameter vector, \(L_k\) the observation vector, \({{\varvec{P}}}_k\) the variance matrix of \({\varvec{ \hat{{{X}}}}}_k\), and \({{\varvec{I}}}\) the identity matrix. In the PPP-fixed model, the state transition matrix \({\mathbf{\Phi }}_{k/k - 1} = {{\varvec{I}}}\) and the specific data processing strategies are listed in Table 1. Next, the estimated known parameters \({\varvec{ \hat{{{X}}}}} = (\hat{t}_{r{ }} ,\hat{T}_r ,\hat{I}_{r,{ }1}^s ,\hat{N}_{r,{ }i}^s )\) are substituted into (1) and (2) to extract the code and phase multipath as follows:

$$E\left[ {M_{r,i}^s } \right] = P_{r,i}^s - {\varvec{\mu }}_r^s \widetilde{R}_r - \hat{t}_{r} - F_r^s\hat{T}_r - \gamma _i \hat{I}_{r,1}^s$$
(8)
$$E~\left[ {m_{r,i}^s } \right] = \phi _{r,i}^s - {\varvec{\mu }}_r^s {\varvec{\tilde{R}}}_r - \hat{t}_{r} - F_r^s\hat{T}_r + \gamma _i \hat{I}_{r,1}^s - \lambda _{i} \hat{N}_{r,i}^s$$
(9)

where “E[*]” denotes the expectation operator and \({\varvec{ \widetilde{R}}}_r\) the known receiver position vector.

Table 1 Data processing strategies of the PPP-fixed model

Multipath mitigation using multipath hierarchy

As aforementioned, the performance of normal MHM can be affected in changing environments; thus, a multipath mitigation method using MH is proposed. Referring to the idea of ionospheric and tropospheric tomography (Yao et al. 2020; Adavi et al. 2022), we need to seek an index for MH that is similar to the height. Fortunately, the C/N0 can be used as the index since it shares the same tracking loops with the GNSS signals (Zhang et al. 2019). The C/N0 can be adapted to determine whether the GNSS signals are affected by the reflection, refraction, diffraction, or non-line-of-sight (NLOS) reception in changing environments. Despite the GNSS signals belonging to the same azimuth and elevation grid, their C/N0 values may exhibit a significant discrepancy in changing environments. Therefore, the C/N0-based MH can be applied to refine the normal MHM. The schematic diagram of multipath mitigation using MH is illustrated in Fig. 1. Specifically, assuming that there exist two C/N0 sections in ascending order, i.e., C/N01–C/N02 and C/N03–C/N04, in an azimuth and elevation grid (Azii–Azii+1 and Elei–Elei+1). It is noted that the gap between C/N02 and C/N03 is equal to the C/N0 resolution output by the user receiver. In this case, we cannot simply obtain the residual mean value and regard it as the multipath correction in the azimuth and elevation grid. This is because the GNSS signals passing by the azimuth and elevation grid may suffer from different multipath effects in changing environments. Thanks to the properties of C/N0, the C/N0-based MH can be applied to refine the residuals in the azimuth and elevation grid, including two C/N0 grids (red and magenta grids shown in Fig. 1). Specifically, the residuals within C/N01–C/N02 belong to the first red C/N0 grid. The residuals within C/N03–C/N04 belong to the second magenta C/N0 grid. Then, the residual mean value in the two C/N0 grids is regarded as the multipath correction in the azimuth and elevation grid with the index of C/N0 value, respectively.

Fig. 1
figure 1

Schematic diagram of the multipath mitigation using MH. The left panel is a schematic diagram of normal MHM with azimuth and elevation grids. Then, the green dashed arrow is used to illustrate an example of MH in a typical azimuth and elevation grid from the left MHM. The right panel is a schematic diagram of MH. Specifically, the residuals within C/N01–C/N02 (red dashed arrow) and C/N03–C/N04 (magenta dashed arrow) belong to the red C/N0 grid and magenta C/N0 grid, respectively

In each azimuth and elevation grid, the key issue for multipath mitigation using MH is how to determine the number of C/N0 grid, which is like C/N0 bin. In this study, the u test is applied to test the significance of C/N0 discrepancy in each azimuth and elevation grid as follows:

$$u = \frac{{\overline{x} - \mu }}{{\sigma /\sqrt {n} }}$$
(10)

where \(\overline{x}\) and \(n\) are the residual mean value and the number of residuals in C/N0 grid, respectively. \(\mu\) and \(\sigma\) are the residual mean value and standard deviation (STD) in azimuth and elevation grid, respectively. The critical value can be calculated according to the normal distribution (Zheng et al. 2019a) with \(n - 1\) degrees of freedom and significance level \(\alpha\) (\(\alpha = 0.05\)).

Figure 2 further illustrates the flowchart of multipath mitigation using MH in GNSS PPP. Specifically, the main processing procedures are as follows:

  1. 1.

    The precisely determined station positions are substituted into the PPP-fixed model to output the azimuth angles, elevation angles, C/N0 values, and posterior residuals. Then, the residuals are divided into each azimuth and elevation grid with a specific grid resolution. Next, the test of C/N0 discrepancy is used to determine the number of C/N0 grid in each azimuth and elevation grid for MH.

  2. 2.

    In each azimuth and elevation grid, the residuals are further divided into each C/N0 grid. It is like a distribution of samples to C/N0 bins. Then, the residual mean value of each C/N0 grid in each azimuth and elevation grid is obtained and stored as the multipath correction.

  3. 3.

    The multipath correction file is generated, which includes the azimuth, elevation, and C/N0 grid positions and multipath corrections. To implement the multipath corrections, we just need to match the satellite positions and C/N0 values in the real-time applications.

Fig. 2
figure 2

Flowchart of the multipath mitigation using MH. The parts with red boxes are the key steps. The top dashed box represents the procedure of extracting the azimuth angles, elevation angles, C/N0 values, and residuals. The bottom dashed box represents the procedure of generating the multipath correction file using multipath hierarchy

Experiment results and analysis

This section gives the data descriptions of two dedicated datasets. Then, the multipath discrepancy of the normal MHM in changing environments is analyzed. Finally, the superiority of multipath mitigation using MH is carefully verified in terms of positioning accuracy and residual reduction.

Multipath discrepancy of the normal MHM

To verify the superiority of multipath mitigation using MH, two dedicated static datasets were collected in the mountainous area of Southwest China. The typical observation environment in this study is depicted in Fig. 3. The type of receiver BX-RAG360 with an embedded antenna is used. Specifically, the first dataset was collected on the day of the year (DOY) 003–010 in 2023 with 8 consecutive days, named JC01. The data sampling interval was 10 s. Another dataset was collected on DOY 025–032 in 2023 with a sampling interval of 5 s for 8 consecutive days, named JC02. The satellite cut-off elevation of the two datasets was set to \(10{^ \circ}\). Moreover, it is noted that this type of receiver only output the C/N0 integer value with 1 dB-Hz resolution in this study.

Fig. 3
figure 3

Typical observation environment in this study

The L1 phase residuals are extracted on each day of DOY 003–009 and 025–031 for JC01 and JC02, respectively. Then, the phase residuals are used to establish the normal MHM on each day with \(2{^ \circ} \times 2{^ \circ}\) resolution of azimuth and elevation. The MHM can somewhat reflect the multipath variations surrounding the two stations on each day. Figures 4 and 5 depict the multipath discrepancy of the normal MHM between two adjacent days on DOY 003–009 and 025–031 for JC01 and JC02, respectively. It is noted that only the absolute value of multipath discrepancy larger than 2 mm is shown. It can be found that the multipath discrepancies between two adjacent days often occur on DOY 003–009 and 025–031 both for JC01 and JC02. Moreover, the number of grids of multipath discrepancy for JC01 is more than that for JC02, which indicates that the multipath discrepancy of the normal MHM for JC01 is more significant than that for JC02. It also indicates that the surrounding environments of JC01 and JC02 are changing. This type of multipath discrepancy can destroy the performance of normal MHM for multipath mitigation in subsequent PPP applications.

Fig. 4
figure 4

Multipath discrepancy of the normal MHM for L1 phase between two adjacent days on DOY 003–009 for JC01. The upper left, upper right, middle left, middle right, bottom left, and bottom right panels denote the results between DOY 003 and 004, 004 and 005, 005 and 006, 006 and 007, 007 and 008, and 008 and 009, respectively

Fig. 5
figure 5

Multipath discrepancy of the normal MHM for L1 phase between two adjacent days on DOY 025–031 for JC02. The upper left, upper right, middle left, middle right, bottom left, and bottom right panels denote the results between DOY 025 and 026, 026 and 027, 027 and 028, 028 and 029, 029 and 030, and 030 and 031, respectively

Refinement of the normal MHM using multipath hierarchy

Figures 6 and 7 depict the C/N0 sky plot of L1 and L2 observations on DOY 003–009 and 025–031 for JC01 and JC02, respectively. The proportion of C/N0 discrepancy in each azimuth and elevation grid with \(1{^ \circ} \times 1{^ \circ}\) resolution is also shown, where the discrepancy \(d_{{\text{C}}/{\text{N}}0}\) is defined as the maximum C/N0 value minus the minimum C/N0 value in a certain azimuth and elevation grid. It can be found that the C/N0 values exhibit significant variability even in the same azimuth and elevation grid for the two stations, especially below the elevation of \(30{^ \circ}\). More interestingly, the multipath discrepancies in Figs. 4 and 5 are more likely to occur in the corresponding area of C/N0 variability. Furthermore, relatively large C/N0 discrepancies exist although the C/N0 values are in the same azimuth and elevation grid. Especially for JC01, 82.3% and 43.8% proportion of \(d_{{\text{C}}/{\text{N}}0} \ge 3\) dB-Hz and \(d_{{\text{C}}/{\text{N}}0} \ge 5\) dB-Hz happen for L1 observations and 75.3% and 34.6% proportion for L2 observations, respectively. In this sense, the surrounding environments of the two stations are changing, which is consistent with the significant multipath discrepancy of the normal MHM once again. It also indicates the feasibility and necessity of conducting the C/N0-based MH for multipath mitigation.

Fig. 6
figure 6

C/N0 sky plot of L1 (left panel) and L2 (right panel) observations on DOY 003–009 for JC01 and the proportion of C/N0 discrepancies of each azimuth and elevation grid

Fig. 7
figure 7

C/N0 sky plot of L1 (left panel) and L2 (right panel) observations on DOY 025–031 for JC02 and the proportion of C/N0 discrepancies of each azimuth and elevation grid

Fortunately, the occurred C/N0 discrepancy in each azimuth and elevation grid can be used to refine the normal MHM using MH. In this study, the code and phase multipath are simultaneously corrected to further minimize the impact of code multipath on PPP initial solutions. The 7-day code and phase residuals of L1 and L2 observations on DOY 003–009 and 025–031 for JC01 and JC02 are extracted, respectively. The resolution of azimuth and elevation is 1° × 1°. Moreover, the DOY 010 and 032 datasets for JC01 and JC02 are used to validate the superiority of using MH. The receiver positions are estimated as constant values for daily solutions in the PPP model, and the other common processing strategies refer to Table 1. A 2-h re-initial strategy is set. According to the results of C/N0 discrepancy in Figs. 6 and 7, without loss of generality, initial 2 and 3 C/N0 grids are evenly divided in each azimuth and elevation grid where \(d_{{\text{C}}/{\text{N}}0} \ge 3\) dB-Hz and \(d_{{\text{C}}/{\text{N}}0} \ge 5\) dB-Hz, respectively. Otherwise, a C/N0 grid is used in the azimuth and elevation grid. Then the residuals of each C/N0 grid in 2 or 3 C/N0 grids are used to conduct the test of C/N0 discrepancy and to determine the final number of C/N0 grids. Certainly, users can flexibly determine the C/N0 grids according to their practical positioning situation and requirement.

Figure 8 depicts a typical result of the multipath hierarchy of L1 code and phase multipath for JC01 in the azimuth and elevation grid of \(\left( {172-173{^ \circ} } \right) \times \left( {43-44{^ \circ} } \right)\) and \(\left( {244-245{^ \circ} } \right) \times \left( {43-44{^ \circ} } \right)\), respectively. As we can see, 2 C/N0 grids are divided into the azimuth and elevation grid of \(\left( {172-173{^ \circ} } \right) \times \left( {43-44{^ \circ} } \right)\). Specifically, the residuals with the C/N0 value of 46–47 dB-Hz belong to the first C/N0 grid, and that of 48–49 dB-Hz belong to the second C/N0 grid. Moreover, 3 C/N0 grids are divided into the azimuth and elevation grid of \(\left( {244-245{^ \circ} } \right) \times \left( {43-44{^ \circ} } \right)\). Similarly, the residuals with the C/N0 value of 39–40, 41–42, and 43–44 dB-Hz belong to the first, second, and third C/N0 grid, respectively. At this time, the residual mean value of each C/N0 grid in each azimuth and elevation grid is obtained and stored as the multipath correction. Following this, Figs. 9 and 10 further show the results of the multipath hierarchy of L1 code and phase multipath for JC01 in each azimuth and elevation grid of \(\left( {0-360{^ \circ} } \right) \times \left( {10-70{^ \circ} } \right)\) with 1° × 1° resolution, respectively. To implement the multipath correction of using MH, we just need to match the satellite azimuth and elevation and C/N0 value in subsequent applications.

Fig. 8
figure 8

Multipath hierarchy of L1 code (left panel) and phase (right panel) multipath for JC01 in the azimuth and elevation grid of \(\left( {172-173{^ \circ} } \right) \times \left( {43-44{^ \circ} } \right)\) and \(\left( {244-245{^ \circ} } \right) \times \left( {43-44{^ \circ} } \right)\), respectively. The circular dot in each subgraph is the residual

Fig. 9
figure 9

Multipath hierarchy of L1 code multipath for JC01 in each azimuth and elevation grid of a: \(\left( {0-180{^ \circ} } \right) \times \left( {10-70{^ \circ} } \right)\) and b: \(\left( {180-360{^ \circ} } \right) \times \left( {10-70{^ \circ} } \right)\). The bottom, middle, and top panels in a and b denote the hierarchy one, hierarchy two, and hierarchy three, respectively. The hierarchy one, hierarchy two, and hierarchy three include the first C/N0 grids, second C/N0 grids, and third C/N0 grids in each azimuth and elevation grid, respectively

Fig. 10
figure 10

Multipath hierarchy of L1 phase multipath for JC01 in each azimuth and elevation grid of a: \(\left( {0-180{^ \circ} } \right) \times \left( {10-70{^ \circ} } \right)\) and b: \(\left( {180-360{^ \circ} } \right) \times \left( {10-70{^ \circ} } \right)\). The bottom, middle, and top panels in a and b denote the hierarchy one, hierarchy two, and hierarchy three, respectively. The hierarchy one, hierarchy two, and hierarchy three include the first C/N0 grids, second C/N0 grids, and third C/N0 grids in each azimuth and elevation grid, respectively

Figures 11 and 12 depict the positioning errors in east (E), north (N), vertical (U), and three-dimensional (3D) directions from GPS time 00:00:00 to 02:00:00 on DOY 010 and 032 for JC01 and JC02, respectively. It can be found that the MHM-corrected and MH-corrected positioning errors are smaller than that of the uncorrected case, which indicates the effectiveness of both MHM and MH for multipath mitigation. More interestingly, the MH-corrected positioning errors are improved compared to the MHM-corrected results, especially at these initial epochs. Besides, the positioning accuracy statistics of the uncorrected, MHM-corrected, and MH-corrected results on DOY 010 and 032 for JC01 and JC02 are listed in Table 2. The root mean square error (RMSE) is used as an indicator to evaluate the positioning accuracy in this study, which is calculated by the positioning solutions and reference values. The coordinate reference values are obtained using the multi-day observations and the precise post-processing software. It is noted that the positioning accuracy is calculated using all positioning solutions at each epoch on DOY 010 and 032. The positioning accuracy of MH-corrected results is improved from 0.640/0.405/1.106/1.340 m and 0.597/0.388/1.096/1.307 m to 0.567/0.378/1.069/1.268 m compared to the uncorrected and MHM-corrected results in E, N, U, and 3D directions for JC01, and from 0.442/0.262/0.712/0.878 m and 0.426/0.236/0.684/0.839 m to 0.414/0.230/0.676/0.826 m for JC02, respectively. The positioning accuracy of MH-corrected results exhibits 3.0% and 1.6% improvements compared to the MHM-corrected results in 3D direction for JC01 and JC02, respectively. The positioning accuracy improvement using MH for JC01 is better than that for JC02, which is consistent with the more significant C/N0 discrepancy for JC01 in Figs. 6 and 7. Therefore, multipath mitigation using MH is superior to the MHM for positioning accuracy in changing environments.

Fig. 11
figure 11

Positioning errors in E, N, U, and 3D directions from GPS time 00:00:00 to 02:00:00 on DOY 010 for JC01. The “Un-corrected,” “MHM-corrected,” and “MH-corrected” denote the results without multipath correction, using the MHM, and using the MH, respectively. The inset at the bottom right denotes the 3D positioning errors at the initial epoch 1–1000 for JC01

Fig. 12
figure 12

Positioning errors in E, N, U, and 3D directions from GPS time 00:00:00 to 02:00:00 on DOY 032 for JC02. The “Un-corrected,” “MHM-corrected,” and “MH-corrected” denote the results without multipath correction, using the MHM, and using the MH, respectively. The inset at the bottom right denotes the 3D positioning errors at the initial epoch 1–1000 for JC02

Table 2 RMSE of the uncorrected, MHM-corrected, and MH-corrected results in E, N, U, and 3D directions on DOY 010 and 032 for JC01 and JC02, respectively (unit: m)

The impact of multipath mitigation on residual reduction is also analyzed in the time domain. Figure 13 depicts the L1 code and phase residual time series of G27 satellite for JC01 and G04 satellite for JC02, respectively. It can be found that the residual reduction performance of using MH is superior to the uncorrected and MHM-corrected results, particularly at low elevation. The STD of MH-corrected code residual of G27 satellite is improved from 1.58 and 1.52 to 1.31 m compared to the uncorrected and MHM-corrected results and from 4.49 and 4.13 to 4.04 mm for phase residual, respectively. Moreover, the STD of MH-corrected code residual of G04 satellite is improved from 1.07 and 0.98 to 0.84 m, and from 2.53 and 2.21 to 2.11 mm for phase residual, respectively. Therefore, multipath mitigation using MH exhibits improvements in residual reduction.

Fig. 13
figure 13

Time series of L1 code and phase residual of G27 satellite for JC01 (left panel), and G04 satellite for JC02 (right panel). The label in the upper right box is the STD of code and phase residual with the unit of m and mm, respectively. The “Un-corrected,” “MHM-corrected,” and “MH-corrected” denote the results without multipath correction, using the MHM, and using the MH, respectively

Furthermore, the performance of residual reduction is statistically analyzed by calculating the STD of code and phase residual for each satellite. Figures 14 and 15 illustrate the STD statistics of L1 and L2 residuals of each satellite for JC01 and JC02, respectively. The STD is commonly used to evaluate the observation residuals, which is calculated by the residuals and their mean value. It can be found that the STD of both code and phase residual of MH-corrected results is smaller than that of the uncorrected and MHM-corrected results for each satellite, which implies a potential value to reduce the biases in GNSS parameter estimation using MH to some extent. Moreover, the mean STD of code and phase residual of each satellite for JC01 and JC02 is listed in Table 3. The L1 and L2 mean STD of MH-corrected code residual for JC01 is improved from 1.77 and 1.71 to 1.61 m compared to the uncorrected and MHM-corrected results and from 3.49 and 3.26 to 3.22 mm for phase residual, respectively. Similarly, for JC02, it is improved from 1.37 and 1.21 to 1.10 m for code residual and from 2.35 and 2.12 to 2.09 mm for phase residual, respectively. Similar level of residual reduction can also be found in (Zheng et al. 2019a, b; Lu et al. 2021); therefore, it again verifies the effectiveness of using MH on residual reduction.

Fig. 14
figure 14

STD statistics of L1 (left panel) and L2 (right panel) code and phase residual of each satellite for JC01. It is noted that the X-axis scales denote G01, G03–G12, G14, G15, G17, G18, G23–G27, and G29–G32 satellites, respectively. The “Un-corrected,” “MHM-corrected,” and “MH-corrected” denote the results without multipath correction, using the MHM, and using the MH, respectively

Fig. 15
figure 15

STD statistics of L1 (left panel) and L2 (right panel) code and phase residual of each satellite for JC02. It is noted that the X-axis scales denote G01–G12, G14, G15, G17, G18, G23–G27, and G29–G32 satellites, respectively. The “Un-corrected,” “MHM-corrected,” and “MH-corrected” denote the results without multipath correction, using the MHM, and using the MH, respectively

Table 3 Mean STD of code and phase residual of each satellite for JC01 and JC02 with the unit of m and mm, respectively

Conclusion

We proposed a new multipath mitigation method using multipath hierarchy in changing environments and the main processing procedures are given. The performance of using MH in terms of positioning accuracy and residual reduction is carefully analyzed using two dedicated static datasets. The multipath discrepancy of normal MHM occurs in changing environments; thus, conducting the C/N0-based MH for multipath mitigation is necessary. The MH-corrected positioning errors are improved compared to the MHM-corrected results, especially at the initial epochs. Specifically, the positioning accuracy of MH-corrected results is improved from 0.597/0.388/1.096/1.307 m to 0.567/0.378/1.069/1.268 m compared to the MHM-corrected results for JC01, and from 0.426/0.236/0.684/0.839 m to 0.414/0.230/0.676/0.826 m for JC02 in E, N, U, and 3D directions, respectively. Moreover, the STD of MH-corrected code residual of G27 satellite is improved from 1.52 to 1.31 m compared to the MHM-corrected results and from 4.13 to 4.04 mm for phase residual, respectively. Similarly, it is improved from 0.98 to 0.84 m for code residual of G04 satellite, and from 2.21 to 2.11 mm for phase residual, respectively. Also, the STD of code and phase residual of MH-corrected results is smaller than the MHM-corrected results for each satellite. Therefore, the multipath mitigation using MH exhibits superiority and improvement in positioning accuracy and residual reduction compared to the normal MHM in changing environments. In addition, in future, we will try to fit the multipath error with data processing methods. Specifically, an equation of multipath error with the elevation angle, azimuth angle, and C/N0 value as variables can be further studied to meet the requirement of multipath mitigation in changing environments.