Next Article in Journal
Performance Comparison of Fuzzy ARTMAP and LDA in Qualitative Classification of Iranian Rosa damascena Essential Oils by an Electronic Nose
Previous Article in Journal
Automatic Recognition of Aggressive Behavior in Pigs Using a Kinect Depth Sensor
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

BDS/GPS Dual Systems Positioning Based on the Modified SR-UKF Algorithm

School of Electronic Information and Electric Engineering, Shanghai JiaoTong University, 800 Dongchuan Street, Minhang District, Shanghai 200240, China
*
Author to whom correspondence should be addressed.
Sensors 2016, 16(5), 635; https://doi.org/10.3390/s16050635
Submission received: 2 March 2016 / Revised: 15 April 2016 / Accepted: 26 April 2016 / Published: 3 May 2016
(This article belongs to the Section Physical Sensors)

Abstract

:
The Global Navigation Satellite System can provide all-day three-dimensional position and speed information. Currently, only using the single navigation system cannot satisfy the requirements of the system’s reliability and integrity. In order to improve the reliability and stability of the satellite navigation system, the positioning method by BDS and GPS navigation system is presented, the measurement model and the state model are described. Furthermore, the modified square-root Unscented Kalman Filter (SR-UKF) algorithm is employed in BDS and GPS conditions, and analysis of single system/multi-system positioning has been carried out, respectively. The experimental results are compared with the traditional estimation results, which show that the proposed method can perform highly-precise positioning. Especially when the number of satellites is not adequate enough, the proposed method combine BDS and GPS systems to achieve a higher positioning precision.

1. Introduction

With the development of space information technology, some countries are constructing Global Navigation Satellite Systems (GNSS). Now, in addition to USA’s GPS and Russia’s GLONASS, Europe’s Galileo and China’s BeiDou navigation satellite System (BDS) are being built. Japan, India and other countries are also planning to build their own regional navigation satellite systems. Even though it is GPS that is the most developed navigation satellite system and it has many advantages, it also has some disadvantages of system reliability that cannot satisfy the requirements of a single navigation system in certain situations [1]. Recently, the idea of multi-navigation positioning that consists of GPS, GLONASS, Galileo and regional satellite positioning system is gradually getting more interest in the field of satellite navigation. Especially, the combination of GPS and BDS can overcome the deficiency of the single system, and shows better effects on system performance [2].
The most conventional positioning estimation method is the iterative least square method (ILS). Furthermore, extended Kalman filter (EKF) and unscented Kalman filter (UKF) are also used to estimate the positioning data. ILS can solve three-dimensional positioning only when it receives the signals from at least four satellites. This method is simple, and its computing speed is fast, but it has a large linearization error and a low positioning estimation precision. The EKF can only be accurate for a first order Taylor series. There may be a larger nonlinear error, and it needs to compute the Jacobian matrix, in addition to the calculation being difficult and one of the main sources of error [3]. The UKF represents statistical properties of the system by deterministic sampling and avoids the disadvantage that the EKF must compute the Jacobian matrix. Theory shows that the EKF predicts the means correctly up to the second order of Taylor series and covariances up to fourth order. In contrast, the UKF predicts the means and covariances correctly up to the fourth order [4,5].
Currently, unscented Kalman filter (UKF) and square root UKF (SR-UKF) are the widely used nonlinear filtering strategies, their applications are proposed. In the process of filtering, the calculation error exists. The accumulation of the calculation error reduces the filtering precision, and even it can make the error covariance matrices gradually lose their positive semidefiniteness [6]. In order to improve the numerical performance, the SR-UKF was proposed [7]. Here, Cholesky factors of the covariance matrices are directly used to calculate the state estimate, the QR decomposition, as well as Cholesky factor updates. Thus, by this way, the numerical stability can be improved and also the positive semi-definiteness of covariance matrices can usually be guaranteed [8].
In practical applications, the statistic models of the extended noises are difficult to build. In this case, Kalman filter will be invalid, so the adaptive filtering and robust filtering theory is brought and developed [9].
Because the norm of estimation error covariance decreases progressively in the process of filtering, the effects of new observations data for improving state estimation will be weakened. In fact, the changes of system dynamic model are difficult to fully know in advance. As the recent observation data contains more information about the changed system model, a modified SR-UKF algorithm is proposed in order to increase the weight of the new measurement data.
This paper proposes a BDS-GPS system model, using the modified SR-UKF algorithm to perform position estimation, and the experimental results illustrate the effectiveness of our proposed method.
Section 2 lists the general concept of the GNSS positioning. Section 3 introduces the modified SR-UKF algorithm which will be used in our proposed models for GNSS position estimation. Section 4 describes the unification of the reference systems and the time systems of GPS and BDS. Section 5 addresses the developed nonlinear model and the filter implementation . Section 6 includes recent experimental results and provides the comparison of these results from GPS and BDS with ILS, UKF, SR-UKF and the proposed method. Finally, Section 7 summarizes this paper, and puts forward the future developments.

