An adaptive deep-coupled GNSS/INS navigation system with hybrid pre-filter processing

The deep-coupling of a global navigation satellite system (GNSS) with an inertial navigation system (INS) can provide accurate and reliable navigation information. There are several kinds of deeply-coupled structures. These can be divided mainly into coherent and non-coherent pre-filter based structures, which have their own strong advantages and disadvantages, especially in accuracy and robustness. In this paper, the existing pre-filters of the deeply-coupled structures are analyzed and modified to improve them firstly. Then, an adaptive GNSS/INS deeply-coupled algorithm with hybrid pre-filters processing is proposed to combine the advantages of coherent and non-coherent structures. An adaptive hysteresis controller is designed to implement the hybrid pre-filters processing strategy. The simulation and vehicle test results show that the adaptive deeply-coupled algorithm with hybrid pre-filters processing can effectively improve navigation accuracy and robustness, especially in a GNSS-challenged environment.


Introduction
A traditional global navigation satellite system (GNSS) receiver tracks each satellite independently and each channel does not permit information sharing among other channels. The performance between dynamic and noise suppression is a tradeoff for the tracking loop bandwidth [1,2]. The integrated navigation system of GNSSs and inertial navigation systems (INSs) was developed to improve the accuracy and robustness of the system [3][4][5][6]. The deeply-coupled (also called ultra-tight) navigation system is one of these effective integrated systems. Some recent researches on deeply-coupled navigation systems include the acquisition and loop control algorithms [7,8], the fusion methods of the GNSS and INS [9,10] and other related fields [11,12].
Generally, deeply-coupled navigation systems can be classified as having a centralized filtering architecture or a federated filtering architecture [13][14][15][16]. However, the centralized filtering architecture suffers from a high computation burden and complex relationship between in-phase/quadra-phase (I/Q) correlator outputs and INS errors for hardware implementation [15]. Thus, only the federated filtering architecture will be discussed in the following sections of this paper.
In the federated architecture, the I/Q measurements are firstly pre-processed by a series of pre-filters and then the integrated navigation filter is used to process the output of the pre-filters and to restrict the INS errors. The INS navigation solutions and GNSS ephemerides are used to control the numerically controlled oscillators (NCOs) of code and carrier [16].
The pre-filter is a key technology of the deeply-coupled navigation system, which can be mainly divided into two categories, coherent and non-coherent [17,18]. The coherent algorithm inputs the GNSS accumulated correlator outputs, i.e. the I s and Q s, directly to the Kalman filter as measurements. The non-coherent algorithm firstly passes the I s and Q s through code and carrier discriminator functions, similar to those used in conventional GNSS signal tracking. The coherent algorithm bypasses the discriminators, avoiding the introduction of unmodeled nonlinear in the measurement inputs to the Kalman filter, and can reach a less noisy tracking performance than the non-coherent algorithm. However, it is unsuited to applications that require operation under low signal-to-noise environments as both code and carrier-frequency tracking can be maintained at a lower carrier power-to-noise density ratio (C/N 0 ) than carrier-phase tracking. On the contrary, the noncoherent algorithm can work well whether there is sufficient C/N 0 to track carrier phase because the code discriminator function is independent of the carrier phase. This enables the non-coherent algorithm to maintain tracking in weaker signal environments than the coherent algorithm.
In order to improve the accuracy and robustness of the system, an adaptive deeply-coupled GNSS/INS navigation system with hybrid pre-filters processing is proposed in this paper. The existing pre-filter algorithms are analyzed and modified to overcome their shortcomings firstly. Then, a hybridbased pre-filter processing strategy is introduced. An adaptive hysteresis controller is designed to implement the hybrid prefilters processing strategy. Finally, the simulation and vehicle tests are conducted to assess the system's performance.

