APP下载

A GPS/BDS dual-mode positioning algorithm for a train based on CIPSO_EKF

2022-04-18LUOMiaoDANGJianwu

LUO Miao, DANG Jianwu

(1. School of Automation and Electrical Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China;2. Institute of Railway Technology, Lanzhou Jiaotong University, Lanzhou 730070, China)

Abstract: When using global positioning system/BeiDou navigation satellite (GPS/BDS) dual-mode navigation system to locate a train, Kalman filter that is used to calculate train position has to be adjusted according to the features of the dual-mode observation. Due to multipath effect, positioning accuracy of present Kalman filter algorithm is really low. To solve this problem, a chaotic immune-vaccine particle swarm optimization_extended Kalman filter (CIPSO_EKF) algorithm is proposed to improve the output accuracy of the Kalman filter. By chaotic mapping and immunization, the particle swarm algorithm is first optimized, and then the optimized particle swarm algorithm is used to optimize the observation error covariance matrix. The optimal parameters are provided to the EKF, which can effectively reduce the impact of the observation value oscillation caused by multipath effect on positioning accuracy. At the same time, the train positioning results of EKF and CIPSO_EKF algorithms are compared. The eastward position errors and velocity errors show that CIPSO_EKF algorithm has faster convergence speed and higher real-time performance, which can effectively suppress interference and improve positioning accuracy.

Key words: global positioning system/BeiDou navigation satellite (GPS/BDS) dual-mode positioning; chaotic immune-vaccine particle swarm optimization (CIPSO); extended Kalman filter (EKF); positioning accuracy

0 Introduction

With the continuous upgrading of the train control system, track-side equipment such as transponders and track circuits will be greatly reduced or even eliminated. Global postioning system (GPS) technology not only can change the traditional way of train positioning based on track-side equipment, but also can provide high-precision and high-reliability positioning information in open areas such as plains. At present, BeiDou navigation satellite system (BDS) has achieved global coverage, which gives a greater guarantee of the use of GPS/BDS dual-mode navigation systems for train positioning[1]. If the satellite signal is partially blocked in complex environments such as tall buildings, woods, valleys, etc., when calculating position, velocity, time (PVT), the GPS/BDS dual navigation system with the extended Kalman filter (EKF) is extremely susceptible to multipath effects, noise, etc., thus positioning accuracy will be severely reduced. The optimal observation error covariance matrix is crucial to the gain of EKF, which directly determines the accuracy of the positioning results output by the EKF algorithm.

In response to this problem, Li et al. analyzed the extended Kalman filter algorithm used by the BDS system to locate a train and reproduced the train’s trajectory. The experiment verified that the filtered trajectory can track the real trajectory without a large turning angle[2]. Liang et al. used a probabilistic neural network model to train the interactive multi-model extended Kalman filter (IMM_EKF) in the BDS, and verified the advantages of improving IMM_EKF through simulation[3]. Chen et al. designed a least squares support vector machine extended Kalman flter (LSSVM_EKF) algorithm to improve the train positioning accuracy of the GPS, and compared the positioning accuracy of the EKF, SVM_EKF, and LSSVM_EKF algorithms through experiments, proving that the LSSVM_EKF algorithm has obvious advantages in improving the positioning accuracy and convergence speed[4]. Wei et al. applied EKF to position calculation for the BDS/DRS (dead reckoning system) integrated navigation system, and obtained high positioning accuracy[5]. Hu et al. used EKF to solve the single-point positioning of the GPS/BDS dual-mode navigation system, and employed a piecewise function to improve the weight matrixPin EKF, which improves the positioning accuracy and achieved better reliability and integrity[6]. Yang et al. introduced sliding mode observer (SMO) for the GPS/INS (inertial navigation system) integrated navigation system to improve the deficiencies in EKF. The results verify that SMO_EKF has higher filtering accuracy by trajectory simulation and vehicle-mounted experiments[7]. In summary, most scholars mainly focus on the analysis, verification, and optimization of the EKF algorithm in a single navigation system, and there is little research on the EKF algorithm in the GPS/BDS dual-mode navigation system. The chaotic immune-vaccine particle swarm optimization (CIPSO) algorithm is used to simulate the biological evolution process, and the optimal value of the observation error covariance matrix is randomly searched to obtain the optimal EKF gain, which improves the accuracy and reliability of the EFK algorithm output for train positioning and achieves high precision positioning.

1 Principle of GPS/BDS dual-mode receiver positioning

