Keywords

1 Introduction

In urban canyon environments, GNSS signals are highly possibly reflected by surrounding buildings or objects and incident into receivers. These reflected signals are known as GNSS multipath. Multipath signals can cause the deterioration of receiver positioning accuracy. The position errors caused by multipath may reach hundreds of meters in some severe urban scenarios. Usually, multipath signals are taken as interferences to receivers and need to be eliminated or suppressed as much as possible. In the past decades, researchers have proposed different algorithms to mitigate the effects of multipath signals, including baseband signal multipath processing, multipath error suppression in position computation, multipath prediction with three dimensional (3D) city maps, etc. [1,2,3,4].

Since the GNSS multipath signal is generated by the reflection or scattering mechanism on the surface of a reflection object, it contains the information about the position and velocity of the reflection object. Thus, it provides a means for a receiver to sense the state of the reflection object and even the surrounding environment. The idea of utilizing multipath signals was firstly proposed in wireless indoor positioning research, in there the incident angle and delay of a broadband wireless multipath signal are measured by a receiver with an antenna array. A double layer particle filter named as Rao-Blackwellized filter was designed to estimate the positions of the virtual signal emission sources, and then the receiver own position accuracy was augmented with the assistance of these estimated information [5,6,7].

However, the research about utilizing GNSS multipath in urban environments for position accuracy augmentation or environment perception has not been seen in publications. The challenges of using GNSS multipath signal are manifold: First, the weak power of GNSS multipath makes not easy the accurate estimation for multipath delay, carrier phase and Doppler frequency. Second, different from the static wireless signal emission sources in [5,6,7], GNSS satellites are fast moving, and so are the positions of the virtual multipath emission satellite. This inevitably increases the estimation difficulty for the virtual emission sources. Third, there are not only regular buildings in urban environments, but also lots of irregular objecting such as trees, traffic signs, pedestrians, vehicles, etc. Those irregular objects can produce a large amount of short lifetime and time-variant scattering multipath, which are difficult to make use of.

In this paper, an algorithm is proposed that can localize the GNSS reflection objects by only using multipath signals. First, assuming that the positions and velocities of GNSS satellites, the receiver, and the reflection object are known, a signal reflection propagation model is able to be established and the formulas for the multipath signal parameters like delay and Doppler fading frequency can be derived as well. Then, a multipath parameter estimation method is proposed to extract and estimate multipath parameters from the received signals. Last, based on the constructed propagation model and the estimated multipath parameters, a particle filter is designed to properly estimate the localization and orientation of the reflection object. The experiment results show that the estimation root mean squared errors for the azimuth, elevation, and distance of the reflection object with respect to the receiver are less than 10\(^\circ \), 5\(^\circ \), and 10 m, respectively. The method proposed in this paper enables a GNSS receiver to sense the surrounding objects to a certain extent and even augment the positioning performance.

2 Multipath Signal Observation Model in Urban Scenario

2.1 Multipath Signal Geometric Propagation Model

In urban environments, specular reflection and scattering reflection are the two most common multipath generation types. Specular reflection multipath usually occurs on the surface of a building and its propagation obeys the principle of specular reflection model. Scattering multipath is usually generated by reflection on pedestrians, vehicles, traffic signs, and other irregular objects in the city. Its propagation principle can be modeled by a point scattering source. Figure 1 shows the propagation paths of these two types of multipath signal. In this model, the local east-north-up (ENU) coordinate system is adopted and O represents the origin of the local coordinate system. \(\mathbf{s}={\left[{s}_{e},{s}_{n},{s}_{u}\right]}^{\mathrm{T}}\) represents the real position of the satellite, \(\mathbf{u}={\left[{u}_{e},{u}_{n},{u}_{u}\right]}^{\mathrm{T}}\) represents the position of the receiver, \({{\varvec{v}}}_{s}={\left[{v}_{s}^{e},{v}_{s}^{n},{v}_{s}^{u}\right]}^{\mathrm{T}}\) and \({{\varvec{v}}}_{r}={\left[{v}_{r}^{e},{v}_{r}^{n},{v}_{r}^{u}\right]}^{\mathrm{T}}\), respectively, represent the velocities of the satellite and the receiver.