Analysis of the existing pre-filter algorithms
There are three main structures of pre-filter, as summarized in [14]. The existing coherent pre-filter algorithm (option #1 in [14]) follows closely the filter implementation proposed in [19,20]. The correlator outputs shown in (1) and (2) are used directly as the measurements of the Kalman filter, where A represents the accumulated amplitude, T is the integration period, D is the navigation data bits of the GNSS, R (·) is the autocorrelation function of the ranging code, δτ is the code phase bias between the local replica code and the incoming signals and δf is the frequency error (Hz) between the local replica frequency and the incoming signals. ∆ k is the correlator spacing for early, prompt and delay code, where k = −1, 0, 1. n I and n Q are the noise of I and Q. δΦ is the average phase error over the integration interval, which can be written as where δφ 0 and δf 0 indicate the initial phase error and the initial carrier frequency error at the start of the integration interval, respectively, and δa 0 is the carrier phase acceleration error.
The system model for this implementation is written as follows: where β converts units of rad/s into units of chips per second. w A is the process noise for the amplitude; w mp is the process noise for the code phase error to account for code multipath effects; w clock is the process noise for the clock bias; w drift is the process noise for the clock drift; and w accel is the process noise for the phase acceleration (which is related to the receiver dynamics).
For the first existing non-coherent pre-filter algorithm (option #2 in [14]), the system model is the same as option #1, whereas the measurements are changed to the output of the carrier discriminator function and combination of I and Q, which are shown as follows: The relationship between states and measurements in option #1 would be nonlinear, and option #2 has the problem of the measurement noise correlation originating from the nonlinear combination of I s and Q s data. Besides, the signal amplitude item in option #1 may suffer the initial value setting problem and cause a convergence speed of the filter in some cases like a sudden change of the signal amplitude. Conversely, we can exclude the signal amplitude A from the system model and estimate it separately and quickly using the C/N 0 estimator. This change can avoid the initial signal ampl itude value setting of the filter, speed up the convergence speed of the filter, and also reduce the dimensions of the Kalman filter. The signal amplitude item in option #2 is not needed and can also be excluded from the state vector.
The system model of the second existing non-coherent prefilter algorithm (Option #3 in [14]) is shown as follows: Meas. Sci. Technol. 29 (2018) 025103 where A is the normalized signal amplitude, δρ 0 is the pseudorange error, δρ 0 is the pseudorange error rate, δρ 0 is the pseudorange error accelerator, and δI on is the ionospheric error.
The accuracy of the pseudorange information and ionospheric correction error information (especially in singlepoint operation) are usually not accurate enough for carrier phase tracking in vector-tracking and deeply-coupled mode. Therefore, option #3 is not appropriate for carrier tracking, as concluded by [14].

2.2.
Modification and improvement of the pre-filter algorithms 2.2.1. Coherent pre-filter algorithm. Firstly, we exclude the signal amplitude A from the system model and estimate it separately using the C/N 0 estimator. The detail of A in (1) and (2) can be further described as where c/n 0 represents the carrier power-to-noise density (unit of Hz), T is the integration interval, and σ IQ is the standard deviation of noise. Then, the state vector and the system model of the coherent pre-filter algorithm can be modified as It is known that in the coherent pre-filter algorithm, the GNSS accumulated correlator outputs I s and Q s directly to the Kalman filter as measurements in the coherent algorithm. The six-measurement model with measurements in-phase and quadra-phase prompt, early and late (I P , Q P , I E , Q E , I L and Q L ) are used as the pre-filter algorithm, shown as Besides, the ideal autocorrelation function R (·) is not differentiable and also not realistic when the input RF signal has passed through a band-pass filter [21][22][23]. A more realistic autocorrelation function, which is a 6th order polynomial approximation of R (·), is used in the local filter as follows: As shown in figure 1, the blue curve denotes the actual measured curve coming from the GNSS IF signal collector, the black curve is the nominal autocorrelation curve and the red curve denotes the fitting curve of the 6th order polynomial approximation (prompt branch). The other two curves are fitting curves of the 6th order polynomial approximation for early and late branches, respectively. It can be seen that the fitting curves of the 6th order polynomial approximation are more realistic than the nominal autocorrelation curve, especially when the code phase error is small. Although the approximation needs more computation than the nominal autocorrelation function, it can get a better accuracy of the autocorrelation function.
To solve the nonlinear problem and get a higher filter accuracy, a five-degree cubature Kalman filter (5th-CKF) for the coherent pre-filter is proposed. The 5th-CKF uses a series of cubature points to propagate the a priori and a posteriori statistical characteristics. The core of the CKF is a cubature transformation based on the spherical-radial rule [24,25].
The five-degree spherical-radial cubature rule's points and weights can be calculated as follows: where e i denotes a unit vector in the direction of coordinate axis i. s + i and s − i are described as The coherent pre-filter based on 5th-CKF works as follows.
The Cholesky decomposition of P k−1|k−1 is calculated as follows: The cubature points are calculated as Then, the sample points are obtained by propagating the above cubature points through the system model in (10), as follows: where F is the system matrix of the coherent pre-filter.
One-step state prediction x k|k−1 is then obtained by the weighted linear combination of sample points, as follows: One-step state prediction error covariance P k|k−1 is updated as follows: 2.2.1.2.Measurement update. The Cholesky decomposition of P k|k−1 is calculated as follows: The cubature points are calculated as Then, the sample points are obtained by propagating the above cubature points through the measurement equation in (11), as follows: One-step measurement prediction ẑ k|k−1 is then obtained by the weighted linear combination of sample points as follows:ẑ The auto-correlation covariance matrix P zz,k|k−1 is obtained as The cross-correlation covariance matrix P xz,k|k−1 is calculated as follows: The Kalman filter gain is calculated as follows: The state estimation x k|k is calculated as follows: The state estimation error covariance P k|k is calculated as follows: where x k|k and P k|k are used in the next iteration.

Non-coherent pre-filter algorithm.
For the non-coherent pre-filter algorithm, we simplify the state vector and the system model as Meanwhile, the measurements are designed as where The modification can be summarized as follows. First, the signal amplitude and carrier phase error state are excluded from the system model shown in (31). Then, we replace the carrier phase discriminator by a carrier frequency discriminator to estimate the carrier frequency error and its derivatives. The output of the code phase discriminator is used to observe the code errors, which can be seen in (33). Besides, it can be seen from (31) that the code state and carrier state are modeled as independent of each other.
The reason is that the noise characteristics of I and Q almost fulfill an additive white Gaussian noise (AWGN) assumption, so the measurement noise of the coherent pre-filter algorithm would be independent. However, the discriminators' outputs or the nonlinear combinations of I s and Q s data are considered as measurement information in the non-coherent pre-filter algorithm, so any two kinds of the measurement noise would not be independent, which violates the a priori condition of the Kalman filter [26]. Thus, we use the carrier frequency discriminator to keep carrier tracking in order to get a robustness performance. The carrier phase tracking is mainly maintained by traditional carrier phase discriminator in (5), but only the carrier frequency tracking would be maintained in a lower C/N 0 environment. In addition, the independent modelling of the code and carrier state would further reduce the influence of measurement correlation.

Hybrid-based adaptive pre-filter strategy
In order to improve the accuracy and robustness of the system, this paper proposes a hybrid-based adaptive pre-filter strategy according to the level of C/N 0 . The diagram of the proposed system is shown in figure 2.
The adaptive hysteresis controller is designed to implement an automatic switch between coherent and non-coherent modes. First, the C/N 0 estimation is calculated by the method of narrow-to-wideband power ratio (NWPR) [27]. The prompt I and Q samples over the accumulation interval τ are divided into M intervals. These samples are then used to calculate a narrowband power, P nb , over the whole accumulation interval and a wideband power, P wb , over the interval τ /M , then summed over τ . These power estimates are described as where The ω IPi and ω QPi are normalized random noise samples from a zero-mean unit variance normal Gaussian distribution.
The narrow-to-wide power ratio, P nw , is simply the ratio of the two power measurements. However, to reduce the noise, the measurement is averaged over K iterations. Thus, Finally, the measured carrier power-to-noise density (Hz) is derived as a function of the power ratio measurement, shown as Besides, the standard deviation of the can be calculated as follows: Just as the C/N 0 value contains errors, a single threshold used to decide whether to switch the system mode or not may cause an abnormal frequency switch between the system's modes. To avoid this case, the adaptive hysteresis controller is designed based on the thought of a hysteresis-comparator circuit, which is shown in figure 3. The controller is initialized in coherent mode and its control direction is set as down to allow the system to switch to non-coherent mode if the C/N 0 is lower to K 1 . The lower C/N 0 threshold is preset by the user (e.g. 35 dB-Hz) according to the coherent mode's better work range; the mode will change to coherent mode when the signal enhances again and exceeds the K 0 threshold.
The threshold interval is decided based on the standard deviation of the C/N 0 in (38) adaptively. A simple empirical value of the threshold interval can also be set (e.g. 1-3 dB-Hz) according to the empirical accuracy of the C/N 0 .
In the hybrid pre-filter's processing strategy, the integrated filter's measurements from the coherent pre-filter's output and non-coherent pre-filter's output are weighted by their noise covariance.

Integrated navigation filter
The deep fusion of the combined GNSS and INS is accomplished by an integrated navigation filter. The states vector matrix X nav of the navigation filter is shown as The navigation filter estimates the errors of the user's three position, three velocity, three attitude, three gyroscope bias, three acceleration bias, clock bias and clock drift, respectively. The position error states are shown in a geodetic coordinate system. The velocity error states are shown in an east-northup (ENU) frame.
The outputs of the hybrid pre-filters are taken as measurements for the integrated filter based on the errors of the replica code and carrier signals having relationships with the residual errors of the INS. The measurement of the integrated filter can be written as Z nav = δρ 1 , δρ 2 , · · · , δρ n , δρ 1 , δρ 2 , · · · , δρ n T where δρ j and δρ j represent the pseudorange and pseudorange rate residual of jth satellite respectively. The measurement states are derived from the following equation: where δτ and δf are the code phase error and carrier frequency error coming from the pre-filter, respectively. f carrier0 and f code0 denote the normalized carrier frequency and the ranging code chipping rate of GNSS signals. c is the speed of light. The observation matrix given below in (42) is linearized at each measurement epoch to accommodate the error measurements from each channel:  (44) (ϕ, λ, h) are latitude, longitude and height over the ellipsoid, respectively. R n is the radius of curvature in prime vertical and f is the degree of rotating ellipsoid. C 1 and C 2 are the transform matrixes of different coordinate systems for position and velocity, respectively. e j x , e j y , e j z are the components of the unit vector in the line-of-sight direction from the user navigation solutions to the jth GNSS satellite, which can be calculated as follows:  where X u and X j are the position of the user and jth GNSS satellite, respectively.

NCO feedback control
The information feedback from the integrated navigation solution to the GNSS tracking loops forms another important part of the deep-coupling strategy. The corrected position and velocity states of the INS and the estimated clock states are converted into pseudoranges and range rates (Doppler frequencies), and subsequently used to update the code and carrier NCOs. The Doppler frequency for the jth tracking channel is predicted using (46) or can be a filtered version of its measurement: where ν j s and t j f are the velocity vector and clock drift of the jth satellite. ν u and t f are the user's velocity vector and clock drift. c is the speed of light.
Then, the carrier frequency is generated aŝ where f nco is the carrier NCO correction item which is generated by the estimated carrier phase errors after passing the carrier loop filter. The pseudorange for the jth tracking channel is predicted in (48): are the user's predicted position and clock bias. x j− s , ŷ j− s , ẑ j− s are the jth satellite's position. The code frequency is generated aŝ where τ N is the code NCO update period. k denotes the kth update of the NCO. Another way of generating the code frequency is by using the carrier-aided code structure, which can be expressed as follows:f

Test description
Two sets of kinematic data were used to compare the performance of the adaptive deeply-coupled system with hybrid prefilters processing. The first kinematic data were collected using a hardware GNSS simulator to assess the performance of the modified pre-filter algorithms. The second data were collected using vehicle tests to compare the performance of the adaptive deeplycoupled system with hybrid pre-filters processing (Hybrid-DC), the single coherent deeply-coupled method (Coherent-DC) and the single non-coherent deeply-coupled method (nonCoherent-DC) under a GNSS-challenged environment.

Simulation test description.
The HWA-RNSS 7300 hardware simulator is a multiple constellation and frequency GNSS simulator. The GNSS IF signal collector is a digital down converter that can receive GNSS signals through the GNSS antenna and then convert the high-frequency GNSS signals down to lower frequency signals. The data collection process is shown in figure 4. In this simulation, the GPS L1 CA signals are simulated. The parameters of the simulated errors are set by the simulator and the known broadcast ephemeris which is stored in the simulator. The simulated errors include ionospheric error (using the Klobuchar model), tropospheric error (using the Hopfield model), the errors of broadcast orbits, the satellites' clock errors and relativistic effect. All these errors are preset by the simulator.
Besides, the true trajectory files from the hardware simulator are used to simulate the IMU information. Table 1 shows the detail parameters defined in the simulation test system.

Vehicle test description.
The vehicle experiment platform consists of a GNSS IF signal collector, three inertial measurement units based on micro-electro-mechanical systems (MEMS-IMUs, only one used), two GNSS antenna (only one used), a splitter, a data logging computer and a reference system.
The experiment equipment is carried on a car, shown in figure 5(a). Figure 5(b) shows the data collection system. The GNSS IF signal collector is the same as above in figure 4. The IMU is manufactured by Inertial Labs. The reference system is shown in figures 5(c) and (d). Two ProPak6 receivers are used as rover receiver (configured as a GNSS/INS version) and base station receiver, respectively. The detail parameters defined in the vehicle test system are the same as the simulation test, which is shown in table 1.  The proposed system works in single-point mode, while the reference system works in RTK mode and provides the precise position and velocity results as references to evaluate the performance of the proposed system.

Simulation test.
During the test, the parameters of visible satellites and received signal power were set and shown in table 2.
The existing coherent pre-filter (E-Coherent), modified coherent pre-filter (M-Coherent), existing non-coherent prefilter (E-nonCoherent) and modified non-coherent pre-filter (M-nonCoherent) methods are compared firstly for their tracking and navigation performance.
The carrier phase lock indicator (PLI) is used as the data analysis criterion. The PLI can be expressed as The PLI is equal to 1 when the phase is perfectly locked and it is equal to −1 when the phase has no lock. We chose four satellites -SV2, SV10, SV17 and SV28 -to analyse the performance of the different algorithms. Figure 6 shows the variation in carrier PLI of SV17 and SV28 using different pre-filter algorithms. Table 3 shows the PLI value statistics.
The Doppler frequency reference value from the hardware simulator is used to assess the tracking accuracy of Doppler frequency for the different algorithms. Figures 7-10 shows the Doppler frequency errors of SV17, SV28, SV2 and SV10 using different algorithms, respectively. Table 4 shows the Doppler frequency error statistics.
As shown in figure 6 and table 3, both of the coherent algorithms reach a better carrier phase lock than the non-coherent algorithms for high signal-to-noise signals. Besides, both of the M-Coherent and M-nonCoherent algorithms gain an improvement compared to the E-Coherent and E-nonCoherent algorithms, respectively. The tracking of SV2 and SV10 are lost for the coherent algorithms and only the carrier frequency for the non-coherent algorithms are shown in figures 9 and 10.
As shown in figures 7-10 and table 4, the Doppler frequency errors of the M-Coherent algorithm are reduced around 42% of the errors of E-Coherent algorithm for high signal-tonoise signals. Meanwhile, the errors of M-nonCoherent algorithm are reduced around 41% and 29% of the errors of the E-nonCoherent algorithm for high signal-to-noise signals and low signal-to-noise signals, respectively. In addition, both the coherent algorithms reach a better Doppler frequency tracking accuracy than the non-coherent algorithms for high signal-tonoise signals. However, the non-coherent algorithms can track lower C/N 0 signals (i.e. SV2 and SV10) which means that the non-coherent algorithms have stronger robustness than coherent algorithms.
The position and velocity errors using different pre-filter algorithms are shown in figures 11 and 12, respectively. Tables 5 and 6 show the position and velocity error statistics, respectively. It is noted that the start epoch of figures 11 and 12    (also for figures 14, 18, 19 and 20) corresponds to the GPS time when the system starts to calculate the navigation solution.
The position error results shown in figure 11 and table 5 indicate that the position errors of the M-Coherent algorithm are reduced around 30%, 26% and 48% of the errors of the E-Coherent algorithm in east, north and up direction, respectively. The position errors of the M-nonCoherent algorithm are reduced around 10%, 2% and 22% of the errors of the E-nonCoherent algorithm in east, north and up direction, respectively. It can be seen that both of the coherent algorithms reach a better position accuracy than the non-coherent algorithms. Besides, all the coherent and non-coherent algorithms have a better position accuracy than the GNSS-only solution.
The velocity error results shown in figure 12 and table 6 indicate that the velocity errors of the M-Coherent algorithm are reduced around 45%, 46% and 39% of the errors of the E-Coherent algorithm in east, north and up direction, respectively. The velocity errors of the M-nonCoherent algorithm are reduced around 42%, 36% and 37% of the errors of the E-nonCoherent algorithm in east, north and up direction, respectively. It can see that both the coherent algorithms reach        The vehicle test is conducted to compare the performance of the adaptive deeply-coupled system with hybrid pre-filters processing (Hybrid-DC), the single coherent deeply-coupled method (Coherent-DC) and the single noncoherent deeply-coupled method (nonCoherent-DC) under GNSS-challenged environment. The Hybrid-DC, Coherent-DC and nonCoherent-DC methods consist of the proposed modified coherent and non-coherent algorithms. Figure 13 shows the trajectory of the vehicle test. The car passes through the building, seen as a sheltered environment as shown in figure 13.
It can be seen in figure 14 that all C/N 0 values of the satellites decrease rapidly when the car passes through the building. During the pass time, almost all the satellites are blocked. After that, the signals recover gradually. Figure 15 shows the tracking modes for different satellites using the Hybrid-DC method. The tracking mode of each channel switches automatically according to the signal quality to search for an optimal performance.
In figure 15, tracking mode 1 denotes the scalar traditional mode, 2 denotes the non-coherent mode and 3 denotes the coherent mode. It can be seen that the Hybrid-DC method works in hybrid mode, i.e. some of its channels work in coherent mode while others work in non-coherent mode. Note that the scalar traditional mode indicates that the channel just starts to track at the beginning or restarts tracking after re-acquision.
The tracking information of I P and Q P for SV7 and SV27 are shown in figures 16 and 17. It can be seen that the signals are blocked at about 26 s for both SV7 and SV27 when the car begins passing through the building. The channels are maintained mainly by the navigation feedback information (state 1). The channels using the Coherent-DC method lose lock at about 38 s (state 2) and return to re-acquision and re-tracking (state 3) at about 46 s for SV7 and about 40 s for SV27. However, the channels using the nonCoherent-DC and Hybrid-DC methods remain in state 1 until the car    passes out of the building and recover tracking quickly (state 4). These results indicate that both of the nonCoherent-DC and Hybrid-DC methods have a stronger robustness for maintaining and recovering the blocked signal quickly. Figure 18 shows the number of available satellites for different methods during the operating time. It can be seen that the proposed Hybrid-DC method can track the most number of satellites all the time. The nonCoherent-DC method also has a better tracking performance than the Coherent-DC method due to its better robustness.      Tables 7 and 8 show the position and velocity error statistics, respectively.
The position error results shown in figure 19 and table 7 indicate that the position errors of the Hybrid-DC method are reduced around 15%, 20% and 26% of the errors of the Coherent-DC method and around 32%, 34% and 59% of the errors of the nonCoherent-DC method in east, north and up direction, respectively. Besides, all the coherent, non-coherent and hybrid algorithms have a better position accuracy than the GNSS-only solution.
The velocity error results shown in figure 20 and table 8 indicate that the velocity errors of Hybrid-DC method are reduced around 10%, 13% and 29% of the errors of the Coherent-DC method and around 41%, 40% and 37% of the errors of the nonCoherent-DC method in east, north and up direction, respectively. Besides, all the coherent, non-coherent and hybrid algorithms have a better velocity accuracy than the GNSS-only solution.
The vehicle results indicate that the proposed Hybrid-DC method reaches an optimal tracking and navigation performance by combining the advantages of the coherent and non-coherent algorithms. In the test, the robustness of the non-coherent mode enables the Hybrid-DC method to track more satellites especially in a GNSS-challenged environment. Meanwhile, the coherent mode helps the Hybrid-DC method to reach a better accuracy.

Conclusions and future work
The existing pre-filters of the deeply-coupled structures are modified and the improvement of the tracking performance are proved by the simulation test. An adaptive deeply-coupled GNSS/INS navigation system with hybrid pre-filters processing is proposed to combine the advantages of the coherent and non-coherent algorithms. The vehicle test results show that the proposed system can achieve accuracy and robustness performance preferably under a GNSS-challenged environ ment, compared to the single coherent and non-coherent deeplycoupled method.
Note that only the GPS constellation and L1 CA signal are designed and simulated in the presented system, other GNSS constellations (such as Beidou, GLONASS and Galileo) can be included in the future work to realize joint tracking and navigation so as to reach a better performance.