Introduction

Currently, GPS is providing accurate and reliable positioning/timing service for pedestrian application in open-field environments. Unfortunately, its positioning performance in urban areas still has a lot of potential to improve due to signal blockages and reflections caused by tall buildings. The signal reflections can be divided into multipath and non-line-of-sight (NLOS) effects. Conventionally, the multipath mitigation techniques can be divided into two categories: antenna design (Braasch 1996; McGraw et al. 2004) and receiver-based correlator design (Dierendonck et al. 1992; Garin et al. 1996). The conventional multipath techniques mentioned above offer little improvement on NLOS reception. Approaches to NLOS mitigation are therefore needed. With the aid of receiver dynamics provided by an inertial sensor, ultra-tightly coupled GPS/INS integration is proposed to mitigate the multipath and NLOS effects, especially for vehicular applications (Groves et al. 2007; Petovello et al. 2008; Soloviev et al. 2011; Soloviev and Van Graas 2009). Novel receiver-based techniques are also proposed to detect multipath and NLOS signals (Xie and Petovello 2012; Hsu et al. 2014). A dual-polarization antenna can be used to detect NLOS reception (Jiang and Groves 2012). Consistency checking can also be used to identify both NLOS and multipath-contaminated signals (Groves and Jiang 2013).

Recently, using a 3D building model as aiding information to mitigate or exclude the multipath and NLOS effects has become a popular topic of study. In the beginning, the 3D map model is used to simulate the multipath effect to assess the single reflection environment of a city (Bradbury et al. 2007). Lee et al. (2008) demonstrated a 3D graphic information system (GIS)-based satellite exclusion method to identify the satellite affected by simulated multipath effects in the Shinjuku area of Tokyo. The metric of NLOS signal exclusion using an elevation-enhanced map, extracted from a 3D map, is developed and tested using real vehicular data (Pinana-Diaz et al. 2011). The potential of using a dynamic 3D map to design a multipath exclusion filter for a vehicle-based tightly coupled GPS/INS integration system was studied in Obst et al. (2012). A forecast satellite visibility based on a 3D urban model to exclude NLOS signals in urban areas was developed in Peyraud et al. (2013). The above approaches aim to exclude the NLOS signal; however, the exclusion is very likely to cause HDOP distortion due to the blockage of buildings along the two sides of the streets. In other words, the lateral (cross direction) positioning error would be much larger than that of the along-track direction. Therefore, approaches applying multipath and NLOS signals as measurements become essential. One of the most common methods, the shadow matching method, uses 3D building models to predict the satellite visibility and to compare it with measured satellite visibility to improve the cross-street positioning accuracy (Groves et al. 2012; Wang et al. 2013). A multipath and NLOS delay estimation based on a software-defined radio (SDR) and a 3D surface model based on particle filter was proposed and tested in a static experiment (Suzuki and Kubo 2013). Another interesting positioning technique applying a 3D city model and ray-tracing to construct the NLOS signal has been proposed (Kumar and Petovello 2014).

Most of the studies listed above used high-grade GNSS receivers or software receivers and mostly focused on vehicular applications. However, the characteristics of pedestrian and vehicle situations differ. Generally speaking, the carrier phase measured by GPS receiver in pedestrian applications is very noisy and difficult to use. In addition, a commercial GNSS receiver with high sensitivity but low signal quality is usually used in pedestrian application. Based on this limitation, the research team of The University of Tokyo developed a particle filter-based positioning method using a 3D map to rectify the positioning result of commercial GPS single-frequency receiver for pedestrian applications (Miura et al. 2013). The evaluation of the QZSS L1-submeter-class augmentation with integrity function (L1-SAIF) correction to the proposed pedestrian positioning method is also discussed in Hsu et al. (2015). However, the satellite visibility in urban canyon using only GPS and QZSS is not sufficient for the proposed method. The use of the emerging multi-GNSS, such as GLONASS, Galileo and Beidou, could be a potential solution to lack of visible satellites. In addition, the target application of the proposed 3D map method is consumer-based pedestrian navigation. Most of these applications benefit from an integrated system of multiple sensors. The proposed method will serve as one sensor of such an integrated system. The calculation of the conventional GPS and proposed positioning method is different; hence, their calculations of the positioning accuracy are also different. We follow the same idea of conventional GPS rule of thumb, which is GPS accuracy = DOP × UERE (Kaplan et al. 2006). However, the calculation of user-equivalent range error (UERE) and dilution of precision (DOP) of the proposed method are revised based on the difference between the simulated and measured pseudorange and the distribution of valid particles, respectively.