2. GNSS Positioning Overview

GNSS is a worldwide all-weather navigation system which can provide tridimensional position, velocity, and time synchronization to the UTC scale. GNSS considers the earth’s center as the reference point, to determine the position of the receiver antenna in the reference coordinate system. Since the positioning operation requires only one receiver, it is called standalone positioning. The basic principle of the standalone GNSS positioning is taking the observed distance between the GNSS satellite and the user receiver antenna as the benchmark, which is based on the known instantaneous satellites’ coordinates, to determine the position of the corresponding user receiver antenna. According to the different positions of the user receiver antennas, GNSS positioning can be divided into dynamic positioning and static positioning. Currently, GNSS positioning has a variety of modes, such as precise point positioning (PPP) and relative positioning. Precise point positioning uses the precise ephemeris and satellite clock bias data provided from the International GNSS Service (IGS) and calculates the precise user coordinates from the corrected carrier phase and pseudorange. The relative positioning uses single or double difference of the carrier phase, and calculates the relative coordinates comparing to one or several base stations. These technologies can perform high precise positioning, but they need some accessories besides the user GNSS receiver, such as radio, network equipment, and the other GNSS receivers. In a word, they are not pure standalone positioning, due to their high cost and complex setup, and they are unsuited to the daily applications such as car navigation.
GNSS positioning is based on the one-way ranging technique: the propagation time to transmit from satellite to user receiver is measured and multiplied by the signal propagation velocity to obtain satellite-to-user range. The offset of the receiver clock relative to the system time scale should be estimated to position. The measured range between receiver and satellite is referred to as pseudorange, and can be represented as follows:
ρ i = r i + c δ t u + ε i
where ρ i is the ith satellite’s pseudorange measurement, r i is the geometric distance receiver-satellite, c δ t u is the receiver clock offset (scaled by speed of light c ), and ε i contains the residual errors after satellite-based and atmospheric error corrections [10].
Equation (1) is applicable to the single GNSS (i.e., BDS or GPS only), it contains the time scale of the considered system. However, for the multiple constellation case, another unknown variable used to represent the inter-system offset should be further estimated.

3. The Modified SR-UKF Algorithm

