1. Introduction
Nowadays, location-based services (LBS) have seamlessly integrated into our daily lives and are playing a crucial role in various fields, including civilian and military applications [
1,
2,
3,
4]. By utilizing a constellation of satellites, the Global Navigation Satellite System (GNSS) has the capability to provide users with global precise positioning, navigation, and timing (PVT) information. Users who possess a GNSS receiver can obtain PVT information if there are sufficient satellites in view [
5,
6]. In a typical GNSS receiver, satellite signals are first down-converted and sampled through an RF front-end. Then, intermediate frequency (IF) signals are utilized for signal acquisition and tracking. From the tracked signals, the receiver calculates pseudorange and pseudorange rate measurements. Finally, based on these measurements, the GNSS receiver can further process these data to calculate its PVT information, which commonly employs either a least squares (LS) method or a Kalman filtering (KF) approach [
7,
8].
The LS algorithm is a classic mathematical optimization technique. By minimizing the sum of the squared residuals (between observations and estimations), LS can effectively find the best-fitting solution that optimally fits the observed data. Several attempts were made to enhance the LS estimation performance in GNSS. For example, Filić et al. proposed a weighted LS to take the expected errors into account [
9] to reduce the computational burden caused by matrix inversion in the LS. Barbu et al. suggested a novel QR factorization method that effectively improved the precise point positioning performance of high-frequency GNSS [
10]. Li et al. conducted a study where they integrated Doppler measurements with code pseudorange data to improve LS position estimation [
11]. María et al. applied an LS solution network over all the recorded data generated by several GNSS devices to achieve sub-meter horizontal accuracy [
12]. Xu et al. introduced a bias-corrected weighted LS method for accurate location services that auto-corrects model nonlinearity and squared range biases while sequentially estimating unknown location parameters with condition adjustments [
13]. The LS converges quickly in the initial iteration, but there is no error analysis on the observed data, and it is thus greatly affected by the errors in the current observations. In addition, these LS methods overlook the time correlation inherent in the GNSS measurement data. For the KF approach, the state vector usually consists of the quantities that define the system’s state, such as position, velocity, clock bias, and drift. Meanwhile, the observation vector typically includes pseudorange and pseudorange rate increments [
14,
15]. Based on this, smoother results can be obtained by incorporating state transformation constraints. For the KF to achieve optimality, it requires precise knowledge of the noise statistics. However, in practice, it is difficult to obtain exact knowledge of noise statistics for a time-varying system. To address the noise challenges associated with the KF, scholars have proposed numerous methods to address the noise sensitivity issue inherent in the Kalman filter (KF). For instance, Gao et al. introduced an adaptive KF navigation algorithm, termed RL-AKF. The uniqueness of this method lies in its ability to adaptively estimate the process noise covariance matrix by leveraging the principles of reinforcement learning [
16]. In [
17], Ahmed introduced a novel DRKF technique that constructs a statistically robust equivalent weight model using the chi-square test, thereby enhancing placement outcomes. To address the GNSS outliers, Berkay et al. integrated robust KF with variance component estimation to dynamically set weights and variances for multi-GNSS observations in single-frequency positioning [
18].
Another approach to approximating noise statistics by using innovation about the process is referred to as the adaptive KF (AKF), but the approximation is limited [
15,
19,
20,
21]. In addition, the KF operates in a recursive manner, making it an infinite impulse response (IIR) filter, which allows estimation errors to accumulate over time during the estimation process [
22]. Instead, a superior filter named the unbiased finite impulse response (UFIR) filter has been emerging as a remarkable replacement. It has been extensively studied and thoroughly analyzed in [
23]. In the UFIR filter, a fixed-size horizon of past data is collected and processed together to estimate the current state, effectively suppressing the propagation of historical errors to the current epoch [
24]. Another advantage of UFIR is that it is insensitive to noise interference [
25]. The UFIR filter stands out for its ability to minimize the mean-square error (MSE) while efficiently utilizing a horizon length of
N measurements. Fortunately, the optimal
N can be determined in several ways [
26].
Because of the above, the primary purpose of this work is to explore the implementation and application of the UFIR method in GNSS solutions to improve the accuracy of position estimation. In addition to its independence from noise statistics, this paper presents several contributions compared to existing LS- and KF-based position estimation methods in GNSS, which are as follows:
- (1)
The proposed method offers a novel approach to estimating position information that effectively eliminates the requirement for calculating error covariances during the iteration process.
- (2)
Because the UFIR operates only with the
adjacent points in a batch form, the accumulation of errors is ultimately suppressed.
- (3)
Two field tests were conducted, and comparative analyses were performed with LS and KF methods. The results show that the UFIR solution can significantly improve GNSS positioning performance.
This paper is structured as follows. In
Section 2, some formulas of GNSS positioning are given, and we also review the LS and KF approaches. In
Section 3, we present the framework of the UFIR and its implementation in GNSS. In
Section 4, two field tests are conducted, and the results of LS, KF, and UFIR are also presented, compared, and analyzed.
Section 5 concludes this paper.
2. Problem Formulation
As mentioned earlier, the user PVT information is derived using the pseudorange and pseudorange rate observations. These observations are generated from two different tracking loops, which include the code tracking loop and the carrier tracking loop. This section sequentially introduces the parameterization model in operation and the estimation methods. Specifically,
Section 2.1 presents GNSS formulas for position calculation;
Section 2.2 gives the principle of the LS method; and
Section 2.3 reviews the KF and its difference with LS.
2.1. GNSS Position Calculation
Figure 1 illustrates the geometric structure relating the satellite positions to the receiver’s location. Assuming there are
i visible satellites, the pseudorange formulas are expressed as follows [
6]:
where
and
are the receiver’s position and the
satellite position vectors in an earth-centered and earth-fixed (ECEF) frame, respectively;
is the receiver clock offset;
denotes the pseudorange between the
satellite and the GNSS receiver;
and
are ionospheric delay and tropospheric delay errors;
represents other error factors, such as pseudorange noises and unmodeled random error; and
denotes the speed of the light.
2.2. Least Square Method
In the above, each pseudorange measurement equation is a nonlinear function of the user position. After Taylor expansion and ignoring high-order terms, the relation between the offset
and pseudorange values
can be expressed as [
6]:
where
is the state increment of user receiver and
is the pseudorange increment; they represent the provision of the approximate solution around the linearization point and the linearization of the satellite–receiver geometric range, referring to
and
. The receiver clock offset
is not affected by the linearization;
is the direction cosine matrix, given by:
and the
denotes the unit vector from the user location to the
satellite, obtained by follows:
where
is the approximate distance between the user and the
satellite.
The
can be further expressed as:
According to Equation (2), the state increment of the user receiver can be written as:
Accordingly, one can express the update of the position estimation and the receiver clock bias by adding the position increment
to the current state, as follows:
As we can see from the above, the LS method considers that each measurement is independent of each other, and it provides a single estimate of the position that fits the observed measurements. This indicates that the relationship between these measurements has not been investigated.
2.3. Kalman Filter
The KF is typically a state-space approach utilized for estimating the state of a dynamic system while considering noisy observations. It involves the use of both the state vector and the measurement vector in the estimation process. In general, the adjacent state vector
can be modeled as [
27]:
where
, and
present the velocity deviation of the user and clock drift.
Thus, the state propagation equation at epoch
k can be given by:
in which
denotes the system transition matrix;
is the process noise term;
denotes an identity matrix; and
is the update interval of the KF.
The process noise covariance matrix
that related to
is determined based on the rule of thumb, which takes into consideration the user dynamics and oscillator used. The calculation is performed as follows [
27]:
where
represents noise power spectral density (PSD) of the receiver velocity, set by the level of user dynamics; and
and
are the PSD of receiver clock phase and frequency, respectively, calculated as follows:
where
and
represent the clock model coefficients associated with the white frequency modulation noise and random walk frequency modulation noise, respectively, associated with the utilized oscillator.
The covariance matrix
of the priori sate estimation can be expressed as:
The linearized GNSS measurement equation is given as follows:
where
is the measurement matrix, given by:
in which
and
are the pseudorange increment and pseudorange rate increment, respectively;
is the measurement noise vector.
Unlike the process noise, the measurement noise depends on the particular phase discriminator implementation, and its covariance matrix is calculated by:
where
is the variance of
x, diag(·) represents a diagonal matrix, and
is referred to as the measurement residual or innovation sequence.
Therefore, it suffices to update the posteriori state estimation based on the innovation
, using [
28]:
in which
denotes the state feedback gain matrix, given by:
The updated covariance matrix is defined by:
Incorporating the updated state estimation,
, the final state of the user receiver is obtained by:
Unlike the LS, the KF considers that each measurement is time-correlated because state transformation constraints are included. In addition, KF makes an error analysis of the current estimation and aims to minimize the variance of the state error. Compared to the results obtained from the LS method, utilizing the KF approach yields smoother and more authentic results. Nonetheless, because of the sensitivity to noise uncertainty and because the historical information has not been explored, the improvement is limited. A framework that possesses historical information constraints and that is noise independent is anticipated to produce superior estimate results compared to the LS and KF.
3. Optimization Framework
In this section, the UFIR optimization framework is proposed to obtain superior position estimates. To this end, the extended state-space model is first constructed. Then, the posterior estimation, error covariance, and gain of UFIR are described in detail. Finally, the way to find the optimal horizon length is given.
3.1. Extended Model
For UFIR, the extended state vector
and observation vector
are represented in a horizon length of
N epochs, within the interval
. Accordingly, Equations (9) and (17) can first be rewritten using the time-forward solution by [
29]:
where
,
,
and
are the extended vectors.
The extended matrices
,
,
and
are provided by, respectively,
,
with
, and
. Generally, matrix
is set as the identity matrix
, and
is time invariant. The noise vectors
and
are both white, and the corresponding variance matrices related to the extended model are
and
. The details of the expanded state-space model can be further explored in reference [
23].
3.2. UFIR Estimator
From the extended state dynamic Equation (24), state
with respect to
can be represented as:
where
and
are the first-row vectors of
. Combining Equations (25) and (28), the measurement equation becomes:
where
, and
.
Given the extended matrices, the batch UFIR estimate
at
n epoch using the discrete convolution is [
30]:
Equation (30) can be further computed in an iterative form, as:
where
and
and
are initialized in short batch form as:
where
a represents the dimension of the state
.
Furthermore, the error covariance
can be calculated using the following method:
in which
denotes the UFIR filter gain that is used to correct the bias. The initial covariance matrix is given by:
with gain
It is important to note that matrix , which is used to correct the estimation bias in UFIR, is determined by and , which are already known. However, the gain of KF depends not only on the process noise but also on the measurement noise , making it challenging to set them perfectly. This distinctive feature makes UFIR more robust than KF against the errors of noise statistics. It is also noteworthy that UFIR requires the horizon length to be optimal, which will be given in the next section.
3.3. Turning of UFIR
For the UFIR strategy, the objective of is to minimize the MSE. The memory length is the critical tuning parameter that ensures UFIR is optimal. When , the UFIR fits with the model well, but the noise reduction is insufficient. Alternatively, the bias errors become dominant. This is because the UFIR no longer fits with the model, although it better suppresses the noise.
Generally, if the ground truth is available in the operation, then
can be provided by [
31]:
where
denotes the trace operator and
is the minimization operator.
Otherwise, an alternative approach is given as follows:
where
is the mean-square value.
5. Discussion
To validate the efficacy of UFIR, the above two targeted experiments were designed to address different application scenarios.
Figure 5,
Figure 6 and
Figure 9, and
Figure 10 and
Table 2 illustrate the positioning results of LS, KF, and UFIR. Taking test II as an example, the LS method (mean error: 11.36 m) in this study has the worst position results. The reason is that LS relies solely on spatial geometric structures to estimate position and assumes that there is no temporal correlation between states. By incorporating the state transformation constraints and updating the state prediction with current measurements, smoother positioning results are obtained for KF (mean error: 8.95 m). Nevertheless, KF is essentially a Markov process, and the current state estimate is only achieved between two nearest neighbors. This means that historical information is excluded when estimating the current state. Thus, KF produces better estimate results. But, the improvement is limited by its recursive property. For GNSS, a typical time-varying system, the state and measurement are highly correlated in time. Unlike KF, UFIR is iterative, and the amount of historical data used during iteration and invariance to noise uncertainty make it more accurate and robust. As a result, the mean horizon positioning error of UFIR is reduced to 6.35 m, which is significantly better than the other two algorithms. Meanwhile, incorporating historical data will result in an increase in the computational load. Thus, we evaluate the computational time under different horizon lengths
N. The results in
Table 3 indicate that as
N increases, the computational load and memory used also increase, but compared to the improvement in positioning accuracy, it is still acceptable. Further analysis on noise sensitivity also corroborates that the UFIR-based method exhibits superior robustness to zero-mean noise compared to the KF method. These results suggest that by introducing historical information and eliminating reliance on noise, higher accuracy and more robust results can be achieved.
Consequently, the UFIR-based GNSS positioning estimator offers improved accuracy and robustness compared to LS- and KF-based estimators. While it does come with the drawback of increased computational load, this is no longer a significant concern for modern computers and microprocessors.
6. Conclusions
Currently, GNSS positioning is the primary source for providing a globally referenced position. However, accurate positioning estimation is a great challenge for GNSS receivers due to the harsh application environment. LS and KF are currently the main methods for GNSS positioning estimation. However, in LS, the observations between different epochs are independent of each other, neglecting the time correlation between states. In KF, although the adjacent states are correlated with each other through the state transition matrix, the rich historical data have not been effectively utilized. Given this, the UFIR is proposed to estimate the GNSS position in this paper. UFIR inherits the advantages of KF and takes historical data into account by expanding the state-space model, which will improve positioning performance. Furthermore, it exhibits superior robustness because it does not rely on noise statistics. Two comparative experiments were performed to validate UFIR’s positioning performance. The results show that the proposal demonstrates a significant improvement in positioning accuracy. When compared to the LS and KF methods, the mean positioning error was reduced by 44% and 29%, respectively. UFIR overall outperforms these two methods in both positioning accuracy and robustness, only sacrificing some acceptable computing resources.