When using the GPS/BDS dual-mode navigation system to locate a train to facilitate the debugging of the receiver system and the optimization of the signal processing algorithm, the GPS/BDS dual-mode software receiver first stores the signals of the radio frequency (RF) hardware front-end into an intermediate frequency data file, and then processes the stored data[8], which becomes a non-real-time processing method. The positioning principle of the GPS/BDS dual-mode software receiver is shown in Fig.1. The dual-mode software can also be considered the signal of the receiver that comes from the GPS/BDS dual-mode RF front-end because the intermediate frequency (IF) data file comes from the sampling and quantified data of the GPS/BDS dual-mode RF hardware front-end.The GPS/BDS dual-mode RF front-end includes two RF signal channels which process BDS and GPS signals, respectively, such as mixing, filtering, down-conversion, AD sampling, and quantization. The digital signals after AD quantization pass through a high-speed interface, being stored as an IF data file, and then the GPS/BDS dual-mode software receiver processes it. Position, speed, and time information are obtained after EKF calculation. The multi-mode positioning by original observation data from the GPS/BDS dual-mode navigation system can improve the geometric structure and dilution of precision (DOP) value of the satellites to ameliorate the completeness of the solution.When positioning and solving are based on the observation data of GPS/BDS dual-mode navigation system, the unified coordinate system and timing system are required.

Fig.1 Principle of GPS/BDS dual-mode receiver positioning

1) Unification of coordinate systems

GPS adopts the world geodetic system-1984 coordinate system (WGS-84), and BDS adopts the China geodetic coordinate system 2000 (CGCS2000). The two coordinate frames are slightly different in the coordinate origin, the semi-major axis of the earth ellipsoid, the oblateness of the ellipsoid, and the gravitational constant[9-10]. The WGS-84 coordinate frame and the CGCS2000 coordinate frame both use the earth’s center as the coordinate origin; the semi-major axes of the earth ellipsoid of the WGS-84 coordinate frame and the CGCS2000 coordinate frame are both 6 378 137 m; the oblateness of the ellipsoid of WGS-84 coordinate frame is 1/298.257 223 563, and the oblateness of the ellipsoid of the CGCS2000 coordinate frame is 1/298.257 222 101; the gravitational constant of the WGS-84 coordinate frame is 3. 986 005, and the gravitational constant of the CGCS2000 coordinate frame is 3.986 004 418. Compared with the coordinate frames of other GNSS systems, the difference between GPS and BDS is the smallest, and the indicators are the closest, therefore, the unification of the coordinate system can be ignored.

2) Unification of timing systems

Both GPS time (GDST) and BDS time (BDST) use atomic time, of which the time reference comes from a series of time measurements of atomic clocks, including observation data from ground monitoring stations, corresponding space-borne atomic clocks. Their definition of second length and time representation (also, the number of weeks and the number of seconds in a week) are compatible[11]. However, the time calculation points of the two systems are different. GPST is calculated from 0:00 on January 6, 1980, while BDST is calculated from 0:00 on January 1, 2006. Considering the moment of the start epoch of BDST, the number of weeks and the number of seconds of the GPST are

GPST=[1 356 weeks, 14.000 s],

and it can be inferred that GPST and BDST have the following relation,

BDST weeks number=GPST weeks number+1 356,

(1)

Seconds number within a BDST week=

Seconds number within a GPST week+14.

(2)

When calculating the seconds number within a BDST week, the overflow problem needs to be considered, that is, when the GPST seconds number (within a week+14) exceeds 604 800, the BDST weeks number needs to be increased by 1. The two signals of the GPS/BDS dual-mode RF front-end have to use a single clock to ensure that the GPS and BDS signal clocks are strictly homologous.

3) Broadcasting ephemeris and satellite hardware delay

The definitions of time and space reference point for broadcasting ephemeris and satellite hardware delay in GPS and BDS are different. They need to be eliminated separately when GPS/BDS dual-mode positioning is performed.

The pseudo-range fusion method is used to deal with the pseudo-range observation of different systems by solving the same simultaneous equations, which can better complete the multi-system information fusion and obtain better results[12-13]. Assuming that the numbers of GPS satellites and BDS satellites observed at the same time areiandj, respectively, and the total number of the satellites used for positioning isn, by converting the coordinate systems and the timing systems to a unified coordinate system and a unified timing system, respectively, we obtain the pseudo-range observation equation of the GPS/BDS dual-mode navigation and positioning system as

(3)

We get the distance between the satellite and the receiver by

(4)

whereρkis the distance between the receiver and thekth satellite, which can be either a GPS satellite or a BDS satellite. (xk,yk,zk) are the three-dimensional coordinates of the satellite, which can be calculated by the ephemeris, (xr,yr,zr) are the three-dimensional coordinates of the receiver to be determined.

AssumingP′k=Pk+cδtk-Ik-Trk-Relk-Bk, the approximate coordinates of the receiver are (x0,y0,z0), andδxr=xr-x0,δyr=yr-y0,δzr=zr-z0. The correlation between GPS and BDS is introduced into Eq.(4) for linearization. The result is substituted into Eq.(3), then we get

(5)