The UKF algorithm is the minimum variance estimation based on UT (Unscented Transform). It was first proposed by Julier et al. [11] in 1995. The state distribution here is represented by a number of appropriately chosen points, which is different from the Gaussian Random Variables (GRV) in UKF with deterministic samplings. These points evolve according to the dynamics of the true nonlinear system. Hence, compared with the EKF, the UKF not only has the possibility to improve the estimate precision, but also is easier to be implemented. Moreover, different from EKF, the evaluations of the Jacobian and any order of partial derivatives are not needed in the UKF. Some papers proposed the new EKF and UKF algorithm [12,13,14,15], and were used in GPS positioning [16,17,18,19,20]. The fuzzy adaptive UKF algorithm was applied in spacecraft celestial navigation [21]. When no more than four satellites can be received, a precision of data processing can be obtained by considering the UKF algorithm’s small linearization error.
The UKF is mainly used for an arbitrary nonlinear system, and numerical instability often causes the covariance matrix P to lose its positive definiteness during the filtering procedure. Consequently, the sigma points x ^ t - 1 ± ( L + λ ) P t - 1 cannot be correctly calculated, where x ^ t - 1 is a priori estimate of state, P t - 1 is a priori covariance matrix of state, (for L and λ, see Equation (5)). Moreover, in the UKF design, the demanding operation is the evaluation of the square root of the covariance matrices at each time instant for the updated set of sigma points. To solve this problem, the SR-UKF was proposed [7].
Meanwhile, in the application of positioning, the exact knowledge of the noise matrix which is required in the framework of the Kalman filter is usually unknown and time-varying in practice. The inappropriate prior statistics in the Kalman filter cause large estimation errors or even errors possibly diverging. Because of the uncertain process noise, the standard UKF yields poor performance in robustness and tracking accuracy.
In the process of standard filtering, the norm of the estimation error covariance matrix is reduced with time, thus the effects of observations for correction of the state estimation are more and more weakened. As the recent observations contain more information on the changed dynamic system model, in the process, the effects of new observations for the state estimation error must be enhanced, and the effects of the old observations must be reduced.
First, assume that state and measurement equations of the system are discrete time nonlinear systems:
x t + 1 = f ( x t , w t ) z t = h ( x t ) + v t
where x t is state vector, z t is measurement vector, and w t is zero-mean independent Gaussian white noise, of which the covariance matrix is Q. v t is zero-mean independent Gaussian white noise of the measurement, of which the covariance matrix is R.
The UKF and SR-UKF algorithms are given in Table 1 and Table 2.
Details about the modified SR-UKF algorithm are described as follows:
Initialize with
x ^ 0 = E [ x 0 ] S 0 = c h o l { E [ ( x 0 - x ^ 0 ) ( x 0 - x ^ 0 ) T ] }
where c h o l { · } denotes Cholesky factorization. For a positive definite matrix A, if a matrix X is lower triangularly denoted by A = X X T , then X is the Cholesky factor of A. The shorthand notation c h o l { · } denotes a Cholesky factorization, namely, X = c h o l { A } .
Calculate the sigma points:
χ t - 1 = [ x ^ t - 1 x ^ t - 1 ± ( L + λ ) S t - 1 ]
Calculate weight coefficient:
W 0 ( m ) = λ / ( L + λ ) W 0 ( c ) = λ / ( L + λ ) + ( 1 - ξ 2 + η ) W i ( m ) = W i ( c ) = 1 / [ 2 ( L + λ ) ] i = 1 , , 2 L
where λ = ξ 2 ( L + k ) - L is a scaling parameter. The constant ξ determines the spread of the sigma points around a mean of state x, and is usually set to a small positive value (e.g., 0 ξ 1 / 2 ). The constant k is a secondary scaling parameter, which is usually set to 3 - L , and η is used to incorporate prior knowledge of the distribution of x (for Gaussian distributions, η = 2 is optimal) [5,11].
Time-update equations:
χ t | t - 1 * = f ( χ t - 1 ) x ^ t | t - 1 = i = 0 2 L W i ( m ) χ i , t | t - 1 *
S t | t - 1 = q r { W 1 ( c ) ( χ 1 : 2 n , t | t - 1 * - x ^ t | t - 1 ) Q }
S t | t - 1 = S - 1 c h o l u p d a t e { S t | t - 1 , χ 0 , t | t - 1 * - x ^ t | t - 1 , W 0 ( c ) }
χ t | t - 1 = [ χ 0 , t | t - 1 * χ 0 , t | t - 1 * ± ( L + λ ) S t | t - 1 ]
z t | t - 1 = h ( χ t | t - 1 )
z ^ t | t - 1 = i = 0 2 L W i ( m ) z i , t | t - 1
where q r { · } denotes QR decomposition. A matrix A l × n ( n 1 ) is given by A T = Q R , and Q n × n is orthogonal, and R l × n is upper triangular. R ˜ is the upper triangular part of R. We use the shorthand notation q r { · } to denote QR decomposition, namely, R ˜ = q r { A T } , c h o l u p d a t e is the update to Cholesky factorization, c h o l u p d a t e ( R , X , ε ) returns the Cholesky factor of A + ε X X T , where R is the original Cholesky factorization of A.
Measurement-update equations:
S z t = q r { W 1 ( c ) ( z 1 : 2 n , t | t - 1 - z ^ t | t - 1 ) R t }
S z t = c h o l u p d a t e { S z t , z 0 , t | t - 1 - z ^ t | t - 1 W 0 ( c ) }
P x t z t = i = 0 2 L W i ( c ) [ χ i , t | t - 1 - x ^ t | t - 1 ] · [ z i , t | t - 1 - z ^ t | t - 1 ] T
K t = ( P x t z t / S z t T ) / S z t
x ^ t = x ^ t | t - 1 + K t ( z t - z ^ t | t - 1 )
U = K t S z t
S t = c h o l u p d a t e { S t | t - 1 , U , - 1 }
where,
R t = S R t - 1
and S is selected by experience. If S is too large, it will cause filter oscillation. Thus, generally, S is chosen to be slightly greater than one. (In this experiment, S = 1 . 001 .)

4. The Unification of Time and Reference Systems of BDS and GPS

4.1. The Unification of the Two Reference Systems

For the reference systems of BDS’s CGCS2000 and GPS’s WGS84, the definitions are essentially the same [22], and the reference ellipsoids are very similar. The extremely small difference is mainly on the flat rate. Due to this difference, the maximum deviations in the latitude and the altitude are 0.105 mm, respectively, and the maximum deviation of gravity is 0.016 × 10 - 8 m/s 2 . These deviations can be neglected under the current accuracy of measurement level. Thus, the GPS and BDS’s position data can be used directly without coordinate transformation.

4.2. The Unification of the Two Time Systems

There is no leap second problem since both BDS and GPS use atomic time. The two systems differ by 1356 weeks and 14 s due to the difference on the starting point. It gives the synchronization parameters between BDS and GPS in the navigation messages. However, the implementation content is unpublished. Thus, the two time systems cannot be fully synchronized directly. Alternatively, we choose a crude way by simply adding 14 s to BDT’s time, and adding an unknown variable to represent the time deviation in different systems [23].

5. The Positioning of BDS and GPS Using the Modified SR-UKF

Nonlinear Kalman filter can be well applied in the GNSS positioning estimation because of its characteristics in which the current state parameter is updated according to the observed value using the predictive value. The system model consists of the process model and the measurement model.

