1. Introduction
Global Navigation Satellite System (GNSS) is an absolute positioning sensor widely used in various applications. GNSS can determine the location of a receiver based on trilateration by using pseudo-ranges between GNSS satellites and a receiver. It is well-known that positioning performance is dramatically degraded because of Non-Line-Of-Sight (NLOS) signal reception in urban environments [
1]. NLOS signal reception occurs where tall buildings block Line-Of-Sight (LOS) direct signals from satellites and the signals are received via reflection and/or diffraction. Pseudo-ranges obtained from NLOS signals have tendency to be positive outliers [
2], because they are computed from the times of flight of the signals. We, therefore, have to reject NLOS signals from position calculation to improve positioning accuracy in urban environments.
Many researchers have developed NLOS signal rejection methods based on measurement residuals [
3,
4,
5], fisheye-camera images [
6,
7], 3D building maps with ray-tracing [
8,
9], and so on. It is possible to reject NLOS signals precisely by applying these methods, and then positioning performance can be improved if a sufficient number of satellites are available. Unfortunately almost all signals in dense urban environments could be NLOS signals. The precise rejection of NLOS signals would greatly reduce the number of satellites available in position calculation, thus cause poor satellite geometry, that is, a biased distribution of visible satellites. Since accuracy of trilateration is highly dependent on the geometric locations of the satellites as seen by a receiver, poor satellite geometry may result in inaccurate positioning. The above mentioned studies have not sufficiently dealt with the problem of poor satellite geometry caused by NLOS rejection. Taking satellite geometry into account in addition to NLOS rejection might yield more accurate positioning.
The estimate of position usually can be obtained by using Kalman filter [
10,
11] under some assumptions about process model, measurement model, and noise statistics. However, the estimation by Kalman Filter may suffer from its divergence [
12,
13]. A typical example of filter divergence occurs when the assumptions are inconsistent with actual model. The estimation-error covariance becomes excessively small due to the model errors, the filter gain is therefore small, and eventually the filter begins to ignore new measurements. As a consequence, estimate errors will be biased or diverge. Since these model errors are in general unknown and unbounded, it is difficult to solve the divergence theoretically.
A conventional and simple technique [
14] to prevent filter divergence is to bump up process noise covariance to cover the uncertainty of model errors. This technique is easy to implement, that is, we have only to add fictitious process noise covariance to its nominal value. Since this technique is largely heuristic, it is important to discuss its effect not only on divergence but also on filter performance.
In the application of the technique to GNSS positioning [
4], bumping up process noise covariance inflates estimation-error covariance in the prediction step. The inflated covariance can be reduced by processing observations right after the inflation, if satellite geometry is good. Consequently, the size of estimation-error covariance is kept to be large enough to avoid the divergence, but not too large. However, if satellite geometry is poor, what would be happened? The inflation cannot be reduced in a certain direction according to the geometry, and the estimation-error covariance would become larger than expected. This unexpectedly large covariance would lead to inaccurate positioning.
A proper choice of the process noise covariance has been of interest to many researchers so far. Some filtering techniques have been developed to have an estimation-error covariance that is insensitive to changes in process noise covariance, through the steady-state analysis of estimation-error covariance [
15,
16]. Furthermore, also noise-adaptive estimation techniques have been proposed [
17,
18,
19]. However, these techniques cannot handle with preventing the performance degradation caused by poor satellite geometry, because they do not take satellite geometry into account.
There are some approaches that can be used to avoid the performance degradation caused by poor satellite geometry. Constrained Kalman filter techniques can be utilized to mitigate the degradation [
20,
21]. The techniques automatically detect poor satellite geometry, and estimate only the state variables for which poor satellite geometry would not cause the degradation. However, it is difficult to choose a proper threshold for detecting poor satellite geometry in a heuristic manner. The positioning degradation can also be resolved by integrating other sensors such as IMU (Inertial Measurement Unit) and LiDAR (Light Detection and Ranging) device into GNSS Kalman filter [
4]. The observations from the sensors can compensate for the lack of information due to poor satellite geometry. However, adding those sensors is often unacceptable in terms of cost and installation space.
The main contribution of this paper is twofold. First, we clarify the fundamental relationship between process noise and satellite geometry through theoretical analysis. The analysis shows that the inflation of estimation-error covariance by fictitious process noise can be unexpectedly large for poor satellite geometry. Secondly, from the theoretical results, we propose a novel way to choose process noise covariance based on satellite geometry in order to remove the unexpected inflation. Comparing with the approaches mentioned above, our approach is based on a theoretical sensitivity analysis, and does not require other additional sensors.
This paper is constructed as follows.
Section 2 illustrates the problem of poor satellite geometry by using motivating examples. We describe theoretical analysis for Kalman filter to show the relationship between process noise covariance and satellite geometry in
Section 3. We then introduce the extended Kalman filter for GNSS stationary positioning and derive a novel way to choose process noise covariance based on satellite geometry in
Section 4. We present simulation and experimental results in
Section 5 and
Section 6.
Section 7 concludes this paper.
3. Sensitivity Analysis of Estimation-Error Covariance
We consider a linear system and Kalman filter for it:
where we use the same notations as in Equations (
1) and (
2), and variables in the filter are listed in
Table 2. We suppose that
and
are different from their true ones
and
.
First of all, we derive the difference equation between and . Since is symmetric, it can be diagonalized by an orthogonal matrix , i.e., , where is a diagonal matrix whose diagonal elements are the eigenvalues of . Now we make the following assumptions:
Assumption 1. .
Assumption 2. and are diagonal.
We drop the notation
for simplicity except for
and
. Using Assumption 1 and substituting
into Equation (8), we can rewrite it as
Multiplying
and
to both sides of Equation (
10), we obtain
From Equation (
11) and Assumption 2,
is also diagonal. Then the
th element of
denoted as
can be written as
where
is the
th element of
, and
is the
th element of
. Equation (
12) is the difference equation of estimation-error covariance from
to
k, and shows that
depends on
and
, that is, process noise covariance and satellite geometry.
By using the true process noise covariance
and a fictitious process noise
, we represent
as
. It is assumed that each component in
is diagonalized by
, that is,
and
are diagonal matrices. Then, Equation (
12) can be rewritten as:
where
and
are the
th element of
and
, respectively. Now we define the variation of
due to
as
. From Equation (
13),
is approximated as the following equation.
From Equation (
14), we examine the sensitivity of
with respect to
. Since
is a positive semidefinite matrix,
and
That is,
decreases monotonically as
goes from zero to infinity. At the limits
and
, the values of
are given as
For good satellite geometry, there is no eigenvalue
close to zero. The inflations of
that are caused by the fictitious noise
between time steps
and
k are suppressed for all
i by the observation at time step
k, according to Equation (
14). By choosing an appropriate value of
through trial and error, we can keep the covariance
reasonably large to avoid the filter divergence even for the system with model errors. On the other hand, at least one of eigenvalues is zero or close to zero for poor satellite geometry. If we choose the size of
for good satellite geometry, it may be too large for poor satellite geometry and cause unintentionally large inflation of
. Too large covariance
leads to widely distributed estimation errors along the corresponding direction and degrades the filter performance.
In the next section, we will propose a new way to choose the fictitious process noise based on satellite geometry to reduce the inflation. To derive the choice, we make an additional assumption:
Assumption 3. , where is a positive scalar.
From Assumption 3,
can be rewritten as
where
is diagonal. From Equations (
13) and (
14), we obtain
where
is the
th element of
. It should be noted that
is an eigenvalue of
and, unlike
, represents the satellite geometry independently of
.
Moreover, we can compute a steady-state solution of Equation (
12) (or Equation (
16)), under the assumptions that
,
and
are time-invariant, and
is diagonal. Denoting the steady values of
and
as
and substituting them into Equation (
12), we can obtain a steady-state solution:
The solution in Equation (
18) is equivalent to the solution of an algebraic Riccati equation of estimation-error covariance [
22]. It should be noted that the solution in Equation (
18) is consistent with the results in
Section 2.2. The values of
that are calculated with
and
for the motivating example coincide with the standard deviations in
Table 1. Even though a steady-state solution is well-known, the analysis in this section revealed how the covariance
is inflated at each time step depending on the fictitious noise
and the satellite geometry
(or
). By using the analytical result in Equation (17), we will propose a novel process noise model in the next section to avoid an unintentionally large inflation at each time step.
5. Simulation Study
We present here some simulation results of the proposed process noise model to demonstrate its effectiveness and to determine an appropriate value of
. The model is applied to the Kalman filter for the simplified system in
Section 2.2, where all the assumptions in
Section 3 are satisfied and Equation (
16) holds.
We consider the following three settings of the process noise .
Setting (1): No fictitious process noise:
Setting (2): Conventional choice of fictitious process noise:
Setting (3): Proposed choice of fictitious process noise:
The first and second settings are the same as the settings in
Figure 3a,b, where
is chosen as
in Equation (
31). In this paper, we assume that, for Equation (
32), all the
are the same, that is,
for
. Numerical simulations for setting (3) were performed with different values of
c: (3-a) with
to (3-f) with
as shown in
Table 3. The standard deviations
,
, and their ratios for all the settings are summarized in
Table 3, where the results for settings (1) and (2) in
Table 1 are shown again. The Root Mean Squared Error (RMSE)
d is also computed for the three-dimensional position to show the positioning accuracy in the table.
For determining an appropriate value of
c, we should pay attention to two points: avoiding the filter divergence and suppressing the unintentional inflation of
along the eigenvectors corresponding to small eigenvalues
. For the first point,
, that is the standard deviation along the direction with a large eigenvalue, is increased to
in setting (2), comparing with setting (1). A similar magnitude of
would be necessary even in setting (3) for the divergence avoidance. For the second point, we check the ratio of
to
. In setting (1), the ratio comes only from the satellite geometry, because there is no model error or fictitious noise. Therefore, we suppose that the ratio in setting (1) is desirable even in setting (3) for suppressing the inflation. From these two points, we can choose setting (3-c)
for the proposed noise covariance model in this paper. Moreover, it should be noted that the values of standard deviations in (3-a) to (3-f) are consistent with the steady-state solutions computed from Equation (
29).
The effectiveness of the proposed noise model is verified by comparing the simulation results in settings (2) and (3-c). The estimated positions in a
-
plane for the two settings are plotted in
Figure 4a,b, where the filter computation was repeated 1000 times for each setting as in
Section 2.2 and
Figure 4a is the same as
Figure 3b. Ellipsoids in these figures are the
contours of probability density function (Gaussian) that are calculated from Equation (
18) for
Figure 4a and from Equation (
29) for
Figure 4b. The distribution of horizontal position errors obtained by numerical simulations coincides with the ellipsoid obtained theoretically for each setting. We can see that the estimation errors in setting (3-c) are reduced in the direction of southeast, that is, the direction of the minimum eigenvalue of
. In this numerical results, the proposed noise model suppresses the unintentional inflation of
by about 20%. It should be noted that these results show that both precision and accuracy of positioning in the horizontal plane are improved in setting (3-c), because the mean value of estimation errors is almost zero. We can also check the positioning accuracy that includes the vertical errors, by comparing the RMSEs for settings (2) and (3-c) in
Table 3.
6. Experimental Results of Stationary Positioning
This section presents experimental results to show the effectiveness of the proposed process noise model by applying it to actual data obtained in an urban canyon. The data was collected at the time and location shown in
Table 4, and
Figure 5 is a fisheye-camera image with a satellite sky plot at the beginning of data collection. We used a multi-GNSS single frequency receiver, FURUNO GN-8720, that can receive the signals of GPS, QZSS L1C/A, GLONASS L1OF, and Galileo E1, and acquired about ten minutes the data that includes pseudo-ranges, Doppler frequencies, navigation messages, and so on. The receiver was fixed at the location that corresponds to the center of
Figure 5 during the experiment, and the pseudo-ranges and Doppler frequencies were used as the measurements for EKF. In the figure, blue dots are LOS satellites, and red dots are NLOS satellites, as in
Section 2.1. By detecting NLOS satellites from the fisheye-camera images, the signals from them were excluded from the measurements. The LOS satellites are quite close to each other, and the satellite geometry can be considered as poor, because the minimum eigenvalue of the LOS satellite geometry is always about
in the data (although multipath signals may occur via diffraction/reflection even for LOS satellites, they would be largely attenuated compared to LOS direct signals. In this paper, we do not consider the effects of multipath signals by assuming that they are sufficiently small).
Based on the numerical results shown in
Section 5, we examine positioning performance of the EKF in
Section 4.1 with two parameter settings for process noise covariance: Setting (2) with
and Setting (3-c) with
. The EKFs with the conventional and the proposed noise settings were implemented in a laptop computer as post-processing programs, by customizing the EKF program implemented in FURUNO GN-8720. The EKFs compute the estimated position of the receiver by using only the measurements from LOS satellites.
In order to obtain an ensemble average of estimation errors, we make
N measurement data sets whose length is
l, from the data acquired for about ten minutes, by shifting the start point by one step. The EKF calculation is performed for each of the
N data sets,
, with the initial conditions shown in
Table 4. The length
l of each data set is chosen such that the changes in
and
become sufficiently small in the EKF as the time step
k approaches
l. We focus on the estimation error in position at the final step,
, where the true position
is known as in
Table 4, and denote it as
for
mth data set.
We can compute estimation-error covariance
and RMSE (Root Mean Squared Error)
d as follows:
The minimum and maximum standard deviations
and
of the estimation errors
are obtained by calculating the minimum and maximum eigenvalues of
.
Table 5 summarizes the values of
,
,
and
d for the two settings. The following two points can be seen in
Table 5: (a)
and
in setting (3-c) are less than the ones in setting (2), while the values of
in both settings are almost the same, and (b) RMSE
d in setting (3-c) is also less than the one in setting (2). The first point (a) would indicate that the proposed noise model can suppress the unintentional inflation of estimation-error covariance even for actual data in an urban canyon. From the second point (b), the positioning accuracy with the proposed noise model is also improved compared to the conventional noise model. The estimation errors
for the two settings are shown in
Figure 6a,b, where the errors
are projected to the plane spanned by the unit eigenvectors
and
that correspond to
and
, respectively. The ellipsoid in each figure is the
contour of probability density function that is supposed to be Gaussian with the standard deviations
and
in
Table 5.
Although the results in this section demonstrate that the suppression of covariance inflation is achieved by the proposed noise model, it should be noted that the eigenvector corresponding to
is almost along the altitude direction. The standard deviations
and
in
Table 5 are also quite different from the ones calculated from Equations (
18) and (
29). These differences from the simulation results in
Section 5 may be due to the following two reasons. First, the satellite geometry in
Figure 5 is largely different from the one for the simulation results, because there is no LOS satellite with a low elevation angle in
Figure 5. The uncertainty in the altitude direction would be large due to the clock bias
for such a satellite geometry (if the elevation angles of all the satellites are close to 90 degrees, the errors in altitude estimation and clock bias estimation would be indistinguishable. Through numerical simulations based on the simplified simulation model introduced in
Section 2.2 for the same satellite geometry as in
Figure 5, we can see that the uncertainty in the altitude direction with clock bias estimation is much larger than the one without it). Secondly, Assumption 1 is not satisfied in the EKF in
Section 4.1. Equations (
18) and (
29) do not hold without the assumption. The non-diagonal component of
in Equation (
23) would be non-negligible, especially because the position estimation in the altitude direction is highly dependent on the clock bias
.
The above inconsistency between the simulation results and the experimental results could be resolved by extending the proposed process noise model to the systems without the assumptions in
Section 3. Our preliminary results indicate that theoretical extension of the sensitivity analysis is possible, and it will allow us to develop a process noise model in a more consistent manner for the systems without the assumptions. Further improvement of the estimation performance may also be possible by changing the choice of
c or
itself. The extension and improvement will be presented in our next paper.