However, in a GNSS receiver, the satellite and receiver positions are normally computed in the earth-centered-earth-fixed (ECEF) coordinate system. If the ECEF coordinates of the origin O of the local ENU coordinate system is known, the satellite position \({\varvec{s}}\) and the receiver position \(\mathbf{u}\) can be converted between the ECEF system and the ENU system without any difficulties. The conversion method can be found in many literatures like [8, 9].

Assuming there is a reflection plan A and a smaller reflection object B around the receiver, and the corresponding reflection multipath \({l}_{m}\) and the scattering multipath \({l}_{b}\) are generated by the plan A and the object B. The purpose of this research is to estimate the position of A or B by proper processing the multipath signals. According to previous research findings [10, 11], the reflection multipath is generally produced by the large glass walls of the buildings in urban. The signal power of this type of multipath is strong and stable, thus making it easy to be detected and estimated. However, the power of the scattered multipath is weak and unstable, making the estimation for the multipath parameters unreliable. Therefore, we mainly focuses on the detection of the reflection multipath and the estimation of the reflection plane in this research.

Assume that the vertical distance from the origin O to the reflection plane A is \({d}_{a}\), and the azimuth and elevation of A are denoted as \({\alpha }_{a}\) and \({\theta }_{a}\) respectively. Then, the position of the reflection plane can be uniquely determined by the vector \({{\varvec{x}}=\left[{d}_{a},{\alpha }_{a},{\theta }_{a}\right]}^{\mathrm{T}}\). If we use \({{\varvec{n}}}_{a}\) to denote the unit normal vector of the reflecting surface, it can be computed as:

$${{\varvec{n}}}_{a}={\left[\mathrm{cos}{\theta }_{a}\mathrm{sin}{\alpha }_{a}, \, \mathrm{cos}{\theta }_{a}\mathrm{cos}{\alpha }_{a}, \, \mathrm{sin}{\theta }_{a} \right]}^{\mathrm{T}}$$
(1)

Given the satellite position \({\varvec{s}}\) and velocity \({{\varvec{v}}}_{s}\), the satellite mirror image position \({\mathbf{s}}_{m}\) and velocity \({{\varvec{v}}}_{m}\) relative to the reflection plane A can be computed by the following equation [12]:

$${\mathbf{s}}_{m}=-2{d}_{a}{{\varvec{n}}}_{a}-\left({{\varvec{I}}}_{3}+({{\varvec{n}}}_{a}\times )({{\varvec{n}}}_{a}\times )\right)\mathbf{s}$$
(2)
$${{\varvec{v}}}_{m}=-\left({{\varvec{I}}}_{3}+({{\varvec{n}}}_{a}\times )({{\varvec{n}}}_{a}\times )\right){{\varvec{v}}}_{s}$$
(3)

where \({{\varvec{I}}}_{3}\) is a 3x3 unit matrix, \(({{\varvec{n}}}_{a}\times )\) is the antisymmetric matrix of the normal vector \({{\varvec{n}}}_{a}\), whose expression is:

$$\left({{\varvec{n}}}_{a}\times \right)=\left[\begin{array}{ccc}0& -\mathrm{sin}{\theta }_{a}& \mathrm{cos}{\theta }_{a}\mathrm{cos}{\alpha }_{a}\\ \mathrm{sin}{\theta }_{a}& 0& -\mathrm{cos}{\theta }_{a}\mathrm{sin}{\alpha }_{a}\\ -\mathrm{cos}{\theta }_{a}\mathrm{cos}{\alpha }_{a}& \mathrm{cos}{\theta }_{a}\mathrm{sin}{\alpha }_{a}& 0\end{array}\right]$$
(4)

In a receiver, the code phase delay \(\tau \) (in unit of meter) and the Doppler fading frequency \({f}_{d}^{\delta }\) (in unit of Hz) of the multipath signal with respect to the LOS signal can be estimated. Hence, we need further to develop the relationship between the delay \(\tau \) and the fading frequency \({f}_{d}^{\delta }\) with the positions and velocities of the satellite and the receiver.