5.1. Process Model

The state model includes the receiver position and velocity coordinates in CGCS2000 coordinate system, and the receiver clock bias, which is related with states and the clock drift caused by the Doppler deviation. It also includes the non-white error in each satellite channel. Thus, the overall system state has 10 fundamental states plus one shaping state for each observable channel:
x t = ( X t , X ˙ t , Y t , Y ˙ t , Z t , Z ˙ t , c δ t t , c δ ˙ t t , c δ t t s y s , δ R , ε 1 t , ε 2 t , ε n t ) T
where ( X t , Y t , Z t ) is the receiver’s position coordinate in CGCS2000, ( X ˙ t , Y ˙ t , Z ˙ t ) is the receiver velocity coordinate, c δ t t , c δ ˙ t t are clock bias and clock drift bias, respectively, c δ t t s y s is the clock deviation between GPS and BDS, δ R is the offset between the Doppler shift and pseudorange’s rate, ( ε 1 t , ε 2 t , ε n t ) is the non-white error in each satellite channel. Because the error in each satellite is independent, it can be modeled as a first-order Gaussian–Markov process.
Since there is a deviation in the two systems’ times, in order to eliminate positioning error caused by time deviation between BDS and GPS, a variable c δ t t s y s should be added.
Considering the above state model, and a generic kinematics model for the receiver coordinates, we obtain the associated system model:
x t + 1 = F · x t + C · w t
The state transition matrix F is given by
F = A 0 0 B
where A is a 10 × 10 time invariant matrix and B is a n × n diagonal matrix, which are given respectively by:
A = 1 T 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 T 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 T 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 T 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
B = d i a g ( α , α , , α )
where α = 2 τ - 1 2 τ + 1 , τ = 100 .
ω t is the system driving noise, which is given by
ω t = [ δ X ¨ t , δ Y ¨ t , δ Z ¨ t , w 1 t , w 2 t , w s y s , w δ R , w c 1 t , w c 2 t , , w c n t ] T
where δ X ¨ t , δ Y ¨ t and δ Z ¨ t are noises due to the receiver acceleration and other system interferences, w c i is the driving noise of the ith shaping filters of the channel, w 1 t and w 2 t are driving noise for the clock bias model, w s y s is the noise of the clock deviation between BDS and GPS, and w δ R is the noise of δ R . For each channel i of the received satellite, the non-white component could be modeled using the first-order Gaussian–Markov process since system errors are independent.
The noise matrix C is given by
C = D 0 0 E
where D is a 10 × 7 time invariant matrix and E is a n × n diagonal matrix, which are given respectively by
D = T 2 / 2 0 0 0 0 0 0 T 0 0 0 0 0 0 0 T 2 / 2 0 0 0 0 0 0 T 0 0 0 0 0 0 0 T 2 / 2 0 0 0 0 0 0 T 0 0 0 0 0 0 0 c 0 0 0 0 0 0 0 c 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
E = d i a g ( β , β , , β )
where β = 2 τ 2 τ + 1 , τ = 100 .
The correspondent process noise covariance matrix Q t is given by
Q t = E { w t w t T } = Q δ X ¨ Y ¨ Z ¨ 0 0 0 0 0 Q δ t 0 0 0 0 0 σ δ s y s 2 0 0 0 0 0 σ δ R 2 0 0 0 0 0 Q c t
with Q δ X ¨ Y ¨ Z ¨ = d i a g ( σ X ¨ 2 , σ Y ¨ 2 , σ Z ¨ 2 ) , and Q c t = d i a g ( σ c 1 2 , σ c 2 2 , , σ c n 2 ) , where σ δ s y s 2 is the variances associated with the δ t s y s , σ δ R 2 is the variances associated with the δ R , σ X ¨ 2 , σ Y ¨ 2 and σ Z ¨ 2 are the process noise variances associated with δ X ¨ t , δ Y ¨ t and δ Z ¨ t , σ c 1 2 , σ c 2 2 , , σ c n 2 are the variances associated with the shaping filters driving noises and, Q δ t is defined by following equations:
Q δ t = E { w δ t w δ ˙ t } = Q 11 Q 12 Q 21 Q 22
with
Q 11 = h 0 2 T + 2 h - 1 T 2 + 2 3 π 2 h - 2 T 3 Q 12 = 2 h - 1 T + π 2 h - 2 T 2 Q 22 = h 0 2 T + 2 h - 1 + 8 3 π 2 h - 2 T
where h 0 = 9 . 4 × 10 - 20 , h - 1 = 1 . 8 × 10 - 19 , h - 2 = 3 . 8 × 10 - 21 [3,17].

5.2. Measurement Model