The brief introduction of the construction of the 3D building model is given first. Details of the proposed rectified 3D map-based pedestrian positioning method are introduced next, followed by a description of the calculation of accuracy and reliability of the proposed method, and the experimental setup and results. Finally, the conclusions and future work are summarized.

3D building model construction

We establish a 3D building model from a 2D map that contains building location and height information of buildings from 3D point clouds data. The Fundamental Geospatial Data (FGD) of Japan, provided by the Japan Geospatial Information Authority, is available as 2D geographic information system (GIS) data. Thus, the layouts and positions of every building on the map could be obtained from the 2D GIS data, and the 3D digital surface model (DSM) data are provided by Aero Asahi Corporation. Figure 1 shows the process of constructing the 3D building model used. We first extract the coordinates of every corner of the buildings from the FGD as shown in the top of the figure. Afterward, the 2D map is integrated with the height data from the DSM. The bottom of Fig. 1 illustrates an example of a 3D building model constructed for this research.

Fig. 1
figure 1

Construction of the 3D building map from a 2D map and DSM

The developed 3D building map contains a very small amount of data for each building in comparison with that of the 3D graphic application. It only contains the frame data of each building instead of the detail polygon data. To evaluate this 3D map, an accurate 3D map was constructed by the A-TEC Limited. This reference 3D map provides a 3D building model with 10 and 15 cm horizontal and vertical accuracy, respectively. The comparison of the reference and our 3D building models is shown at the top and bottom of Fig. 2, respectively. The average 2D position difference is about 0.5 m. This result indicates that the accuracy of the developed 3D building model is capable of estimating the reflection path of GNSS signal.

Fig. 2
figure 2

Reference and developed 3D building models

This basic 3D building map is utilized in the ray-tracing algorithm. The ray-tracing used is described in Iskander and Zhengqing (2002). We do not consider diffractions or multiple reflections. Thus, we only utilize the direct path and a single reflected path. The developed ray-tracing simulation can be used to distinguish reflected rays and to estimate the reflection delay distance. We assume that the surfaces of buildings are reflective smooth planes, namely mirrors. Therefore, the rays in the simulation obey the laws of reflection. In the real world, the roughness and the absorption of the reflective surface might cause a mismatch between the ray-tracing simulation and the real path propagation. Details of the ray-tracing algorithm used can be found in Miura et al. (2013).

3D map-based pedestrian positioning method

The following sections describe each step of the proposed method. A more detail description of the proposed method can be found in Miura et al. (2013) and Hsu et al. (2015).

Distribution of position candidates

In order to initialize the position candidates, the required information from the receiver is the raw pseudorange measurement set \(\varvec{\rho}= \left[ {\rho_{1} , \rho_{2} , \ldots , \rho_{N} } \right]^{T}\) and the reference position y GPS calculated by the commercial receiver. The bold symbol denotes the vector form of the variable. The proposed method can give position estimates only if more than four (five) raw pseudoranges from GPS (GNSS) satellites are provided. The proposed method first distributes position candidates \(\varvec{P}^{(i)} = \left( {\varvec{x}^{(i)} ,\varvec{y}^{(i)} } \right)\), where i denotes the index of candidates. The particles (candidates) are distributed on the basis of a two-dimensional Gaussian distribution, randomly placed around the reference position. Particles should also be placed around the previous estimated position \(x(t -\Delta t)\) because of the continuity of pedestrian movement. During the resampling phase, half of the particles are generated according to a normal distribution \({\mathcal{N}}\left( {y_{\text{GPS}} (t),\Sigma_{0} } \right)\), while the others are generated according to a normal distribution \({\mathcal{N}}\left( {x(t -\Delta t) , \Sigma_{{\Delta t}} } \right)\). An example of the distribution of the candidates based on real data is shown in Fig. 3.

Fig. 3
figure 3

Example of position candidate distributions

Simulated pseudorange from a candidate

In order to evaluate the likelihood function of the candidates, the similarities between the measured pseudorange \(\varvec{\rho}\) and the pseudorange simulated from the position candidate are required. Assuming \(\varvec{P}^{\left( i \right)}\) as the ground reference position, a simulated pseudorange between candidate \(\varvec{P}^{\left( i \right)}\) and the n-th satellite \(\varvec{x}_{n}^{\text{sv}}\), \(\hat{\rho }_{n}^{(i)}\), can be calculated by the sum of the geometric distance \(\varvec{R}_{n}^{(i)} =\left\| \varvec{x}_{n}^{\text{sv}} - \varvec{P}^{(i)}\right\|\), the satellite clock offset equivalent distance cδt sv n , the receiver clock offset equivalent distance cδt r(i), the ionospheric delay I n , the tropospheric delay T n and the reflection delay distance ɛ refl(i) n :