2 EKF algorithm optimized by CIPSO

2.1 EKF algorithm

The Kalman filter algorithm obtains the optimal estimation of the system state by combining the system state equation and the observation equation[14]. The system state equation tells the patterns of state changes at adjacent moments, and the observation equation tells the relation between actual observations and state variables. In each filtering cycle, Kalman filtering can be divided into two processes: time update and observation update. The time update process uses the system state equation to predict the prior estimation of this epoch at the current moment based on the best estimation of the last epoch. The observation update process uses actual observations to correct the prior estimation predicted by the time update process and obtains the posterior estimation of the state, that is, the optimal estimate of the state.

The original Kalman filter algorithm is only suitable for linear systems, but in a real environment, the high-speed train positioning system is a nonlinear model. Bucy et al. proposed an EKF algorithm, which further applied the Kalman filter algorithm to non-linear systems[15]. In this work, we linearize the nonlinear GPS/BDS dual-mode train positioning system first, and then continue to use the conventional linear Kalman filter to calculate the position. The linearization process is as follows.

First, supposing a nonlinear system is described by

(6)

y(t)=h(x,t)+v(t),

(7)

where Eq.(6) is the system state equation and Eq.(7) is the observation equation;f(x,u,t) is a nonlinear equation about system statex, inputsuandt;h(x,t) andg(x,t) are nonlinear equations aboutxandt; andw(t) andv(t) are process excitation noise and observation noise in a continuous time domain, respectively.

Then assuming that statex(t) of the system at timetis unknown whilex*(t) can be approximately selected within the known range.Therefore,x*(t) can be corrected by estimatingδx(t)=x(t)-x*(t) to get a more accurate estimated value ofx(t).

When selectingx*(t), it is necessary to ensure

(8)

and

y*(t)=h(x*,t)

(9)

are established.

Finally, subtracting Eq.(8) from Eq.(6) and subtracting Eq.(9) from Eq.(7), we expand them with Taylor series, omit higher-order terms, and get

(10)

δy(t)=H(t)δx(t)+v(t),

(11)

To sum up, Eqs.(10) and (11) are essentially consistent with the state equation and observation equation of linear Kalman filter and can be roughly realized by following the steps of linear Kalman filter, but it is tenable only when there is little difference betweenx*(t) and the real state. After the estimation ofδx(t) completed by Kalman filter, it is very important to updatex*(t). At the same time, special attention should be paid to the time update of system state and the prediction of observation.

According to the above analysis and the principle of conventional linear Kalman filter, the steps to extend Kalman filter are as follows:

1) Timing update of system state

(12)

2) Calculation of observation residuals

(13)

(14)

(15)

(16)

4) Linearization of the observation attk+1and calculation of Kalman gain matrixkk+1

(17)

whereRk+1is the noise matrix of the system.

(18)

(19)

Pk+1|k+1=(I-kk+1Hk+1)Pk+1|k.

(20)

2.2 CIPSO_EKF algorithm

To avoid the occurrence of premature convergence of the PSO algorithm in the evolution process, the chaotic Tent mapping is used to initialize the particle swarm, and then the vaccination in the immune algorithm is applied to the PSO algorithm to form a new intelligent algorithm[18]. The CIPSO algorithm first maps the chaotic variables from the chaotic space to the solution space, so that the speed of a small part of the particles features ergodicity and randomness[19]. This small part of particles can avoid falling into the local optimum after chaotization, which effectively reduces the phenomenon of premature convergence of the particles in the evolution process to find the global optimum. The Logistic chaotic model is expressed as

Xn+1=L(μ,Xn)=μXn(1-Xn),

n=0,1,2,…,

(21)

where Eq.(21) is used to generate chaotic variables,Xn∈[0,1], andμis the control parameter,μ∈[0,4]. Whenμis equal to 4 andXnis not equal to 0.25, 0.5 and 0.75, the Logistic map is a chaotic invariant set. Then the target model (23) is abstracted as the antigen in the vaccination algorithm, and the optimal observation error covariance matrix of the required solution is abstracted as the antibody. The global optimal valuegBestcorresponds to the vaccine in the vaccination algorithm. Then the solution to the problem to be sought is adjusted to revise the solution, an immune selection mechanism is introduced to increase searching speed, and the optimal solution can be found faster. The flow chart of CIPSO_EKF algorithm is shown in Fig.2.

Fig.2 Flow chart of CIPSO_EKF algorithm

It is the core of vaccination algorithm to determine probability of vaccination. When choosing the probability of vaccination, the particles with a greater probability of vaccination are preferred, so that the fitness value obtained is smaller, and the particles after vaccination are close to global optimal valuegBest(i.e. vaccine). The vaccination probabilitypis calculated by

(22)

wherefgenis the fitness value of the particles to be inoculated. The fitness function of CIPSO_EKF is assumed as