The pseudoranges and Doppler shifts form the measurements set, and the measurement equations of the BDS’s pseudorange ρ b and GPS’s pseudorange ρ g are as follows:
ρ i t b = | r i - r i t b | + c δ t b + ε i t + v i t = ( X t - X i t b ) 2 + ( Y t - Y i t b ) 2 + ( Z t - Z i t b ) 2 + c δ t b + ε i t + v i t ρ j t g = | r j - r j t g | + c δ t g + ε j t + v j t = ( X t - X j t g ) 2 + ( Y t - Y j t g ) 2 + ( Z t - Z j t g ) 2 + c δ t g + ε j t + v j t
where X t , Y t , Z t are the receiver position coordinates, X i t b , Y i t b , Z i t b is the ith BDS satellite’s coordinates, X j t g , Y j t g , Z j t g is the jth GPS satellite’s coordinates, ε i t is the non-white error in satellite channel i, and v i t is the measurement noise of channel i.
Doppler shifts give information related to the receiver velocity. Doppler is also used in our formulation, modeling it as:
D i t = ( X t - X i t ) ( X ˙ t - X ˙ i t ) + ( Y t - Y i t ) ( Y ˙ t - Y ˙ i t ) + ( Z t - Z i t ) ( Z ˙ t - Z ˙ i t ) ( X t - X i t ) 2 + ( Y t - Y i t ) 2 + ( Z t - Z i t ) 2 + c δ ˙ t + δ R t
where X ˙ t , Y ˙ t , Z ˙ t are velocity coordinates of receiver at time t; and X ˙ i t , Y ˙ i t , Z ˙ i t is a velocity coordinate of satellite i at time t .
Thus, the system measurement z t for n satellites is given by:
z t = [ ρ 1 t b , ρ 2 t b , , ρ n 1 t b , ρ 1 t g , ρ 2 t g , , ρ n 2 t g , D 1 t b , D 2 t b , , D n 1 t b , D 1 t g , D 2 t g , , D n 2 t g ] T
where n = n 1 + n 2 , n 1 , and n 2 are the number of measured BDS and GPS satellites.
The estimation flow using the nonlinear filter is shown in Figure 1.

6. Experiment and Analysis

In the experiment, a set of BDS/GPS data collected by the OEM-615 (NovAtel Inc., Calgary, AB, Canada) receiver are used. This experiment was carried on School of Electronic Information and Electric Engineering of Shanghai JiaoTong University. The experimental data were collected between 7:30 a.m.–8:10 a.m., 12 October 2015. The sampling period is 1 s.
For the analysis, static receiver data were collected. The mean value of receiver’s 24 h static position data was set as the benchmark. The coordinate of the benchmark in ECEF is ( - 2853144 . 982457430 , 4667493 . 451256680 , 3268514 . 441948889 ) .
The number of visible satellites during the experiment’s period is shown in Figure 2. Since the observation environment was good in the outdoor with a clear view of the sky, the number of BDS satellites was stable at 10, GPS satellite numbers changed between six and seven, especially the changes in 600–800 s and 1400–1600 s were more variable. The position estimation is performed using MATLAB in the PC. The raw data was processed using four algorithms: ILS, UKF, SR-UKF and the modified SR-UKF.
The position estimation errors ( x , y , z ) are shown in Figure 3, Figure 4 and Figure 5.
The current BDS satellites are distributed in geostationary orbit (GEO) and inclined geosynchronous satellite orbit (IGSO) over China. That is why the BDS satellite number that is received is stable at the present stage. Due to the change in satellite numbers, the positioning results of only using GPS system experiments are not better than BDS single system and BDS/GPS dual systems.
The correspondent root mean square errors (RMSE) are compared in Table 3, Table 4 and Table 5. It is not difficult to find whether BDS, GPS or BDS/GPS positioning, the result of the modified UKF has higher accuracy than ILS, UKF and SR-UKF.
When the number of the visible satellites is large, this method cannot fully represent its superiority. We have eliminated some of the original data so as to simulate the condition of less visible satellites, the case when the numbers of BDS and GPS were in the 2–3 range.
The positioning with BDS and GPS in bad environments is shown as Figure 6.
In a single system, where there are less than four visible satellites, the positioning cannot be obtained by the conventional method, but a multi-system positioning model is a good way to deal with this situation. The number of visible satellites after part of them have been removed is shown in Figure 7. The number of the satellites of BDS remains at three, but that of GPS changes in 2–3.
When the number of satellites is less than four, the single system cannot be calculated; the advantage of multi-system positioning can now be represented. As long as the sum of BDS and GPS satellites is not less than five, the multi-system can be calculated effectively.
In Figure 8, we can see that the number of satellites is going down, ILS algorithm’s positioning precision is getting worse, and the rapid change in the number of satellites causes unsatisfactory results. Kalman filtering overcomes these difficulties well. Reduction in the number of satellites does not have a significant impact on the positioning result.
The correspondent root mean square errors of the various methods are compared in Table 6. It is not difficult to find that the result of the modified UKF has the highest accuracy. When the number of BDS or GPS satellites is too few to calculate in each single positioning system, we can adopt the multi-system positioning method. We can get the results by using the ILS algorithm, but the error is too large and it does not meet the requirements of practical application. The Kalman filtering algorithm of the multi-system can still maintain high precision, and it has a huge advantage.