$$\hat{\rho }_{n}^{(i)} = R_{n}^{(i)} + c\left( {\delta t^{r(i)} - \delta t_{n}^{\text{sv}} } \right) + I_{n} + T_{n} + \varepsilon_{n}^{{{\text{refl}}(i)}}$$
(1)

The satellite clock offset δt sv is corrected using the QZSS L1 SAIF fast and long-term corrections (Sakai et al. 2009). The ionospheric delay I is obtained from ionospheric grid point (IGP) delay model provided by the QZSS L1-SAIF signal (Sakai et al. 2009). The tropospheric delay T is calculated based on the MOPS model, detailed in WAAS MOPS (RCTA 2006). The receiver clock offset δt r(i) is estimated to minimize the difference between the simulated set and the measured set. The receiver clock offset defined is expressed as \(\delta t^{r(i)} = \delta t_{\text{GPS}}^{r(i)} + \delta_{{n \in {\text{GLONASS}}}} \delta t_{{{\text{GLONASS}} - {\text{GPS}}}}^{r(i)}\). The symbol \(\delta t_{\text{GPS}}^{r(i)}\) denotes the receiver clock error, \(\delta t_{{{\text{GLONASS}} - {\text{GPS}}}}^{r(i)}\) denotes GLONASS minus GPS time offset, and \(\delta_{{n \in {\text{GLONASS}}}}\) is 1 for GLONASS satellite and 0 otherwise.

A table of the rule of signal type classification is given in Table 1. The signal can be classified as LOS, multipath or NLOS. If the signal type agrees between ray-tracing and signal strength classification (Miura et al. 2013), then this satellite is used for this candidate. As a result, the reflection delay can be divided into the three categories as shown in Fig. 4. One should note that the multipath and NLOS have very different delays:

Table 1 Rule of signal classification for a candidate based on signal strength and ray-tracing
Fig. 4
figure 4

Example of signal case classification using the ray-tracing simulation

LOS Ideally, the LOS signal is not affected by the buildings. Thus, reflection delay distance, \(\varepsilon^{\text{refl}}\), is zero.

NLOS In case of NLOS, the calculation of reflection delay is straightforward, which is the signal reflection path minus the LOS path, namely \(\varepsilon_{n}^{{{\text{refl}}(i)}} = R_{n}^{{{\text{refl}}(i)}} - R_{n}^{(i)}\).

Multipath In comparison with the NLOS case, the multipath effect on pseudorange is more ambiguous due to the special discriminator design of the code correlator. The discriminator will greatly reduce the multipath effect because it reduces the pull-in region of the code delay (Groves 2013). However, it is not very beneficial for the proposed 3D map method. The commercial GPS receiver manufacturer does not reveal details of their correlator design. We conducted several static tests to study the multipath noise envelope of its discriminator. Figure 5 shows the noise envelope of a strobe correlator and the real data points from the tests. The real data points are generated by the GPS pseudorange measurements. The pseudorange error (y-axis) of the real data point is the pseudorange error between the pseudorange measurement and the simulated pseudorange. The multipath relative error (x-axis) of the data point is \(\varepsilon_{n}^{{{\text{refl}}(i)}}\). The blue line denotes the theoretical value, and the blue cross is the mean of the real data points. The shape of the strobe discriminator is optimized based on adjusting the chip spacing and relative signal strength. As a result, we assume the multipath effect is about 6 dB weaker than the LOS signal, and the commercial receiver uses a strobe correlator (Garin et al. 1996) with 0.2 chip spacing.

Fig. 5
figure 5

Assumed noise envelope function of the strobe correlator and the real data points

The multipath noise envelope function based on this assumption is depicted in Fig. 6. The multipath effect on GLONASS L1 C/A is two times stronger than that on GPS L1 C/A. The reason is because the chipping rate of GLONASS L1 C/A is only half that of the GPS L1 C/A. We use this assumed noise envelope (NE) function to calculate the multipath delay:

Fig. 6
figure 6

Assumed noise envelope function of the strobe correlator with 0.2 chip spacing for GPS and GLONASS L1 C/A signal. The simulated signal strength of the multipath is 6 dB weaker than that of LOS signal

$$\varepsilon_{n}^{{{\text{refl}}(i)}} = {\text{NE}}\left( {R_{n}^{{{\text{refl}}(i)}} - R_{n}^{(i)} } \right)$$
(2)

If the simulated pseudorange set is affected by signal reflections in the same way as the measured pseudorange set is, the simulated pseudorange set should be similar to the measured set. By comparing these two sets of pseudoranges, the similarities between the measured pseudorange set \(\varvec{\rho}\) and the simulated pseudorange set \(\hat{\varvec{\rho }}^{(i)}\) can be evaluated. The pseudorange difference (d (i)pr ) is defined as:

$$d_{\text{pr}}^{(i)} = \mathop {\hbox{min} }\limits_{{\delta t^{r(i)} }} \mathop \sum \limits_{n}^{{N^{\text{sim}} }} \frac{{\left| {\rho_{n} - \hat{\rho }_{n}^{(i)} \left( {\delta t^{r(i)} } \right)} \right|}}{{N^{\text{sim}} }}$$
(3)

where \(N^{\text{sim}}\) denotes the number of simulated pseudoranges.

Evaluation of the position candidates

The likelihood \(\alpha^{(i)} (t) (i = 1, \ldots ,N_{\text{p}} )\) for each candidate is determined by considering the pseudorange similarity. The likelihood function is calculated as:

$$\alpha^{(i)} (t) = \left\{ {\begin{array}{*{20}l} {\exp \left[ { - \frac{{d_{pr}^{(i)2} }}{{\sigma_{0}^{2} }}} \right]} \hfill & {\left( {{\text{if}}\;d_{\text{pr}}^{(i)} < C_{\text{pr}} } \right){-\!\!-}{\text{valid}}} \hfill \\ 0 \hfill & {({\text{otherwise}}){-\!\!-}{\text{invalid}} } \hfill \\ \end{array} } \right.$$
(4)

We assume that the distribution of the pseudorange similarity is a Gaussian function. The likelihood function is based on the similarity of the pseudorange sets. In order to exclude the anomalous candidate, this study defines a constant threshold, C pr, which is adjusted to 10 m in this study, and σ 0 is a constant value, which is used to stabilize the estimate and is determined empirically and set to 20 m.

Figure 7 demonstrates the valid candidates with their associated likelihood function based on real data. As shown in the figure, the invalid candidates (L pr ≥ C pr) are in black and valid candidates in color. Finally, the positioning result of the proposed method is calculated by:

Fig. 7
figure 7

Demonstration of the valid (colored) and invalid candidates (black) of the proposed method

$$x(t) = \frac{{\mathop \sum \nolimits_{i} \alpha^{(i)} (t) P^{(i)} (t)}}{{\mathop \sum \nolimits_{i} \alpha^{(i)} (t)}}$$
(5)

In summary, the estimated position is calculated as a weighted average of the position candidates as shown in Fig. 7.

Accuracy and reliability calculation of the proposed 3D map method

The positioning principle of the proposed method is very different from the conventional GPS positioning method, i.e., weighted least square (WLS). As a result, the calculation of the positioning accuracy of the 3D map method should be also different. We define two positioning performance measures for the 3D map method: URA3D map and positioning accuracy. The URA3D map is to indicate the level of positioning service, which is similar to the user range accuracy (URA) of conventional GPS (Parkinson 1996). The URA3D map is defined based on the percentage of the valid candidates from all candidates outside the building. A higher percentage of the valid candidate implies a higher confidence of the estimated position.

Figure 8 shows two typical cases of high and low confidence of positioning results. If the center of the candidate distribution is not far from the ground truth, the simulated pseudorange of the candidates located at the center of distribution is very similar to the measurement pseudorange, as shown on the left of Fig. 8. The weighting of a candidate is inverse-proportional to the distance between ground truth and the candidate. If the center of the valid candidate distribution is close to the ground truth, the percentage of the valid particle will be higher than the other cases. On the right of Fig. 8, only 4 candidates are valid in this case. This might be due to the fact that the measured pseudorange is affected by signal blockages or multiple reflected NLOS signals. In this case, the confidence of the proposed 3D map result is much lower than the other cases. Accordingly, we define the URA3D map as listed in Table 2.

Fig. 8
figure 8

Illustrations of the positioning candidates of the proposed 3D map method in the case the URA3D map equals 1 and 6

Table 2 Definition of URA (Parkinson 1996) and URA3D map

The general calculation of the horizontal positioning accuracy of the conventional GPS positioning is:

$$\sigma_{\text{GPS}}^{2} = \sigma_{\rho }^{2} \times {\text{HDOP}}$$
(6)

where the HDOP denotes the horizontal dilution of precision. The symbol σ ρ denotes the user equivalent range error (UERE) (Groves 2013). However, the proposed 3D map method cannot apply the same equation because its positioning result is not calculated using the LOS vector between satellite and receiver. As discussed above, the rectified positioning results are calculated from the expectation of all the valid candidates, which can also be expressed as:

$$\left[ {\begin{array}{*{20}c} x \\ y \\ \end{array} } \right]_{2 \times 1} = \left[ {\begin{array}{*{20}l} {x^{(1)} } \hfill & {y^{(1)} } \hfill \\ \vdots \hfill & \vdots \hfill \\ {x^{(N)} } \hfill & {y^{(N)} } \hfill \\ \end{array} } \right]_{N \times 2}^{T} \times \left[ {\begin{array}{*{20}l} {W^{(1)} } \hfill \\ \vdots \hfill \\ {W^{(N)} } \hfill \\ \end{array} } \right]_{N \times 1}$$
(7)

where W (i) = α (i)/ ∑  N α (N). According to (7), the 3D map method is to project the weighting space into the position space. The calculation of the horizontal positioning accuracy (σ 23D map ) of the 3D map method can be expressed as:

$$\sigma_{{3{\text{D}}\;{\text{map}}}}^{2} = \left( {\overline{{d_{\text{pr}}^{(i)} }} } \right)^{2} \times {\text{HDOP}}_{{3{\text{D}}\;{\text{map}}}} ,$$
(8)

where the overbar denotes averaging. The UERE of the 3D map method is estimated from the mean of pseudorange similarities of all candidates. In the ideal case, the smaller the pseudorange similarity, the closer the estimated position is to the ground truth. The calculation of the \({\text{HDOP}}_{{3{\text{D}}\;{\text{map}}}}\) is as follows:

$$H_{{3{\text{D}}\;{\text{map}}}} = \left[ {\begin{array}{*{20}l} {x^{(1)} } \hfill & {y^{(1)} } \hfill \\ \vdots \hfill & \vdots \hfill \\ {x^{(N)} } \hfill & {y^{(N)} } \hfill \\ \end{array} } \right]_{N \times 2}$$
(9)
$$\left( {H_{{3{\text{D}}\;{\text{map}}}}^{T} H_{{3{\text{D}}\;{\text{map}}}} } \right)^{ - 1} = \left[ {\begin{array}{*{20}c} {D_{x}^{2} } & {D_{xy}^{{}} } \\ {D_{xy}^{{}} } & {D_{y}^{2} } \\ \end{array} } \right]$$
(10)
$${\text{HDOP}}_{{3{\text{D}}\;{\text{map}}}} = \sqrt {D_{x}^{2} + D_{y}^{2} }$$
(11)

From (9) to (11), in general, the larger the number of valid candidate results, the lower the value of \({\text{HDOP}}_{{3{\text{D}}\;{\text{map}}}}\). To demonstrate the use of these equations to yield a variance matrix, an example of a basic sensor integration is given below. In a Kalman filter integration system between inertial navigation system (INS) and the proposed method, whose state vector is 2D position of the pedestrian (latitude and longitude), the system state propagation model and measurement are provided by the INS and the proposed method estimated position, respectively. The measurement noise covariance matrix of this integration system will be as:

$$\varvec{R} = \left[ {\begin{array}{*{20}l} {\left( {\overline{{d_{\text{pr}}^{(i)} }} } \right)^{2} D_{x} } \hfill & 0 \hfill \\ 0 \hfill & {\left( {\overline{{d_{\text{pr}}^{(i)} }} } \right)^{2} D_{y} } \hfill \\ \end{array} } \right]$$
(12)

The \(\left( {\overline{{d_{\text{pr}}^{(i)} }} } \right)^{2} D_{x}\) and \(\left( {\overline{{d_{\text{pr}}^{(i)} }} } \right)^{2} D_{y}\) are the positioning accuracy of the 3D map method in lateral and longitudinal direction, respectively.

Experiments and discussion

In order to demonstrate the improvement due to adding multi-GNSS measurements, we select one regular and one noisy pedestrian dynamic experimental dataset. Both datasets are easily collected in the urban canyon environments. In addition, the comparison between a conventional positioning method and the proposed method is also discussed. Finally, ten datasets are used to study the statistical positioning performance of the proposed method using measurements from the different combinations of the satellite constellations.

Experiment setup

We select the Hitotsubashi area in Tokyo to construct a 3D building model because of the density of tall buildings. Simulations of the average of the number of satellites that can be used in the proposed method are shown in Fig. 9. The simulation is based on the ray-tracing algorithm and 24-h ephemeris data of GPS, GLONASS and QZSS GNSS satellites. The definition of usable satellite for the proposed 3D map method is LOS or NLOS satellites, so that its reflection path can be estimated using the ray-tracing technique.

Fig. 9
figure 9

Average number of LOS satellites (top) and the usable satellites (bottom) for the proposed method at the Hitotsubashi area in a day

As shown in the top of Fig. 9, the area enclosed by the black dashed frame is selected as the test area. Only about 6.5 LOS GNSS satellites can be received in this area. In addition, it is a two-side street environment, which is a common situation in a highly developed city area. In contrast, on the bottom of Fig. 9, the number of usable satellites for the proposed method increases by about 2.5 compared to LOS-only satellite, in the selected area. Importantly, the additional satellites are usually located at the lateral (cross) direction of street, which is important for obtaining a healthy HDOP value. This is one of the major benefits of using the proposed method in urban canyon environments. The data were collected on October 10, November 5 and November 18, 2014. Two single point positioning methods are compared, one is single point positioning solutions provided by open source RTKLIB SPP software (Takasu and Yasuda 2009) and the other is the proposed 3D map method. Receiver autonomous integrity monitoring (RAIM) fault detection and exclusion (FDE) of the RTKLIB SPP is used as a conventional NLOS detection algorithm. We use a commercial grade receiver, the u-blox EVK-M8 GNSS model. A NovAtel receiver is only used to collect the QZSS L1-SAIF correction signal. The patch antenna is attached to the shoulder of a pedestrian, as illustrated in Fig. 10.

Fig. 10
figure 10

Illustration of the antenna attachment for the dynamic pedestrian experiments

A quasi-ground truth is generated using a topographic method. Video cameras are set up on the 18th floor of a building near the Hitotsubashi area to record the pedestrian path. The video data output is used in combination with one high-resolution aerial photo to obtain the ground truth data. The synchronization between video camera and commercial GNSS receiver is difficult to achieve. As a result, we use point to “points” positioning error to evaluate positioning performance as illustrated in Fig. 11. The synchronization error between the time of the camera and the receiver is assumed to be 1 s. Hence, for each estimated position x(t), the ground truth points used to calculate the positioning errors are x GT (t − 1), x GT (t) and x GT (t + 1). As shown in Fig. 11, the eighth estimated position can only search the seventh, eighth and ninth ground truth points. The point to “points” positioning error is calculated as:

Fig. 11
figure 11

Illustration of the point to “points” positioning error computation method

$$\varepsilon_{p2ps} (t) = \mathop {\hbox{min} }\limits_{t - 1 \le s \le t + 1} \left| {x(t) - x_{GT} (s)} \right|$$
(13)

There are three performance metrics used: mean, standard deviation of the point to points error and the availability of positioning solution. Availability means the percentage of solutions in a fix period. For example, if a method outputs 80 epochs in a 100 s period, the availability of the method is 80 %.

We report two dynamic data experiments. The skyplot of the data is shown in Fig. 12.

Fig. 12
figure 12

Skyplot of the regular (left) and noisy (right) data of the dynamic experiments in the Hitotsubashi area in Tokyo

Regular data

Figure 13 shows the trajectory estimated by the proposed method for different satellite constellations, and Fig. 14 shows the calculated 95 % accuracy (2 × σ 3D map) and positioning error of the 3D map method with respect to epoch number. The different colors in Figs. 13 and 14 indicate different values of URA3D map at each point. This trajectory is divided into five sections for the purpose of better discussion, as shown in the right of Fig. 13. To observe the GPS-only case (left of Fig. 13), the result of A and B sections has more points than that of sections D and E. The reason is because more than half of the GPS satellites will be blocked at the D and E sections, as shown in the left of Fig. 12. As shown in the top row of Fig. 14, the calculated accuracy value of the 3D map method using GPS-only indicates that the result is not reliable for sections C, D and E. The trajectory after using GLONASS is shown in the middle of Figs. 13 and 14. It is obvious that the positioning results on the right side of the street are improved. This improvement is due to the increased number of satellites in view. However, the quality of the GLONASS signal is not as good as that of GPS because the multipath disturbance has double the effect on GLONASS, as shown in Fig. 6. This strong GLONASS multipath effects will deteriorate the positioning results in the case of receiving sufficient GPS satellites (6–7 LOS satellites in view), which is the road intersection in this test bed. To observe the middle of Fig. 14, the performance of positioning accuracy GPS + GLONASS in section C becomes worse than when using GPS-only. In summary, the positioning error of adding GLONASS measurements remains at a similar level, and availability increases about 12 % compared to the GPS-only case. The right of Fig. 13 shows the result after adding QZSS L1 C/A and L1-SAIF. Comparing the left and middle of Fig. 13, the results of the C, D and E sections are improved. This is because the QZSS provides a high elevation satellite to the 3D map method. As a result, the number of valid candidates of the points in the C, D and E section increases significantly. This improvement can also be seen in the bottom of Fig. 14. The reliability in the C, D and E sections is much higher than that of GPS + GLONASS. In addition, the trajectory becomes smoother. A comparison of the positioning result of both RTKLIB SPP and the proposed 3D map method using GPS-only, GPS + GLONASS and GPS + QZSS + GLONASS is given in Table 3. As can be seen, the positioning performance of the 3D map method using the combination of GPS, GLONASS and QZSS measurements has the best performance among the three cases. The positioning mean error and availability are 3.89 m and 96.72 %, respectively. It is interesting to note that the positioning mean error could be further improved to 3.23 m if selecting the position point with URA3D map ≤ 3 (yellow, orange and red points in Fig. 13). Although this selection will result in a loss of about 17 % of availability, it could be easily compensated for by a simple filtering technique.

Fig. 13
figure 13

Positioning results of the proposed 3D map method using different combinations of GNSS constellations

Fig. 14
figure 14

Positioning error and calculated 95 % accuracy of the proposed 3D map method using different combination of GNSS constellations. The purple line denotes the 95 % accuracy of the 3D map method

Table 3 Performance comparison of RTKLIB SPP and the proposed 3D map method using different combinations of GNSS constellation in the regular dataset

The comparison of the proposed 3D map method with RTKLIB SPP is shown in Fig. 15. It is obvious that the proposed method can estimate the walking path much clearer than that of RTKLIB SPP. As can be seen in the bottom row of Table 3, the mean error and standard deviation of the proposed method are much lower than that of RTKLIB SPP solutions. The improvement from the proposed method is due to the increased number of usable satellites. Figure 16 shows the number of satellites in the regular data. Note the number of LOS satellites is determined by the ray-tracing simulation according to the ground truth trajectory. Comparing Figs. 15 and 16, the positioning results of RTKLIB SPP for section B have accurate performance because the number of LOS satellites is between 7 and 10. Hence, the conventional positioning method has good performance if the number of LOS satellites is high enough. In sections A and E, referring the sidewalks that have a building in both sides of the street, the average number of LOS satellites is only about 5. The lack of LOS satellites is the main reason the conventional positioning method could not estimate accurate positioning result. Compared to the conventional positioning method in sections A and E, the proposed method can correct about 2 NLOS satellites and use them in the solutions. The increase of two satellites enables the proposed method to have satisfactory positioning performance for the section A and E. In summary, the mean error of the RTKLIB SPP and the proposed method is 19.41 and 3.89 m, respectively, for this regular dataset.

Fig. 15
figure 15

Positioning results estimated by the RTKLIB SPP and the proposed 3D map method for the regular dataset

Fig. 16
figure 16

Number of LOS satellites, number of usable satellites in the proposed 3D map method and total number of satellites tracked by the u-blox M8 in the regular dataset

Noisy data

The results of the proposed 3D map method using the noisy data are plotted in Figs. 17 and 18, and Table 4. The skyplot of this noisy data is shown in the right of Fig. 12. The 3D map method is analyzed first. In this noisy data, using GPS alone can only obtain result for 48 % availability. As shown on the left of Fig. 17, there are only a few points located on the right side of street. The positioning confidence of these points is very low. The mean positioning error using GPS-only is about 10 m. Although the mean error of the selected results (URA3D map ≤ 3) is only 3 m, the availability is only about 17 %. After adding GLONASS satellites, the availability increases dramatically. As shown in the skyplot, the geometric distribution of GPS and GLONASS is complementary. Thus, the positioning performance is improved when using GLONASS measurements. This performance improvement can also be observed from the calculated positioning accuracy in the middle of Fig. 18. Compared to the results from GPS-only, the positioning performance of adding GLONASS measurements is much higher in all sections. In this noisy data, the received GPS satellites are insufficient (less than 6 LOS satellites) in all of the sections. Even though GLONASS has higher multipath effect, it is still better to add GLONASS measurements in the proposed method. In this case, the positioning mean error and availability are enhanced to 6.41 m and 93.96 %, respectively. Finally, the performance upon adding QZSS measurements is, again, improved. The improvement is not as dramatic as adding GLONASS measurements to this noisy data. The reason is because the R04 in the skyplot is a very high elevation satellite. In this case, the benefit of using high elevation QZSS is not so evident. As shown in Fig. 18, the performance before and after adding QZSS is very similar. Finally, the mean positioning error and availability of the proposed 3D map method are enhanced to 6.08 m and 98.49 %, respectively. Again, the mean positioning error could be reduced to 4.64 m if discarding the points where URA3D map is greater than 3.

Fig. 17
figure 17

Positioning results of the proposed 3D map method using different combinations of GNSS constellations in the noisy data case

Fig. 18
figure 18

Positioning error and calculated 95 % accuracy of the proposed 3D map method using different combinations of GNSS constellations in the noisy data case. The purple line denotes the 95 % accuracy of the proposed method

Table 4 Performance comparison of RTKLIB SPP and the proposed 3D map method using different combinations of GNSS constellation in the noisy dataset

To compare RTKLIB SPP with the proposed method, the positioning results of using GPS + GLONASS + QZSS, which is the bottom row of Table 4, are shown in Fig. 19. Figure 20 shows the number of satellites in these noisy data. For most of the time, the number of LOS satellites (i.e., healthy signals) is 4 or 5, which is not enough to calculate an accurate result using multi-GNSS least-squares estimation. The NLOS effect in sections A, B, C and D is serious. The average number of NLOS satellites received in those sections is about 3.5, which can be regarded as severe NLOS disturbance. Again, compared to RTKLIB SPP, the performance of the proposed method is much better. The mean error of the proposed method before and after selecting higher confidence points (URA3D map ≤ 3) is 6.08 and 4.64 m, respectively.

Fig. 19
figure 19

Positioning results estimated by RTKLIB SPP and the proposed 3D map method in the noisy dataset

Fig. 20
figure 20

Number of LOS satellites, the number of satellites used in the proposed 3D map method and the total number of satellites tracked by u-blox M8 in the noisy dataset

Multiple data test

In order to understand the performance of the proposed method for practical usage, 10 dynamic tests for the same walking course on three different days were conducted using GPS-only, GPS + GLONASS and GPS + GLONASS + QZSS measurements, as listed in Table 5. In summary, with the help of GLONASS and QZSS measurement, both the conventional and the proposed positioning method are improved in terms of positioning accuracy and availability. The mean error of RTKLIB SPP, the proposed 3D map method and selected points of the proposed 3D map method is 20.48, 4.42 and 3.78 m, respectively. Although the availability of the selected points of the proposed 3D map method is about only 70 %, it is enough if a filtering or smoothing technique is applied. One should note that the availability of the selected point of the proposed method is only 50 % in the case of GPS-only. Therefore, the increase in number of GNSS satellites is very helpful to the proposed method.

Table 5 Performance of RTKLIB SPP and the proposed 3D method using multiple dataset

For practical usage, it is important to understand the performance measured for the positioning method. The cumulative distribution function (CDF) of the positioning error of all cases is plotted in Fig. 21. The points are sorted based on the horizontal error. We defined that the points ranked inside 68 % (1σ) are regular cases. On the contrary, the points ranked outside 1σ have larger positioning error, which are defined as noisy cases. For the conventional positioning method, the performance of RTKLIB SPP using GPS-only is better than that of GPS + GLONASS because the multipath noise on GLONASS is higher than that on GPS measurements. In the noisy cases, the performance of GPS + GLONASS is better than GPS-only. Finally, the 1σ positioning error of RTKLIB SPP using multi-GNSS is about 17.7 m. As shown in the figure, the performance of the proposed method using GPS-only, GPS + GLONASS and GPS + GLONASS + QZSS measurement is very similar at 50 % of the time. It is understandable that the 3D map method using GPS-only can obtain good performance only in the case of sufficient tracked satellites. For the noisy cases, the improvement from multi-GNSS can be easily observed. At 86 %, the positioning errors of the proposed method using GPS-only, GPS + GLONASS and GPS + GLONASS + QZSS measurements are about 10.2, 8.1 and 7.5 m, respectively. Therefore, the use of multi-GNSS can improve the 3D map method when there is significant blockage. In summary, the 1σ positioning errors of the proposed 3D map method using multi-GNSS are 5.1 and 4.4 m, before and after discarding the less reliable positioning results, respectively.

Fig. 21
figure 21

CDF of the horizontal positioning error of RTKLIB SPP and the proposed 3D method using different GNSS constellations

Conclusions

We described a GNSS 3D map rectified positioning method using a low-cost commercial GNSS receiver for pedestrian applications. The calculation of the positioning accuracy and reliability of the proposed positioning method are also developed for the purpose of possible sensor fusion in the future. The proposed 3D map corrects the NLOS delay and uses the NLOS as an additional measurement in the positioning process. As shown by the experimental results, the proposed method outperforms the conventional positioning method in terms of both availability and positioning error. The use of GLONASS and QZSS can improve the proposed map method in the case of an insufficient number of tracked satellites. Finally, the 1σ positioning errors of the proposed 3D map method using multi-GNSS are 5.1 and 4.4 m, before and after discarding the less reliable positioning results, respectively.

Currently, the proposed 3D map method only considers a single reflection delay. A realistic approach to dealing with abnormal measurements is to exclude them using consistency check. The future work includes a sophisticated RAIM FDE technique for each positioning candidate in the particle filter to exclude abnormal signal measurements.