$$\tau =\left|{\mathbf{s}}_{m}-\mathbf{u}\right|-|\mathbf{s}-\mathbf{u}|$$
(5)
$${f}_{d}^{\delta }=\frac{-1}{\lambda }\left[\left({{\varvec{v}}}_{m}-{{\varvec{v}}}_{r}\right)\bullet \frac{{\mathbf{s}}_{m}-\mathbf{u}}{\left|{\mathbf{s}}_{m}-\mathbf{u}\right|}-\left({{\varvec{v}}}_{s}-{{\varvec{v}}}_{r}\right)\bullet \frac{\mathbf{s}-\mathbf{u}}{\left|\mathbf{s}-\mathbf{u}\right|}\right]$$
(6)

where | | is the vector modular operation, ∙ is the vector dot product operation, and \(\lambda \) is the carrier wavelength. Since \(\mathbf{s}\), \({{\varvec{v}}}_{s}\), \(\mathbf{u}\) and \({{\varvec{v}}}_{r}\) are all known, Eqs. (5) and (6) actually establish the relationship between the receiver observation parameters \(\tau \) and \({f}_{d}^{\delta }\) and the unknown reflection plane position vector \({\varvec{x}}\).

Fig. 1.
figure 1

Multipath signal geometric propagation model

Fig. 2.
figure 2

Algorithm workflow for the estimation of multipath delay and Doppler fading frequency.

2.2 Estimation Method for the Multipath Delay and Doppler Fading Frequency

In the urban canyon, a receiver often receives not only the satellite LOS signal but also a few delayed replica multipath signals at the same time. The overall incident signal expression can be written as:

$$s\left(t\right)={\sum }_{l=0}^{L-1}{\alpha }_{l}\left(t\right)c\left(t-{\tau }_{l}\left(t\right)\right)\mathrm{cos}\left(2\pi \left({f}_{0}+{f}_{l}^{D}\left(t\right)\right)t\right)+n\left(t\right)$$
(7)

where \({\alpha }_{l}\left(t\right)\) denotes the signal amplitude, \(c\left(t\right)\) is the pseudo-random code sequence of the satellite signal, \({\tau }_{l}\left(t\right)\) is the multipath delay, \({f}_{0}\) is the nominal carrier frequency, and \({f}_{l}^{D}\left(t\right)\) is the Doppler frequency. The subscript \(l\) represents the \(l\)-th multipath signal and \(l=0\) denotes the component of the LOS signal. \(n\left(t\right)\) is the noise signal. Multipath Doppler fading frequency is defined as \({f}_{d,l}^{\delta }={f}_{l}^{D}\left(t\right)-{f}_{0}^{D}\left(t\right)\). The receiver is assumed to be in a dynamic environment, so all the multipath signal parameters are time-varying functions of time \(t\).

According to Eq. (7), we need to estimate the multipath parameters \({\tau }_{l}\left(t\right)\) and \({f}_{d,l}^{\delta }\) from \(s\left(t\right)\). Wireless signal channel parameter estimation algorithms, such as SAGE[13], MEDLL[14], CADLL[15], etc., can be used for multipath signal parameter estimation. However, these methods can only estimate the amplitude \({\alpha }_{l}\left(t\right)\), delay \({\tau }_{l}\left(t\right)\) and carrier phase of the multipath signal, but cannot estimate the Doppler fading frequency \({f}_{d,l}^{\delta }\). Furthermore, these methods are designed to estimate the channel parameters at a single snapshot, but cannot track the variations of these multipath parameters in a continuous way.

According to [11, 16], a Kalman filter can be designed to estimate and track the multipath parameters accurately. We define a multipath state vector that needs to be estimated in the receiver: \({\boldsymbol{\vartheta }}^{l}={\left[\tau ,\dot{\tau },{\alpha }^{I},{\dot{\alpha }}^{I},{\alpha }^{Q},{\dot{\alpha }}^{Q},\varphi ,{f}_{d}^{\delta }\right]}^{\mathrm{T}}\), where \(\dot{\tau }\) is the change rate of the delay \(\tau \), \({\alpha }^{I}\) and \({\alpha }^{Q}\) are the amplitude values of the I and Q branches in the baseband tracking loop, \({\dot{\alpha }}^{I}\) and \({\dot{\alpha }}^{Q}\) are the change rate of the amplitudes, \(\varphi \) is the carrier phase difference between the multipath and the LOS, \({f}_{d}^{\delta }\) can be considered as the derivative of \(\varphi \). Next, the following state update equation can established:

$${{\boldsymbol{\vartheta }}^{l}}_{k}={\varvec{\Phi}}{{\boldsymbol{\vartheta }}^{l}}_{k-1}+{{\varvec{w}}}_{k}$$
(8)

where \({{\boldsymbol{\vartheta }}^{l}}_{k}\) is the state vector at the time moment k, \({{\boldsymbol{\vartheta }}^{l}}_{k-1}\) is the state vector at the previous time moment, \({{\varvec{w}}}_{k}\) is the system noise, \({\varvec{\Phi}}\) is the state transition matrix:

$${\varvec{\Phi}}=\left[\begin{array}{cc}\begin{array}{cc}{{\varvec{A}}}_{2{\text{x}}2}& {0}_{2{\text{x}}2}\\ {0}_{2{\text{x}}2}& {{\varvec{A}}}_{2{\text{x}}2}\end{array}& \begin{array}{cc}{0}_{2{\text{x}}2}& {0}_{2{\text{x}}2}\\ {0}_{2{\text{x}}2}& {0}_{2{\text{x}}2}\end{array}\\ \begin{array}{cc}{0}_{2{\text{x}}2}& {0}_{2{\text{x}}2}\\ {0}_{2{\text{x}}2}& {0}_{2{\text{x}}2}\end{array}& \begin{array}{cc}{{\varvec{A}}}_{2{\text{x}}2}& {0}_{2{\text{x}}2}\\ {0}_{2{\text{x}}2}& {{\varvec{A}}}_{2{\text{x}}2}\end{array}\end{array}\right]$$
(9)

where \({{\varvec{A}}}_{2{\text{x}}2}=\left[\begin{array}{cc}1& T\\ 0& 1\end{array}\right]\) and \(T\) is the update period.

The observation equation of the Kalman filter is:

(10)

In Eq. (10), \({{{\varvec{y}}}^{l}}_{k}\) is the observation vector at time moment k, \({\stackrel{\sim }{\tau }}_{k}\), \({{\stackrel{\sim }{\alpha }}^{I}}_{k}\), \({{\stackrel{\sim }{\alpha }}^{Q}}_{k}\) and \({\stackrel{\sim }{\varphi }}_{k}\), respectively, represent the estimation of multipath delay, amplitudes of the I and Q branches, and the multipath carrier phase based on the channel parameter estimation algorithm (SAGE /MEDLL/CADLL). In this research, the CADLL algorithm is used to estimate the channel parameters. \({\varvec{H}}\) represents the observation matrix, \({{\varvec{B}}}_{1{\text{x}}2}=\left[\begin{array}{cc}1& 0\end{array}\right]\). \({{\varvec{r}}}_{4{\text{x}}1}\) is the observation noise matrix.

Figure 2 shows the algorithm workflow that simultaneously estimates and tracks multipath delay and Doppler fading frequency based on the channel parameter estimation method and Kalman filter designed according to Eqs. (8), (9), and (10). The number \(L\) of the multipaths can be determined by minimum description distance of information algorithm presented in [17].

3 Reflection Plane Localization Based on Particle Filter

According to the description of the multipath propagation and measurement models in last Section, we want to localize the reflection plane A according to the measurements \(\tau \) and \({f}_{d}^{\delta }\). By observing Eq. (1) to (6), it is found that the reflection plane position has a strong nonlinear relationship with the multipath parameters, so we will adopt particle filtering algorithm to achieve this task.

Particle filtering uses the Bayesian principle and implements the estimation of the unknown state through two steps: prediction and update [18]. First, we define the position vector of the reflection plane at time \({t}_{k}\) as \({\varvec{x}}\left({t}_{k}\right)\), and assume that the state parameter follows the first-order Markov progressive model:

$$\mathbf{p}\left({\varvec{x}}\left({{\varvec{t}}}_{{\varvec{k}}}\right)|{\varvec{x}}\left({{\varvec{t}}}_{{\varvec{k}}-1}\right)\right)={\varvec{\delta}}\left({\varvec{x}}\left({{\varvec{t}}}_{{\varvec{k}}}\right)-{\varvec{x}}\left({{\varvec{t}}}_{{\varvec{k}}-1}\right)\right)$$
(11)