7. Conclusions

This paper has presented the results of a study about the modified SR-UKF algorithm for multi system positioning, which was verified by the real BDS/GPS data. The proposed method is suited to the standalone GNSS positioning with low-cost and wide application. The main contributions are summarized as follows:
  • The new nonlinear positioning models for the two navigation systems were improved. Considering the differences in dual systems, a new set up for the state variables was proposed. Because there is a deviation in the two systems’ time, in order to eliminate positioning error caused by time deviation between BDS and GPS, a variable must be added. To remedy the shortage that various errors are simply taken as the Gaussian white noise in the iterative least square method, a multi-GNSS positioning model based on the nonlinear filtering was designed by establishing a suitable error model in the positioning system model and taking the nonlinear pseudorange and Doppler observation equation as the measurement equation.
  • After analyzing the characteristics of BDS and GPS, the unity of the coordinate and time systems of the two systems was considered. The BDT was selected as the time standard, and the CGCS2000 as the coordinate standard.
  • To reduce the bad effect of the old measurement data on the filtering and increase the weight of the new measurement data, the modified SR-UKF algorithm was used. The proposed algorithm gradually decreases the weighting on the old measurement data and increases it on the new measurement data, correspondingly, which overcomes the filter divergence effectively.
  • The new model and method were processed by ILS, UKF, SR-UKF and the proposed method. The experimental results show that the BDS/GPS systems positioning estimated by the proposed algorithm performs the best.
  • The proposed method also can be used in multi-system positioning in urban canyon environments. In a single system when there are less than four visible satellites, the positioning cannot be obtained by the conventional method. However, using the proposed nonlinear positioning models, the high precision positioning can be solved as long as the sum of the satellites is no less than five in the dual system. In addition, the positioning accuracy is much higher than the result obtained by the iterative least square algorithm.
Future works include applying the new model and new method to a dynamic environment, adding more GNSS systems into the environment, and making it more stable under the bad positioning conditions in which the number of satellites is not enough. In order to achieve the balance between positioning accuracy and computational complexity, we will investigate the satellite selection problem.

Acknowledgments

This work was supported by the National Natural Science Foundation of China (61233004).

Author Contributions

