Performance Enhancement for a GPS Vector-Tracking Loop Utilizing an Adaptive Iterated Extended Kalman Filter

This paper deals with the problem of state estimation for the vector-tracking loop of a software-defined Global Positioning System (GPS) receiver. For a nonlinear system that has the model error and white Gaussian noise, a noise statistics estimator is used to estimate the model error, and based on this, a modified iterated extended Kalman filter (IEKF) named adaptive iterated Kalman filter (AIEKF) is proposed. A vector-tracking GPS receiver utilizing AIEKF is implemented to evaluate the performance of the proposed method. Through road tests, it is shown that the proposed method has an obvious accuracy advantage over the IEKF and Adaptive Extended Kalman filter (AEKF) in position determination. The results show that the proposed method is effective to reduce the root-mean-square error (RMSE) of position (including longitude, latitude and altitude). Comparing with EKF, the position RMSE values of AIEKF are reduced by about 45.1%, 40.9% and 54.6% in the east, north and up directions, respectively. Comparing with IEKF, the position RMSE values of AIEKF are reduced by about 25.7%, 19.3% and 35.7% in the east, north and up directions, respectively. Compared with AEKF, the position RMSE values of AIEKF are reduced by about 21.6%, 15.5% and 30.7% in the east, north and up directions, respectively.


Introduction
Traditional Global Positioning System (GPS) receivers utilize scalar tracking loops (STL) to track the received GPS signals. All scalar tracking loops are independent of each other and ignore the internal relationship of each satellite [1]. When the received GPS signals degrade, the tracking loop inside the receiver may fail, therefore, reliable tracking loop operation is required to improve the tracking performance of GPS receivers.
Recently, the vector-tracking loop (VTL) consisting of a vector delay lock loop (VDLL) and a vector frequency lock loop (VFLL) was proposed for GPS receivers at low C/N0 ratios condition. For instance, Kim et al., proposed an adaptive VTL for low-quality GPS signals [1]; Zhao et al., proposed implementation and performance assessment of a vector-tracking method based on a software GPS receiver in [2]; Jafarnia-Jahromi proposed a detection and mitigation of spoofing attacks on a vector-based tracking GPS receiver [3]. The VTL was first proposed by Spilker [4]; it is an appealing and advanced structure which is able to provide an improved performance over traditional scalar lock loops. Depending on the correlation of each satellite signal, the VTL technique processes received satellite signals and user dynamics together rather than separately. Thus, a VTL GPS receiver can get sufficient total signal power to track the signal even if the signal quality from individual satellites is low [5][6][7][8].
In a VTL GPS receiver, the VTL navigation filter used to control the numerically controlled oscillators (NCO) in each satellite channel can aid all the tracking loops to track weak received signals with other satellite channels. Thus, as the core of the VTL navigation filter, the nonlinear Kalman filter should be carefully designed. In the field of the estimation for the nonlinear system, extended Kalman filter is one of the most common examples [3,5]. However, although the EKF has the advantage in real-time estimation, the linearization of a nonlinear system by Taylor series expansion, neglecting of the truncated high-order terms will introduce a truncated error, it is a biased estimator [9][10][11]. In order to overcome this problem, unscented Kalman filter (UKF) [12] and iterated EKF (IEKF) [13] are proposed. The UKF employs a deterministic sampling technique known as the unscented transform to pick a minimal set of sample points (so called sigma points) around the mean. These sigma points are then propagated through the non-linear functions, from which the mean and covariance of the estimate are then recovered [14]. However, the UKF needs to compute large numbers of samples. In order to overcome this problem, the IEKF is proposed to reduce the bias and the estimation error by increasing only a few simple iterative operations [9][10][11]. It should be point out that, the model error statistics in the UKF and IEKF are still prior estimates [9], while the noise is unknown in practice.
Hence, motivated by the problems mentioned above, new methods need to be studied. In this work, the AIEKF which combines the advantages of the Adaptive EKF (AEKF) [9] and the IEKF is proposed for the VTL GPS receiver. The remainder of this paper is organized in four sections: Section 2 introduces the IEKF, AEKF and AIEKF. Section 3 presents the AIEKF method applied to a GPS vector-tracking loop in detail. In Section 4, the performance of the proposed filter is illustrated by a road test and compared with that of the AEKF and IEKF in estimation accuracy. Finally, the conclusions are given.