(23)

whereRis observation noise.

3 Experiment and analysis

The CIPSO_EKF algorithm proposed is used to locate a train. Firstly, the CIPSO algorithm is used to optimize the observation error covariance in EKF, and the elements in the error covariance matrix are selected as initial particle swarms. The number of particle swarms is 20, and the time interval is 1 s. The number of iterations is 100. PSO and CIPSO algorithms are used to optimize EKF. The fitness function curves of the two algorithms are shown in Fig.3. It can be seen from Fig.3 that when the CIPSO algorithm optimizes EKF, the fitness value converges at step 7, and the PSO algorithm converges to the best at step 13, The convergence speed of CIPSO_EKF is faster, which can improve the speed of positioning and meet the requirements of real-time positioning.

Fig.3 Number of iterations and fitness curves

The actual train operation data collected on July 18, 2018, from which satellite coordinates, pseudo-range values, ionospheric errors, and tropospheric errors are extracted, are used to verify the algorithm. In the algorithm verification, 500 s of the data are selected. At present, there are 10 satellites to be solved, includeng GPS 01, 11, 17, 20, 28, 30 and BDS 03, 08, 13, 14. In the experiment, the data of northward position and velocity as well as the eastward position and velocity are selected. Error analysis and comparison experiment are carried out for CIPSO_EKF and EKF algorithm, respectively. The experimental results are shown in Figs.4 and 5.

(a) Position error of eastward positioning

(b) Velocity error of eastward positioning

In Figs.4 and 5, if the observation values are normal without multipath interference, both EKF algorithm and CIPSO_EKF algorithm can realize accurate positioning estimation of the train, and eastward and northward position errors and velocity errors do not affect positioning accuracy. However, if observation gross errors are added to simulate oscillation of the observation value due to multipath interference during the experiment process, which has a significant impact on positioning accuracy of EKF algorithm, the eastward and northward position errors and velocity errors obviously increase, while CIPSO_EKF algorithm can effectively resist influence of the observation value shock caused by multipath effect on positioning accuracy. As a result, the eastward and northward position errors and velocity errors do not obviously increase and performance is stable with the CIPSO_EKF algorithm.

(a) Position error of northward positioning

(b) Velocity error of northward positioning

Tables 1-4 show the average variance extracted (AVE) mean value and root mean square error (RMSE) of eastward and northward position and velocity errors of algorithms in the absence of observational anomalies (0 s-250 s) and the presence of observational anomalies (250 s-300 s).

Table 1 AVE statistical results (0 s-250 s)

Table 2 RMSE statistical results (0 s-250 s)

Table 3 AVE statistical results (250 s-300 s)

Table 4 RMSE statistical results (250 s-300 s)

It can be seen from Tables 1 and 2 that the eastward and northward position errors of CIPSO_EKF algorithm, and the AVE and RMSE of velocity errors are all smaller than those of EKF algoriithm, which mean that there is not influence of multipath effect, the positioning of CIPSO_EKF algorithm is slightly better than that of EKF algorithm. However, under the influence of multipath effect, when the observation value fluctuates, it can be seen from Table 3 and 4 that the positioning result of CIPSO_EKF algorithm is significantly better than that of EKF algorithm. AVE of the eastward position error and velocity error are reduced by 65.5% and 40.8%, respectively, and the northward position error and velocity error are reduced by 72.4% and 39%. The results show that the CIPSO_EKF algorithm can effectively suppress the influence of multipath effects on train positioning accuracy and has strong stability and high positioning accuracy.

4 Conclusions

When using GPS/BDS dual-mode navigation system to locate a train to improve the positioning accuracy of EKF algorithm and avoid the oscillation of observation value due to multipath effect, we propose an CIPSO_EKF algorithm. Firstly, the GPS/BDS dual-mode RF front-end is unified for the time and coordinates and then are converted into an IF data file to optimize subsequent data. Because particle swarms easily fall into local extremes, chaotic mapping and immunization are used to improve particle swarms. Finally, we use CIPSO algorithm to optimize the observation error covariance matrix and modify the gain value of EKF filter. Through experimental simulation, the positioning results of a train using CIPSO_EKF algorithm and EKF algorithm with and without multipath effects are compared and analyzed. As far as AVE of eastward and northward positions is concerned, in the absence of multipath effect, the positioning results using CIPSO_EKF algorithm are slightly better than that using EKF algorithm, and the positioning accuracy is improved by 4.1% and 11.1%, respectively; whereas in the presence of multipath effect, the positioning results using CIPSO_EKF algorithm are significantly better than that using EKF algorithm, and the positioning accuracy is improved by 65.5% and 40.8%, respectively, The results show that the proposed CIPSO_EKF algorithm can greatly improve the accuracy and real-time performance of train positioning.