JaeHyok Kong provided insights in formulating the ideas and experimental design, and performed the experiments. Xuchu Mao offered plenty of comments, experimental equipment support and useful discussion. JaeHyok Kong and Xuchu Mao wrote the paper. Shaoyuan Li critically reviewed the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Hewitson, S.; Wang, J. GNSS receiver autonomous integrity monitoring (RAIM) performance analysis. GPS Solut. 2006, 10, 155–170. [Google Scholar] [CrossRef]
  2. Meng, F.; Zhu, B.; Wang, S. A new fast satellite selection algorithm for BDS-GPS receivers. In Proceedings of the SiPS 2013 Proceedings, Taipei City, Taiwan, 16–18 October 2013; pp. 371–376.
  3. Mao, X.; Wada, M.; Hashimoto, H. Nonlinear GPS models for position estimate using low-cost GPS receiver. In Proceedings of the IEEE 6th Intelligent Transportation System Conference, Shanghai, China, 12–15 October 2003; pp. 637–642.
  4. Julier, S.J.; Uhlmann, J.K. New extension of the Kalman filter to nonlinear systems. In Proceedings of the 11th International Symp on Aerospace/Defense Sensing, Simulation and Controls, Orlando, FL, USA, 11–13 August 1997; pp. 182–193.
  5. Haykin, S.S. Kalman Filtering and Neural Networks; Wiley Online Library: Hoboken, NJ, USA, 2001; pp. 221–276. [Google Scholar]
  6. Hovland, G.; Von Hoff, T.; Gallestey, E.; Antoine, M.; Farruggio, D.; Paice, A. Nonlinear estimation methods for parameter tracking in power plants. Control Eng. Pract. 2005, 13, 1341–1355. [Google Scholar] [CrossRef]
  7. Van Der Merwe, R.; Wan, E.A. The square-root unscented Kalman filter for state and parameter-estimation. In Proceedings of the 2001 IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP’01), Salt Lake City, UT, USA, 7–11 May 2001; pp. 3461–3464.
  8. Liu, J.; Gu, X.S. State estimation of a solid-state polymerization reactor for PET based on improved SR-UKF. Asia-Pac. J. Chem. Eng. 2010, 5, 378–389. [Google Scholar] [CrossRef]
  9. Shi, H.; Wu, Z.; Liu, B. An adaptive filter for INS/GPS integrated navigation system. In Proceedings of the IMACS Multiconference on Computational Engineering in Systems Applications, Beijing, China, 4–6 October 2006; pp. 651–654.
  10. Kaplan, E.; Hegarty, C. Understanding GPS: Principles and Applications; Artech House: Norwood, MA, USA, 2006. [Google Scholar]
  11. Julier, S.J.; Uhlmann, J.K.; Durrant-Whyte, H.F. A new approach for filtering nonlinear systems. In Proceedings of the American Control Conference, Seattle, WA, USA, 21–23 June 1995; pp. 1628–1632.
  12. Julier, S.J.; Uhlmann, J.K. A General Method for Approximating Nonlinear Transformations of Probability Distributions; Technical Report; Robotics Research Group, Department of Engineering Science, University of Oxford: Oxford, UK, 1996; pp. 1–27. [Google Scholar]
  13. Julier, S.; Uhlmann, J.; Durrant-Whyte, H. A new method for the nonlinear transformation of means and covariances in filters and estimations. IEEE Trans. Autom. Control 2000, 45, 477–482. [Google Scholar] [CrossRef]
  14. Perea, L.; Elosegui, P. New state update equation for the unscented Kalman filter. J. Guid. Control Dyn. 2008, 31, 1500–1504. [Google Scholar] [CrossRef]
  15. Psiaki, M.L. Kalman filtering and smoothing to estimate real-valued states and integer constants. J. Guid. Control Dyn. 2010, 33, 1404–1417. [Google Scholar] [CrossRef]
  16. Cooper, S.; Durrant-Whyte, H. A Kalman filter model for GPS navigation of land vehicles. In Proceedings of the IEEE Conference on Intelligent Robots and Systems (IROS’94), Munich, Germany, 12–16 September 1994; pp. 157–163.
  17. Kee, C.; Parkinson, B.W.; Axelrad, P. Wide area differential GPS. Navigation 1991, 38, 123–145. [Google Scholar] [CrossRef]
  18. Psiaki, M.L. Batch algorithm for global-positioning-system attitude determination and integer ambiguity resolution. J. Guid. Control Dyn. 2006, 29, 1070–1079. [Google Scholar] [CrossRef]
  19. Liu, J.; Lu, M. An adaptive UKF filtering algorithm for GPS position estimation. In Proceedings of the 5th International Conference on Wireless Communications, Networking and Mobile Computing (WiCom’09), Beijing, China, 24–26 September 2009; pp. 1–4.
  20. Angrisano, A.; Gaglione, S.; Gioia, C. Performance assessment of aided Global Navigation Satellite System for land navigation. IET Radar Sonar Navig. 2013, 7, 671–680. [Google Scholar] [CrossRef]
  21. Zhang, Y.; Li, J.; Wu, L.; Li, H. Application of fuzzy adaptive unscented Kalman filter in spacecraft celestial navigation. J. Harbin Inst. Technol. 2012, 44, 12–16. [Google Scholar]
  22. Wei, Z. Chinese Geodetic Coordinate System 2000 and its Comparison with WGS84. J. Geod. Geodyn. 2008, 28, 1–5. [Google Scholar]
  23. Kong, J.; Mao, X.; Li, S. BDS/GPS satellite selection algorithm based on polyhedron volumetric method. In Proceedings of the 2014 IEEE/SICE International Symposium on System Integration (SII), Tokyo, Japan, 13–15 December 2014; pp. 340–345.