Adaptive Iterated Extended Kalman Filter
In this section, a brief introduction to the IEKF is given. Furthermore, a modified IEKF named AIEKF is proposed.

Iterated Extended Kalman Filter
For a discrete-time nonlinear system, its model can be given by the following equations: where k X is the state vector at step k , ( ) k f X is the nonlinear system function, k Γ is the process noise driving matrix, k Z is the observation vector, ( ) k h X Is the nonlinear observation model, k W is the process noise which is assumed to be drawn from zero mean Gaussian white noise with covariance k Q , and k V is the observation noise which is assumed to be zero mean Gaussian white noise with covariance k R . The IEKF used in this paper involves the following recursive equations [9,10]: is the priori state estimate at step k , is the priori error covariance matrix.
In addition to the standard EKF functions, a few iterative operations are involved in IEKF to reduce the bias and estimation errors of / 1 k k− X and / 1 k k− P given from Equations (3) and (4). The recursive steps are: Step 1: where 1, 2, 3 ..., n N = is the number of the iteration.
Step 2: Iterative processing ( ) ( ) ( ) ( ) ( ) ( ) where n k K is the filter gain, is the Jacobian matrix, n is the number of iteration steps.

Adaptive Iterated Extended Kalman Filter
In the EKF and IEKF algorithms, the nonlinear system function and nonlinear measurement function are linearized by Taylor series expansion. Hence, the ignoring of higher order terms may introduce a truncation error. It is evident that both the Q and R for EKF and those for IEKF are prior estimates. There are uncertainties in the noise description, and the assumptions on the statistics of disturbances are violated since the availability of a precisely known model is unrealistic in practical situations. In order to overcome these problems, the noise statistics estimator is employed in the IEKF. For a discrete-time nonlinear system described in Equations (3) and (4), the adaptive iterated extended Kalman filter (AIEKF) algorithm utilizes a set of equations as follows:  (14) ( ) ( ) ( ) where ˆn k R is the estimate of n k R , it is estimated by the time-varying noise statistics estimators with the following equations: where ( ) ( )

The Architecture of a Vector-Tracking Loop
The term Vector-Tracking Loop was first proposed by Spilker [15]. He presented a vector delay-lock loop (VDLL) algorithm, combining all the tracking channels and navigation functions. A performance analysis about VTL was well described by Benson [16] in 2007. His study showed that the EKF-based VTL has potential advantages to improve the noise performance and reacquisition ability of a tracking loop. As software receivers developed, many studies on VTL were conducted [17]. Several VTL implementation methods in software receivers and their field test results showing improved tracking performance were reported in [18,19]. Figure 1 shows the VTL architecture in the Global Navigation Satellite System (GNSS) receiver. Comparing with a conventional scalar tracking loop, a VTL tracking loop based on discriminator consists of a correlator, a discriminator and a code/carrier generator. The loop filter is removed in each channel. The discriminator outputs of each channel are directly connected to the navigation filter [20]. These are used as the measurement of the EKF in navigation filter. The Doppler frequency and the pseudo range are calculated from the estimated user position and velocity of the navigation filter. Thus, there is one big loop including tracking channels and navigation module. Because the navigation result is derived from all channel tracking results, all the channels and navigation function are combined. This structure can track temporarily attenuated or blocked satellite signals because the navigation result can be derived from other visible satellites. In general, it is known that the vector-tracking loop based on the discriminator gives users a more accurate position and Doppler frequency than the scalar tracking loop. There have been many studies of VTL implementation. Recently, So [20] described VDLL, VFLL and VDFLL with EKF. As mentioned above, it can be seen that the filtering output accuracy of VTL is dependent on the EKF; however, the EKF will generate truncation errors due to Taylor's series expansion to linearize the nonlinear system. The VTL implementation in this paper is different from the previous studies. We implemented VTL with AIEKF in a VTL GPS software receiver.

Design of the AIEKF
In a conventional GPS receiver, all channels process incoming signals independently. This architecture is easy to implement and channels do not affect each other if one of them loses lock. However, this independency also prevents one channel from helping another because information obtained from one is not utilized by others. Since all channels share the same receiver position and velocity, and feedbacks of the position and velocity from the navigation filter should be exploited by all tracking channels so that they can comprehensively process signals from different satellites. A GPS receiver's position error and velocity error are determined by the code phase errors and pseudo range error through a line-of-sight (LOS) projection, as shown in Figure 2. Ignoring all other non-Gaussian error sources such as satellite clock, multipath, hardware bias, etc., the relationship between position error and code phase error can be written as the equation below [2]: where the subscript j is the satellite number, the subscript k refers to measurement epoch, , τ j k Δ is the code phase error in meters, , τ j k is the code phase measurement in meters, the symbol "^" represents the estimation of a variable, , b k t is the receiver clock bias in meters, k X is the receiver position vector, , j k a is the unit LOS vector from the receiver to the jth satellite, and , code j k w is the white Gaussian noise.
Similarly, the carrier frequency error impacts the receiver velocity measurement error: where , j k f Δ is the carrier frequency error, , j k f is the carrier frequency measurement, the symbol "^" represents the estimation of a variable, , d k t is the receiver clock drift in meters per second, k V is the GPS receiver velocity vector, and , carrier j k w is the white Gaussian noise. In a typical GPS receiver, the code phase and carrier frequency measurements in Equations (21) and (22) can be obtained from the tracking loops. The following sections show how to use these measurements so that a vector-tracking loop can be formed.
To obtain the dynamic equation for the local filter, the signal dynamic models are derived as follows. The user dynamics can be modeled using the shaping filter driven by white noise. When the user is stationary or moving with nearly constant velocity, an adequate model for the LOS range dynamic would be the integrated random walk. The discrete time state model for this integrated random walk model is: where T is the discrete time interval. The acceleration of the receiver is modeled as a Gaussian distribution white noise, and thus the velocity at epoch k + 1 is expressed as below: The drift of the receiver clock is assumed a constant plus a small white noise. So the clock bias and drift are modeled by Equations (25) and (26):    is the state transition matrix.

Measurement Equation of Vector-Tracking Loop
The code phase discriminator and carrier frequency discriminator provide noisy code phase error and carrier frequency error when working within their linear range [17]. As shown in Equations (23) and (24), the receiver position and velocity are directly affected by the code phases and carrier frequencies observables. Therefore, the outputs of the discriminators are used as the measurements for the AIEKF as shown in Equation (32): is the carrier frequency discriminator output of channel j (0 ≤ j ≤ J), δ k X is the state vector,

( )
h  is the nonlinear observation equation, k V is Gaussian distribution white noise. (34).

When Equation (31) is used in AIEKF, it can be linearized by Taylor series expansion and expressed as in Equation
is the Jacobian matrix, ,

Implementation of AIEKF to Vector-Tracking Loop
As mentioned in the previous section, the GPS receiver position error, velocity error, receiver clock bias and clock drift terms consist of the AIEKF state vector, while the code phase and carrier frequency discriminator outputs are the measurement of AIEKF. The block diagram for GPS software defined VTL receiver using AIEKF is shown in Figure 3. Figure 4 illustrates the flow chart for implementing the proposed AIEKF.

Effectiveness of IEKF in VTL
Shojaie et al. [21] uncovered the fact that the iteration of the observation updating step in a Kalman filter family will reduce the linearization error and improve estimation accuracy. The detailed ideas are explained with IEKF. The observation function ( ) k h X is expanded with Taylor series at , 1 Figure 5. The linear expansion of the observation function can be described as: If the real observation is k z , the state estimate (1) x at time k can be obtained with Equation (36) and the Equation lin k z = z . It should be noted that the IEKF achieves good results if the measurement model is close to linear between the true state k x and the calculated posterior intermediate state estimate after one linearization. Otherwise, the linearization error increases due to re-linearization and the IEKF fails to improve the state estimate. Thus, it's necessary to make sure that the measurement model of VTL is close to linear around the true state k x .
In VLT GPS receiver implementation, the observation Equation ( ) h ⋅ is used to calculate the code phase errors and carrier frequency errors of each satellite channel. For easily to analyses, we suppose there is only one satellite channel, and then ( ) h ⋅ is shown in Equation (37): It is known that the GPS satellites work on medium Earth orbit (above an altitude of 5000 km). Also, k x , k y and k z are usually less than 20 m. It is obvious that ρ, s x , s y and s z are much bigger than k x , k y and k z . Thus, Equation (37) can be approximated to Equation (38): It can be seen that Equation (38) is a linear equation. Hence, the measurement model is close to linear function around k x , and IEKF can achieve good results.

Positioning Test Results and Discussion
In this work, road tests were done to assess the performance of the proposed method. The test platform consists of a GPS IF signal digital sampler and a real-time kinematic (RTK) GPS system ( Figure 6). The sampler used in this work is shown in Figure 7, and RTK system is shown in Figure 8. The characteristics of the digital sampler used in this work are listed in Table 1. The digital sampler is a digital down converter which can receive GPS signals through the GPS antenna and then convert the high frequency GPS signals down to lower frequency signals. The lower frequency signals are called intermediate frequency (IF) signals. IF signals are digitalized by analog to digital converter which is included in GPS IF signal digital sampler.    The road test was carried out in the sports ground of Southeast University, Nanjing, China. The GPS IF signal digital sampler, GPS antenna, portable computer, and mobile unit of RTK are carried on a cart. The cart runs along the sports round one circle. The GPS IF signals are recorded by computer. In the same time, RTK mobile unit recorded the precise position of the cart (Figure 9). The DELTA-G2T RTK system is manufactured by Javad GNSS Company (San Jose, CA, USA). RTK data rate is 1 Hz. The position accuracy of RTK is 10 mm + 1 ppm. In this test, the RTK base station was placed at a known location on the sports ground (Figure 10), and the maximal distance between the GPS mobile unit and the RTK base station is less than 400 m. In this case, the RTK can provide a theoretical position accuracy of less than 10 cm. The RTK data were served as the reference in the evaluation of the VTL performance. The AIEKF implements a discretized set of differential equations described in Section 3. Differences between the estimated velocity/position and the measured ones are processed in the AIEKF, to estimate the code phase errors and carrier frequency errors. The estimated code phase errors and carrier frequency errors are used to control the numerically controlled oscillators (NCO) of code/carrier generators. Figure 10 shows the trajectory of the cart obtained from RTK. The road test data were processed by EKF, IEKF, AEKF and AIEKF methods respectively and the trajectories of EKF, IEKF, AEKF and AIEKF are shown in Figure 11. The position errors, code phase errors and carrier frequency errors are important performance indexes of the VTL GPS receiver. Figure 12 is the position error curves about EKF, IEKF, AEKF and AIEKF method. In Figure 12, green square line is EKF position error curve, blue circle line is IEKF position error curve, red point line is AEKF position error curve, and yellow line is AIEKF position error curve. It can be seen from Figure 12 that IEKF, AEKF and AIEKF can obtain higher accuracy on position compared with the EKF. Comparing with IEKF and AEKF method, the AIEKF method proposed in this paper can more effectively to reduce position error of VTL GPS receiver.   (c) Table 1 shows the position RMSE values of the EKF, IEKF, AEKF, and AIEKF during the road test. From Table 1, it can be seen that, compared with EKF, IEKF and AEKF, the RMSE values of AIEKF are reduced by about 45.1%, 25.7% and 21.6% in the east direction, respectively. In Table 1, similar results can also be seen in the north and up directions. Similarly, Figure 13 shows the code phase error and carrier frequency error curves. From Table 2 we can see that, the RMSE value of code phase errors and carrier frequency errors based on AIEKF are lower compared with EKF, IEKF and AEKF. It should be noted that the code phase accuracy of tracking-loop is very important for GPS receiver. Higher code phase accuracy means higher positioning accuracy. Thus, the VTL GPS receiver based on AIEKF has better performance.
In addition to the road test, a static positioning test (1000 s) was carried out at the Baima Park square, Nanjing, China. The static positioning GPS IF signal was processed by GPS software receiver based on STL method and VTL method (based on EKF, IEKF, AEKF and AIEKF) respectively. The GPS software receiver generates a positioning result per 200 milliseconds. Figure 14 shows the static positioning results based on scalar, EKF, IEKF, AEKF and AIEKF method respectively. It can be seen from Table 3 that, compared with EKF, IEKF and AEKF, the RMSE values of AIEKF are reduced by about 14.7%, 8.1% and 4.1% in the east direction, respectively. Meanwhile, the similar results can be seen in the north and up directions.

Conclusions
This work proposed the AIEKF method for a VTL GPS software defined receiver. In this model, AIEKF is employed instead of the EKF in VTL. In AIEKF, IEKF and AEKF are used together. IEKF can reduce the truncation error of EKF by a simple iterative procedure. Furthermore, the noise statistics estimator is employed in the IEKF to combine the advantages of the AEKF and the IEKF. The experimental results show that the proposed AIEKF outperforms the EKF.