Since the reflection plane is usually the surface of a building on the sides of a street, it can be considered as static. Therefore in (11), we use the \(\delta (\bullet )\) function to characterize this feature.

Let define the measurement vector at time \({t}_{k}\) as \({\varvec{z}}\left({t}_{k}\right)={\left[\widehat{\tau }\left({t}_{k}\right),{\widehat{f}}_{d}^{\delta }\left({t}_{k}\right)\right]}^{\mathrm{T}}\). Because the estimated delay \(\widehat{\tau }\left({t}_{k}\right)\) comes from the correlation function of the pseudo-random code sequence \(c\left(t\right)\) and the estimated Doppler fading frequency \({\widehat{f}}_{d}^{\delta }\left({t}_{k}\right)\) is the result of the estimation for the carrier Doppler frequency, it can be approximately considered that the two measured quantities are independent of each other and the estimation errors approximately have the Gaussian distribution. Therefore, the prior probability density of \({\varvec{z}}\left({t}_{k}\right)\) is:

$$\mathbf{p}\left({\varvec{z}}\left({{\varvec{t}}}_{{\varvec{k}}}\right)|{\varvec{x}}\left({{\varvec{t}}}_{{\varvec{k}}}\right)\right)=\frac{1}{2{\varvec{\pi}}{{\varvec{\sigma}}}_{{\varvec{\tau}}}{{\varvec{\sigma}}}_{{\varvec{f}}}}{{\varvec{e}}}^{-\frac{{\left(\widehat{{\varvec{\tau}}}\left({{\varvec{t}}}_{{\varvec{k}}}\right)-{\varvec{\tau}}\left({{\varvec{t}}}_{{\varvec{k}}}|{\varvec{x}}\left({{\varvec{t}}}_{{\varvec{k}}}\right)\right)\right)}^{2}}{2{{{\varvec{\sigma}}}_{{\varvec{\tau}}}}^{2}}-\frac{{\left({\widehat{{\varvec{f}}}}_{{\varvec{d}}}^{{\varvec{\delta}}}\left({{\varvec{t}}}_{{\varvec{k}}}\right)-{{\varvec{f}}}_{{\varvec{d}}}^{{\varvec{\delta}}}\left({{\varvec{t}}}_{{\varvec{k}}}|{\varvec{x}}\left({{\varvec{t}}}_{{\varvec{k}}}\right)\right)\right)}^{2}}{2{{{\varvec{\sigma}}}_{{\varvec{f}}}}^{2}}}$$
(12)

where \(\tau \left({t}_{k}|{\varvec{x}}\left({t}_{k}\right)\right)\) and \({f}_{d}^{\delta }\left({t}_{k}|{\varvec{x}}\left({t}_{k}\right)\right)\) are the predicted delay and Doppler fading frequency computed by formulas (5) and (6), \({\sigma }_{\tau }\) and \({\sigma }_{f}\) are the measurement noise standard deviations of multipath delay and fading frequency, respectively.

Let set the number of particles in the particle filter to \({N}_{s}\). According to the principle of particle sampling, the posterior probability density of the reflection surface position vector \({\varvec{x}}\left({t}_{k}\right)\) can be expressed as:

$$\mathbf{p}\left({\varvec{x}}\left({{\varvec{t}}}_{{\varvec{k}}}\right)|{\varvec{z}}\left({{\varvec{t}}}_{{\varvec{k}}}\right)\right)\approx {\sum }_{{\varvec{j}}=1}^{{{\varvec{N}}}_{{\varvec{s}}}}{{\varvec{\omega}}}^{\left({\varvec{j}}\right)}({{\varvec{t}}}_{{\varvec{k}}}){\varvec{\delta}}\left({\varvec{x}}\left({{\varvec{t}}}_{{\varvec{k}}}\right)-{{\varvec{x}}}^{({\varvec{j}})}\left({{\varvec{t}}}_{{\varvec{k}}}\right)\right)$$
(13)

where \({\omega }^{\left(j\right)}({t}_{k})\) represents the weight of the j-th particle at time \({t}_{k}\), and the update equation is:

$${{\varvec{\omega}}}^{\left({\varvec{j}}\right)}\left({{\varvec{t}}}_{{\varvec{k}}}\right)={{\varvec{\omega}}}^{\left({\varvec{j}}\right)}({{\varvec{t}}}_{{\varvec{k}}-1})\mathbf{p}\left({\varvec{z}}\left({{\varvec{t}}}_{{\varvec{k}}}\right)|{\varvec{x}}\left({{\varvec{t}}}_{{\varvec{k}}-1}\right)\right)$$
(14)

In order to prevent particle degradation, the particle weight normalization operation is required before each state update, and the particles need to be resampled after the state update. The normalization operation for the particle weights is as follows:

$${\omega }^{\left(j\right)}\left({t}_{k}\right)={\omega }^{\left(j\right)}\left({t}_{k}\right)/{\sum }_{j=1}^{{N}_{s}}{\omega }^{\left(j\right)}\left({t}_{k}\right)$$
(15)

The particle resampling operation can be carried out according to the method given in [18].

All the particles need to be assigned initial values at time 0. The initialization rule is as follows: First, assume that the distance parameter \({d}_{a}\) is initially uniformly partitioned at \({M}_{{d}_{a}}\) grid points in the range of \(\left[10m, \, 2\widehat{\tau }\left({t}_{0}\right)\right]\), where \(\widehat{\tau }\left({t}_{0}\right)\) is the first-time estimate of the multipath delay provided by CADLL method. The azimuth parameter \({\alpha }_{a}\) is initially uniformly partitioned at \({M}_{{\alpha }_{a}}\) grid points in the range of \(\left[{\alpha }_{\mathrm{sat}}-{90}^{^\circ }, \, {\alpha }_{\mathrm{sat}}+{90}^{^\circ }\right]\), where \({\alpha }_{\mathrm{sat}}\) is azimuth of the satellite. The elevation parameter \({\theta }_{a}\) is uniformly partitioned at \({M}_{{\theta }_{a}}\) grid points in the range of \(\left[-{10}^{^\circ },+{10}^{^\circ }\right]\). These initial ranges are developed partially according to the geometric propagation model shown in Fig. 1 and partially obtained by empirical experience. Then, the total number of particles of the particle filter is equal to \({N}_{s}={M}_{{d}_{a}}{M}_{{\alpha }_{a}}{M}_{{\theta }_{a}}\). The weight of each particle can be initialized with the principle of equal value \({\omega }^{\left(j\right)}\left({t}_{0}\right)=1/{N}_{s}\).

4 Algorithm Performance Verification

4.1 Static Scenario Test at the SJTU Microelectronics Building

Firstly, we chose a patio at the Microelectronics Building of Minhang Campus of Shanghai Jiao Tong University to test the estimation accuracy for the reflection plane position at static scenario. In this scenario, the north and west sides of the patio are buildings, on the surface of which there are glass curtains which are likely to produce significant reflected multipath signals. The GNSS antenna was placed at the southeast corner of the patio. A high-precision RTK receiver was utilized to survey the accurate positions of the patio, the surrounding buildings, and the antenna. Hence, the 3D map for this test scenario was obtained, as shown in Fig. 6, for the next accuracy verification.

Next, a software receiver was used to process the GNSS signal and estimate the multipath signal parameters with the algorithm introduced in Sect. 2.2. Upon getting these measured multipath parameters, the reflection plane localization was performed with the particle filter presented in Sect. 2.3. The results show that a multipath signal belonging to Beidou PRN 20 satellite with a duration of about 120 s was successfully detected. The satellite's elevation angle is only 16.8 \(^\circ \) and the azimuth angle is 61.1 \(^\circ \), so its multipath is likely to be produced by the west side building of the patio (Figs. 3, 4 and 5).

As soon as the reflection plane is localized, the reflection point of the signal occurring at the plane can be further computed. This is done by that the intersection point of the connection line starting from the image satellite position \({\mathbf{s}}_{m}\) to the receiver position \(\mathbf{u}\) with the reflection plane determined by the estimated vector \(\widehat{{\varvec{x}}}\) can be derived according to the mirror reflection law. Although the actual size of the reflection plane cannot be known, it is able to be approximated by assuming that the reflecting surface is a plane with both width and height being 5 m and centered around the reflection point. As shown in Fig. 6, the pink plane is the estimated reflection plane and the light-yellow plane is the true position of the building surface on the west side of the patio. It can be seen that the estimated distance and orientation of the reflection plane are very close to the real building surface (Fig. 7).

Fig. 3.
figure 3

SJTU microelectronics building terrace environment photo, a multipath signal from Beidou PRN20 satellite (elevation 16.8°, azimuth 61.1°) is detected.

Fig. 4.
figure 4

The multipath signal delay τ and Doppler fading frequency fdδ of Beidou PRN20 satellite are estimated by the multipath parameter estimation algorithm with a duration of about 120 s. The estimated mean value of multipath delay is 122.4 m, and the standard deviation is 5.16 m, the mean value of Doppler fading frequency is −0.0052 Hz, and the standard deviation is 8.56 × 10-4 Hz

Fig. 5.
figure 5

Using particle filter algorithm to estimate the position of multipath signal reflection plane, the estimated RMSE errors of distance da, azimuth αa and elevation angle θa are 0.99 m, 5.4° and 0.3°, respectively.

Fig. 6.
figure 6

3D display of reflection plane estimation and reflection point estimation results.

4.2 Pedestrian Dynamic Scenario at Shanghai Lujiazui Area

In the second experiment, we chose the Shanghai Lujiazui area as a typical urban environment to test proposed algorithm’s performance. A pedestrian GNSS signal recording platform, as shown in Fig. 7, was built by the researcher group, on which is equipped with a GNSS IF signal recorder, an IMU device, and a portable computer. The experiment route was on a circular pedestrian overpass as shown in Fig. 8. The choice of this place was to mitigate the blocking effects by trees or buildings. The data collection last about 8 min.

Figure 8 shows the estimated positions of the multipath signal reflection points on the Google earth 3D map. Since a large number of weak power multipath signals were received in this experiment, the variances of these estimated multipath delays and Doppler fading frequencies were quite large, which resulted in large errors in the estimated reflection plane positions. For this reason we only kept those multipath whose carrier-to-noise ratios were greater than 28 dB/Hz, and there were 11 effective multipaths kept at last (shown as red marked points in Fig. 8). The yellow track was the walking route during the data collection.

It can be observed from Fig. 8 that most of the strong reflection multipaths are caused by the reflection on the glass curtain walls of the two tall buildings that are close to the southeast side of the ring-shaped overpass. These reflection points are distributed at different positions on the surface of the building, which helps to outline the building. It can be predicted that if the data collection time is lengthened, more multipath signals can be obtained, so as the reflection points. It can be expected that a clearer reflection building skeleton can be obtained.

Because the exact 3D maps of the buildings in the Lujiazui area in this experiment cannot be obtained, the estimation accuracy for the localization of these reflection planes cannot be assessed either. However, the correctness of the results can be roughly verified by the following method. We select the reflector position estimated by a multipath signal of Beidou PRN9 satellite and the reflector position estimated by a multipath signal of Beidou PRN23 satellite, which are shown in Figs. 9 and 10. In addition, the coordinates of the reflection points can be calculated according to the location of the receiver and the orientations of the satellites with respect to the two reflection planes, which are shown in Fig. 11. It can be seen in the figures that the estimated reflector positions have high reliability.

Fig. 7.
figure 7

Pedestrian navigation data acquisition platform.

Fig. 8.
figure 8

Walking trajectory (yellow line) and estimation result of multipath reflection point position.

Fig. 9.
figure 9

Estimation of reflection plane position of Beidou PRN9 satellite.

Fig. 10.
figure 10

Estimation of reflection plane position of Beidou PRN23 satellite.

Fig. 11.
figure 11

Experimental results of reflection plane position estimation of walking movement scene in Lujiazui area.

5 Conclusions

In this paper, an algorithm based on the GNSS multipath channel parameter estimation and a particle filter algorithm is proposed to localize the reflection plane and reflection point of a multipath signal. The correctness and accuracy of the algorithm are verified by experiments in a static environment and a dynamic environment. In the future, the algorithm will be expanded from the current Beidou B1I signal to other Beidou frequency signals. The methods to simplify estimation complexity or improve estimation accuracy will be studied as well.