Figure 1. Flow of the position estimation using the nonlinear filter.
Figure 1. Flow of the position estimation using the nonlinear filter.
Sensors 16 00635 g001
Figure 2. The number of visible satellites.
Figure 2. The number of visible satellites.
Sensors 16 00635 g002
Figure 3. Position estimation error using BDS’s data.
Figure 3. Position estimation error using BDS’s data.
Sensors 16 00635 g003
Figure 4. Position estimation error using GPS’s data.
Figure 4. Position estimation error using GPS’s data.
Sensors 16 00635 g004
Figure 5. Position estimation error using BDS/GPS’s data.
Figure 5. Position estimation error using BDS/GPS’s data.
Sensors 16 00635 g005
Figure 6. Positioning with GPS and BDS under bad conditions.
Figure 6. Positioning with GPS and BDS under bad conditions.
Sensors 16 00635 g006
Figure 7. The number of visible satellites after removes.
Figure 7. The number of visible satellites after removes.
Sensors 16 00635 g007
Figure 8. Estimation error using BDS/GPS’s Data after removal.
Figure 8. Estimation error using BDS/GPS’s Data after removal.
Sensors 16 00635 g008
Table 1. Unscented Kalman filter.
Table 1. Unscented Kalman filter.
Calculate sigma points χ t - 1 = [ x ^ t - 1 x ^ t - 1 ± ( L + λ ) P t - 1 ]
Time-update equations χ t | t - 1 * = f ( χ t - 1 )
x ^ t | t - 1 = i = 0 2 L W i ( m ) χ i , t | t - 1 *
P t | t - 1 = i = 0 2 L W i ( c ) [ χ i , t | t - 1 * - x ^ t | t - 1 - ] · [ χ i , t | t - 1 * - x ^ t | t - 1 - ] T + Q
z t | t - 1 = h ( χ t | t - 1 * )
z ^ t | t - 1 = i = 0 2 L W i ( m ) z i , t | t - 1
Measurement-update equations P z t z t = i = 0 2 L W i ( c ) [ z i , t | t - 1 - z ^ t | t - 1 ] · [ z i , t | t - 1 - z ^ t | t - 1 ] T + R
P x t z t = i = 0 2 L W i ( c ) [ χ i , t | t - 1 * - x ^ t | t - 1 ] · [ z i , t | t - 1 - z ^ t | t - 1 ] T
K t = P x t z t P z t z t - 1
x ^ t = x ^ t | t - 1 + K t ( z t - z ^ t | t - 1 )
P t = P t | t - 1 - K t P z t z t K t T
Table 2. Square-root unscented Kalman filter.
Table 2. Square-root unscented Kalman filter.
Calculate sigma points χ t - 1 = [ x ^ t - 1 x ^ t - 1 ± ( L + λ ) S t - 1 ]
Time-update equations χ t | t - 1 * = f ( χ t - 1 )
x ^ t | t - 1 = i = 0 2 L W i ( m ) χ i , t | t - 1 *
S t | t - 1 = q r { W 1 ( c ) ( χ 1 : 2 n , t | t - 1 * - x ^ t | t - 1 ) Q }
S t | t - 1 = c h o l u p d a t e { S t | t - 1 , χ 0 , t | t - 1 * - x ^ t | t - 1 , W 0 ( c ) }
z t | t - 1 = h ( χ t | t - 1 * )
z ^ t | t - 1 = i = 0 2 L W i ( m ) z i , t | t - 1
Measurement-update equations S z t = q r { W 1 ( c ) ( z 1 : 2 n , t | t - 1 - z ^ t | t - 1 ) R }
S z t = c h o l u p d a t e { S z t , z 0 , t | t - 1 - z ^ t | t - 1 , W 0 c }
P x t z t = i = 0 2 L W i ( c ) [ χ i , t | t - 1 * - x ^ t | t - 1 ] · [ z i , t | t - 1 - z ^ t | t - 1 ] T
K t = ( P x t z t / S z t T ) / S z t
x ^ t = x ^ t | t - 1 + K t ( z t - z ^ t | t - 1 )
S t = c h o l u p d a t e { S t | t - 1 , K t S z t , - 1 }
Table 3. Position estimation error using BDS’s data.
Table 3. Position estimation error using BDS’s data.
RMSE /m
X Y Z 3 D
ILS0.6080.5952.1592.321
UKF0.4350.8191.9292.141
SR-UKF0.4340.7211.9072.085
Modified SR-UKF0.3360.3571.8941.956
Table 4. Position estimation error using GPS’s data.
Table 4. Position estimation error using GPS’s data.
RMSE /m
X Y Z 3 D
ILS3.1362.3713.6665.376
UKF3.0292.3423.5925.251
SR-UKF3.0152.3013.3145.036
Modified SR-UKF2.9222.1183.2674.869
Table 5. Position estimation error using BDS/GPS’s data.
Table 5. Position estimation error using BDS/GPS’s data.
RMSE /m
X Y Z 3 D
ILS2.0491.3841.7913.053
UKF2.1071.3551.5512.946
SR-UKF2.1061.2881.5432.911
Modified SR-UKF2.0621.2681.5392.869
Table 6. Positioning estimation error using BDS/GPS’s data after removal.
Table 6. Positioning estimation error using BDS/GPS’s data after removal.
RMSE /m
X Y Z 3 D
ILS5.42515.95456.83659.282
UKF2.1644.2627.4258.829
SR-UKF1.4753.6426.2827.409
Modified SR-UKF0.8011.5675.7315.995

Share and Cite

MDPI and ACS Style

Kong, J.; Mao, X.; Li, S. BDS/GPS Dual Systems Positioning Based on the Modified SR-UKF Algorithm. Sensors 2016, 16, 635. https://doi.org/10.3390/s16050635

AMA Style

Kong J, Mao X, Li S. BDS/GPS Dual Systems Positioning Based on the Modified SR-UKF Algorithm. Sensors. 2016; 16(5):635. https://doi.org/10.3390/s16050635

Chicago/Turabian Style

Kong, JaeHyok, Xuchu Mao, and Shaoyuan Li. 2016. "BDS/GPS Dual Systems Positioning Based on the Modified SR-UKF Algorithm" Sensors 16, no. 5: 635. https://doi.org/10.3390/s16050635

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop