An Adaptive Low-Cost GNSS/MEMS-IMU Tightly-Coupled Integration System with Aiding Measurement in a GNSS Signal-Challenged Environment

The main aim of this paper is to develop a low-cost GNSS/MEMS-IMU tightly-coupled integration system with aiding information that can provide reliable position solutions when the GNSS signal is challenged such that less than four satellites are visible in a harsh environment. To achieve this goal, we introduce an adaptive tightly-coupled integration system with height and heading aiding (ATCA). This approach adopts a novel redundant measurement noise estimation method for an adaptive Kalman filter application and also augments external measurements in the filter to aid the position solutions, as well as uses different filters to deal with various situations. On the one hand, the adaptive Kalman filter makes use of the redundant measurement system’s difference sequence to estimate and tune noise variance instead of employing a traditional innovation sequence to avoid coupling with the state vector error. On the other hand, this method uses the external height and heading angle as auxiliary references and establishes a model for the measurement equation in the filter. In the meantime, it also changes the effective filter online based on the number of tracked satellites. These measures have increasingly enhanced the position constraints and the system observability, improved the computational efficiency and have led to a good result. Both simulated and practical experiments have been carried out, and the results demonstrate that the proposed method is effective at limiting the system errors when there are less than four visible satellites, providing a satisfactory navigation solution.


Introduction
Inertial navigation systems (INS) and global navigation satellite systems (GNSS) have been widely used to provide accurate and reliable navigation information (i.e., attitude, velocity and position). GNSS has long-term stability in ideal conditions, but has certain limitations in urban areas (e.g., a city downtown), inside tunnels and under heavy tree canopies. INS is completely self-contained and autonomous, but suffers from accuracy degradation over time. The integration of GNSS and INS can maximize their respective advantages, minimize their individual drawbacks and provide a more satisfactory navigation solution. Especially in recent years, Micro-Electro-Mechanical System (MEMS) sensors have met the specifications and requirements needed for applications in various fields because of their low power consumption, small size, light weight and low cost. Accordingly, low-cost GNSS/INS integration systems have become an increasingly attractive option. In most commercial GNSS/INS products, the GNSS-derived positions and velocities are integrated with MEMS sensors through a Kalman filter (KF) for the navigation solution [1,2]. In the meantime, the IMU is also used to provide the navigation information during GNSS signal outages and can be used for fast GNSS signal reacquisition [3,4]. A precondition for utilizing such loosely-coupled integration methods is that at least four satellites are visible. However, this premise is not always satisfied, especially in urban areas. If less than four satellites are visible, the filter cannot be updated, because the GNSS position is unavailable.
Several studies have focused on providing continuous and accurate position results with less than four satellites [5,6]. The common approach is to use dead-reckoning with inertial sensors and other sensors to bridge GNSS outages. To mitigate the drifts of dead-reckoning, several methods have been presented. One direct method is to make use of external sensors or equipment, such as magnetometers or an odometer, to provide heading or velocity updates [7,8] when GNSS is invalid. Moreover, cameras and laser scanners can be used to extract the features of scanned objects for position and heading determination in urban scenarios when the satellite number is below four [9,10]. This kind of method is effective, but relies on additional sensors, which are not always affordable. Another popular and attractive method to solve the navigation problem with less than four satellites is the non-holonomic constraints (NHC) [11,12]. This method takes advantage of the knowledge of the vehicle's dynamics and the physical conditions that the vehicle experiences. This knowledge is utilized as measurements in the vehicle state estimation process [13]. However, this method can only be applied when constrained conditions exist during the dynamic process.
Additional literature has contributed to enhancing the attitude estimation without the need for extra hardware. Examples of these methods include: using nonlinear estimation algorithms [14] or using neural networks; enhancing the quality of sensor data through calibration [15], stochastic modeling [16] and de-noising [17]; and introducing a priori information, such as control inputs, vehicle maneuver models and kinematic constraints [18]. Additionally, some other methods, such as post-processing with a Rauch-Tung-Striebel (RTS) smoother, provide more reliable results [19] and are always used in applications for which it is not critical to obtain the position solution in real time, like mobile mapping.
However, these methods have their limitations and, thus, only work under specific situations. On the one hand, methods based on additional sensors (laser scanner, camera) are effective, but are not always affordable for civilian navigation applications and cannot properly provide real-time solutions. On the other hand, approaches that utilize a priori information can improve the navigation performance for some applications under specific scenarios; however, these methods cannot completely solve the divergence of the navigation errors. The most important point is that these listed methods do not consider or evaluate the quality of measurement in the process. Because the situation in which a reduced number of visible satellites occurs most often when the signal is heavily blocked, the remaining visible satellite measurements will properly have a lower performance that affects the filter solution if we do not adopt approaches that adjust the filter parameters.
In order to solve the listed problem and to achieve the main objective of this paper, which limits the system errors when the GNSS signal is challenged, such that less than four satellites are visible in a harsh environments, we put forward an adaptive tightly-coupled integration system with height and heading aiding (ATCA), which adopts an adaptive noise covariance tuning strategy and combines the external aiding measurement in both a directly and pseudo measurement aiding manner. The main contributions of our research include: 1. We present a novel adaptive method to tune the Kalman filter measurement noise covariance matrix® in real time online and mitigate the effect of GNSS measurement errors caused by the changing of visible satellites. The proposed method has the advantage that the tuning process is dependent on only measurements and is totally decoupled from estimated state vectors. 2. This research suggests using information from external sensors to enhance the navigation performance, and the whole system works under a filter switching strategy. This means that when at least four satellites are visible, the system works in standard tightly-coupled mode without employing the external measurements in order to improve the computational efficiency; when three satellites are visible and the barometer data are available, the system switches to the height aiding filter; and when two satellites are available and the magnetometer and height information are also available, the system changes to the height/heading aiding integration filter. 3. We utilize both the barometer and magnetometer measurements, not only in a directly aiding manner, but also a pseudo-measurement and velocity measurement manner. Specifically, we present the method of using the height measurement by approximately modeling the Earth as a static pseudo satellite; also, the magnetometer measurements are used to aid the velocity measurement, which implicitly assumes that the receiver moves in the direction of its heading, which actually is an implicit NHC approach. The benefit is that the measurements are more deeply coupled with the indirect related states in the Kalman filter. For example, the height measurements can even be potentially correlated with the horizontal position errors; also, the magnetometer measurements may enhance not only the INS heading, but also the horizontal velocities.
This paper is organized as follows: Section 2 describes the standard GNSS/INS tightly-coupled method; Section 3 introduces the proposed method, including the overall system design; Section 4 illustrates the theorem and the proof of the method for adaptively tuning the measurement noises and the utilization of this approach in a GNSS/INS tightly-coupled system. Section 5 provides the height and heading measurements aiding the filter; Section 6 gives the design and implementation of the hardware platform of the tightly-coupled integration system. Section 7 provides both simulation and real test results, and Section 8 finally draws the conclusions.

Standard Tightly-Coupled GNSS/INS Integration
Before introducing the proposed ATCA method, we describe the standard tightly-coupled GNSS and INS integration system here first, and its block diagram is shown in Figure 1. As shown in Figure 1, the GNSS/INS Kalman filter processes the difference of GNSS output and INS derived pseudo-ranges and pseudo-rates as measurement directly and corrects the INS mechanization in a closed loop with the estimation results. The Kalman filter state (system) and measurement equations are described separately in this section.

Tightly-Coupled System State Model
The tightly-coupled integration system uses the INS error propagation model as its dynamic model. The state vector is composed of the INS navigation errors (i.e., attitude errors, velocity errors and position errors), IMU sensor errors (e.g., gyroscope and accelerometer biases) and the distance error caused by clock errors (e.g., clock bias and clock drift) of the GNSS receiver. The state vector is given as follows: [ , , , , , ] x y z    represent gyroscope and accelerometer biases; cdt and cdt denote the distance error caused by the receiver clock bias and clock drift, respectively. The subscripts E, N and U denote the east, north and up components in the local navigation frame (l-frame), and the subscripts x, y and z denote the right, front and up components in the body frame (b-frame). Then, according to the chosen state vector, the system dynamic model can be written as follows:         9 2 9 6 9 2 1 9 9 9 6 6 9 9 2 6 6 6 6 6 2 2 66 2 9 2 6 2 6 2 6 2 2 3 22 where 0 and I separately denote the zero and unity matrix. Several literature works [20,21] have described the INS error-based dynamic model; the model is not illustrated here specifically, but the detailed description of the system model is listed in Appendix for reference.

Tightly-Coupled System Measurement Model
In the GNSS/INS tightly-coupled integration system, the differences between GNSS-measured and INS-derived pseudo-ranges and pseudo-rates are taken as observations for the filter: . Because the measurement equation has also been introduced in several literature works [22,23] and is not illustrated here specifically, the detailed description of the measurement model is listed in Appendix for reference. Although the standard tightly-coupled GNSS/INS integration system is designed specifically for navigation scenarios with less than four satellites, the filter performance degrades dramatically because of the lack of measurement information [24]. Two reasons mainly contribute to the performance degradation. The first one is that the observability matrix is not a full column rank matrix, and the system becomes unobservable when the visible satellite number is less than four [25]. In this situation, the rank of the null space is greater than one, so the existing measurement information cannot estimate the exact INS system error, and the final navigation solution's error has an accumulating trend. In other word, the rest of the satellite information is not strong enough to provide the position constraints. The second reason is the negative effect of the measurement error. Typically, the less than four satellites situation most often happens when the GPS signal is heavily blocked, such as driving downtown. The block that causes the invisibility of the majority of the satellites will in the meantime lead to the remaining visible satellites suffering from large measurement error. Then, in the measurement update of the Kalman filter, the inaccurate satellite measurement information unfortunately further influences the system state estimation. Especially when a low-cost IMU is used, the positioning error may increase rapidly and even lead to the divergence of the filter.

Overview of the Proposed System
Based on the drawback analyses of the standard tightly-coupled system previously described, aiming to solve the current existing problems, the main idea to solve the problem is, first, adding external auxiliary measurements, such as height and heading, to increase the system observability and to provide stronger position and velocity constraints; second, adopting the adaptive measurement noise estimation to have the evaluation of the measurement quality and optimally blend the data from the GNSS and INS.
Hence, the proposed ATCA method mainly focuses on the following points: (1) adopt an adaptive Kalman filter to adjust the measurement noise covariance matrix (R) in real time based on the situation, instead of using a constant matrix, to reflect the noise characteristics accurately; (2) employ external auxiliary measurements effectively; and, finally; (3) redesign the filter for different situations and switch them in the navigation process. The system scheme is shown in Figure 2. In the ATCA system, first, an adaptive measurement noise estimation is introduced, which is shown in the red block, and it makes use of the two different sources of pseudo-range and pseudo-rate to estimate measurement noise variance and then adjusts it online. Compared to traditional methods, which are based on the innovation sequence [26,27], this adaptive method takes only GNSS measurements and INS predictions into consideration. Therefore, this method is totally decoupled from estimated state vectors.
Second, if at least four satellites are visible, the ATCA system works in the traditional tightly-integrated mode and combines the GNSS-measured pseudo-range and pseudo-rate with INS to construct the measurement vectors, as described in Section 2 before, and this part is shown in the blue block in Figure 2. The filter utilizes the residuals to obtain the INS error estimates and corrects the navigation components in a closed loop.
Finally, when fewer satellites are visible, the ATCA system works in aiding mode, and this part is shown in the green block in Figure 2. In detail, when only three satellites are available, the system introduces an external height measurement and switches to the height-aiding mode. A new algorithm is presented in this mode, and it treats the Earth as a static pseudo satellite and adds an ellipsoid equation-based position constraint into the measurement equations. Meanwhile, when only two satellites are available, the system changes to height/heading integration aiding mode; the magnetometer information is introduced and used in a velocity measurement aiding manner to correct not only the heading, but also the horizontal velocities. The main reason to adopt the switch filter strategy is to decrease the system computational burden for the real-time navigation application. We build the prototype of our tightly-coupled integration system aiming to provide a real-time navigation solution in practice, so the system computational efficiency is also a significant point that needs to be considered in the design process. With the filter switch strategy, we only involve the aiding information when less than four satellites are available, and the measurement matrix will have a lower dimension in the more than four satellites available periods, so the filter computation will be decreased in such a situation. As referred to in [28], if we only consider the multiplication computation here, the multiplication number for the one-step recursion of the Kalman filter is 3 . Hence, if the height and heading measurements are all included in the measurement equations (n = 17, m = 12) all of the time, the multiplication number is 25,823 for the one-step recursion, while the number is only 19,499 during the more than four visible satellites period (n = 17, m = 8) with the filter switching strategy. Therefore, we can save 24.5% multiplication operations for the one-step recursion of Kalman filter. Moreover, we do not have to utilize a blunder detector to evaluate the measurement of the barometer and magnetometer in each epoch to save the computational resources. Furthermore, we do not need to collect the height and heading information from the external equipment through the I2C (Inter-Intergrated Circuit) or UART (Universal Asynchronous Receiver/Transmitter) interface in every sample epoch to save the system hardware resources, and the savings will become obvious when the system requires a higher measurement sampling frequency.

Adaptive Kalman Filter
Real-world navigation scenarios are complex and unpredictable. For example, it is a common case that some satellites are blocked or becoming invisible. When one satellite is losing its sight, the satellite pseudo-range and pseudo-rate errors will increase significantly and even become unacceptable before the satellite becomes invisible. Moreover, the visible satellites may suffer from large pseudo-range and pseudo-rate errors. In other word, the real measurement noise is strongly dependent on the navigation scenarios. However, in many applications, it is difficult to predict the navigation environment, and hence, the Kalman filter itself is preferred to be smart enough to tune the measurement noise covariance adaptively according to the navigation environment and measurement quality.
In order to solve this problem, the adaptive Kalman filter is the most commonly-used method and can be found in several literature works [29,30]. However, this method is always an innovation sequence-based adaptive estimation (IAE) approach and will involve the sate vector X during the calculation of the measurement noise covariance. Therefore, if the state is not well estimated, a negative effect properly occurs for the filter performance. Here, in order to avoid such risks, a novel adaptive method is introduced based on the redundant measurement system noise estimation theorem. Both the theorem and proof of the proposed method are provided in this section.

Theorem: Noise Estimation Based on Redundant Measurement Systems
Assume that 1 () Zk and 2 () Zk are measurements of the value Z from different systems at time k.
Here, the measurements from System 1 and System 2 can be expressed as follows: where 1 () Vk and 2 () Vk are independent and zero mean white noises, 1 () fk and 2 () fk are trend items of the measurement errors. If the following conditions are satisfied: The measurement noise variance of System 1 can be estimated as: where:

Proof of the Theorem
The above theorem can be proven as follows: First, calculate the difference sequence (i.e., the differences between every two adjacent measurements) of the two separate measurement systems: Then, subtract the two difference sequences and yield the second order difference sequences; the trend items 1 f and 2 f are extremely small values compared to the measurement noise, so they are neglected after subtraction: Since 1 () Vk and 2 () Vk are uncorrelated, zero mean white noises, the autocorrelation of the second order difference sequences is: When the prerequisite Equation (5) is satisfied, the variance of measurement 1 Z can be calculated as:

Availability of Using the Theorem in a GNSS/INS Tightly-Coupled System
The precondition of the theorem is that two separate measurement systems are available for the same value Z. This is suitable for the tightly-coupled integration system because the GNSS can provide the measurements of pseudo-range and pseudo-rate in a direct manner, and the INS can provide them in an indirect approach. Hence, the GNSS and INS are treated as Systems 1 and 2, respectively, in the proposed system.
On the other side, as the INS owns the short-term accuracy characteristic, the INS errors that accumulated in several seconds are much smaller than the GNSS errors and, thus, can be neglected. Therefore, the tightly-coupled GNSS/INS also meets the prior condition in Equation (5), that is: Hence, the proposed method can be applied in the tightly-coupled GNSS/INS system to estimate the variances of the GNSS pseudo-range and pseudo-rate noises. Furthermore, a sliding window strategy is designed for noise estimation. There are two main reasons for this design. First, the measurement noise is not always identically distributed and may change during the process; thus, using a sliding window can track the real-time noises accurately and mitigate the influence of historical information. Second, the INS errors are relatively smaller than the GNSS errors in each sliding window, which can lead to more accurate R estimation results. The formula for the second reason is:   : : : : where k denotes the current time epoch and M denotes the size of the sliding window and is usually set as 20-50. The value of M decides the contribution of historical data to the R estimation.

Height/Heading-Aiding Modes
Except for the adaptive Kalman filter, another important and indispensable measure is to introduce the external measurement, actually the height and heading aiding to improve the system performance in GNSS signal-challenged environment. The proposed ATCA system includes both the height and heading aiding, and the system block diagram is shown in Figure 3. Figure 3 shows the height and heading-aiding mode in the tightly-coupled integration system. In order to effectively make use of these measurements and to maximize their contributions to improve the performance, this external information works in both directly aiding and measurement aiding manners in the proposed system, and the specific descriptions are provided in this section. Figure 3. External measurement aiding system scheme.

Height Aiding
The basic idea of using the height aiding is that if the height is constrained to a known value, then the remaining unknowns can be solved with one less measurement from the satellites. The height aiding is divided into two manners. The first one is the directly aiding manner, and it adds the height difference in the measurement model, which is directly relative to the state vector h  . The second one is the pseudo-measurement manner, and it assumes that the Earth is a static satellite, where an extra pseudo-range measurement is established and is added to the filter. In this way, it is able to provide a better position solution and to increase the horizontal solution.

Direct Height Aiding
The difference between the height from external sources, such as a barometer, and the INS-computed height is added into the measurement equation. The barometer can measure the local atmospheric pressure and calculate the height to aid. Considering both GNSS and height updates, the measurement model under the height-aiding mode is: In general, direct height aiding can enhance navigation performance by directly correcting for the height error and indirectly improving other states related to the height in the Kalman filter system model. To provide a stronger correlation between height measurement and the navigation states, a pseudo-measurement height aiding method is presented in the next subsection.

Pseudo-Measurement Height Aiding
As shown in Figure 4, the Earth can be imaged as a pseudo-satellite, which keeps static at the Earth's center (i.e., the position of this pseudo-satellite is (0, 0, 0)). Therefore, an extra pseudo-satellite update can be applied, and its constraint the point lies on the surface of approximation ellipsoid.
where ( , , ) x y z and ignoring the higher-order small items, we could obtain:

INS
h The Earth Center

Rm
Then the pseudo-measurement model could be established as: Compared to the directly aiding manner, the pseudo measurement aiding approach can deeply relate the height measurements with the position solutions.

Heading Aiding
Typically, in heading aiding mode, we derive the external heading information with the magnetometer sensor and use it in two different manners to aid the ATCA system at the same time. The first one is the directly aiding manner, and it adds the heading difference in the measurement equation; the second one is the velocity measurement aiding manner, and it is based on the relationship between heading angle and horizontal velocities; here, the advantage of this manner is that it can provide correction for the velocities. In the proposed heading aiding mode, we implicitly assume that the receiver is only moving in the direction of its heading, and it will not move in the side direction or have other complex motion types. This actually is a kind of implicit NHC, but does not require all traditional NHC conditions, which is also true and can be applied in many practical cases.
Followed by the heading aiding manners, after the calibration of the magnetometer [31], we introduce how to derive an absolute heading through a commonly-used magnetometer sensor, and it follows these steps [32]: (1) leveling the magnetometer measurements by using roll and pitch angles; (2) using the leveled magnetometer measurements to calculate the magnetic heading (i.e., the heading angle from the Earth's magnetic north); and (3) calculating the true heading (i.e., the heading angle from the Earth's geographic north) by adding a declination angle to the magnetic heading.

Direct Heading Aiding
In this aiding manner, the difference between the magnetometer heading and the INS-derived heading is added into the measurement model as: where () Zt  is the added heading observation,

Velocity Measurement Aiding
The derivation of this heading aiding manner starts from the relationship between heading and the horizontal velocities. The true heading  and the INS-derived heading INS  can be written as: where N V and E V denote the velocity in north and east in the local level frame, Substituting Equation (21) into Equation (22), the heading error equation is: Then, the measurement model for the heading aiding is: The measurement model also revealed that this external heading aiding contributes to the system when the vehicle's speed is sufficiently high; otherwise, it may bring error to the velocity estimation. In this system, this heading aiding is activated only when the vehicle's speed exceeds 5 m/s.

System Platform Implementation
We design and implement a tightly-coupled integration system to test the proposed method. The system is comprised of a low-cost IMU, a GNSS receiver, a magnetometer, a barometer and a core processor. The high performance digital signal processor (DSP) TMS320C6416 from Texas Instrument (Dallas, TX, USA) is chosen as the core processor for the proposed system, and the basic command operations, data collection, time synchronization and the navigation solutions' calculation are all built-in. The processor is configured with 2 MB static RAM, 16 MB SDRAM and 4 MB flash memory, and the processing frequency is set up to 1 GHz, where the storage configuration and powerful processing ability guarantee that the proposed tightly-coupled algorithm is capable of running on the device in real time.
The device is configured with four UARTs for data collection with the TL16C752B chip from Texas Instrument (Dallas, TX, USA). The TL16C752B is a dual universal asynchronous receiver/transmitter (UART) with 64-byte FIFOs (First Input First Output); it also has the function of automatic hardware/software flow control, and the data rates can be up to 3 Mbps. Of all of the available four UARTs, three of them are for the INS, GNSS and magnetometer input; the last one is just for the navigation solution output and is connected to the user interface.
The GNSS pulse-per-second (PPS) signal is required for the time synchronization process and is connected to the external interrupt pin of the device. When the PPS signal is generated, it will trigger an interrupt in the processor, and the INS data and the auxiliary measurement data are all time-tagged with the GNSS time; they are in the same time frame [33].
The system combination and constitution are shown in the Figure 5, and all of the components are listed in Table 1. All of the parts of the system are installed in a case and are connected by cables or jumpers inside the case.  The system is comprised of the Crossbow (Milpitas, CA, USA) IMU-440 MEMS sensor, a GNSS receiver, the TCM5 magnetometer by PNI Company (Santa Rosa, CA, USA) and the MS5803 low-cost barometer. The dimensions of the whole system are 238 mm × 172 mm × 200 mm (B × L × H), with a ±0.5 mm dimensional tolerances, and the system power consumption is 33.6 W, where the input voltage is 28 V and the measured current is 1.2 A. The Crossbow (Milpitas, CA, USA) IMU440 MEMS inertial measurement unit used in this system is a six DOF (degree of freedom) MEMS inertial sensor cluster that includes three axes of MEMS angular rate sensing and three axes of MEMS linear acceleration sensing. These sensors are based on rugged, field-proven silicon bulk micromachining technology [34]. The gyroscope's bias stability is 10°/h; the angular random walk is 4.5°/h ; and the measurement range is ±200°/s and can be set up to ±400°/s. The accelerometer's bias stability is 1 mg; the velocity random walk is 0.5 m/s/ h ; and the measurement range is ±4 g and can be set up to ±10 g.
The TCM5 is a low power, electronic tilt-compensated compass sensor module. It integrates a three-axis magnetic-field sensing with three-axis tilt sensing together and can provide the compass heading information [35]. The TCM5 is capable of providing pitch, roll and azimuth angle together, but only the azimuth output is used in the proposed system.

Tests and Results
We conduct both computer simulation and practical experiments to evaluate the effectiveness and performance of the proposed system, and they are illustrated in the following subsections. We utilized computer simulation to investigate the quality of the algorithm when less than four satellites are tracked and guide the design of real tests in advance. Furthermore, we conducted land-based vehicle driving tests for verification.

The Description of the Algorithms for Comparison
In order to have a further assessment of our proposed system, we also employ several previously existing methods here to calculate the navigation solution and compare all of the results together to evaluate the performance. The methods used for the comparison are briefly described below: 1. Standard tightly-coupled integrated system: also referred to as centralized integration. An integration filter is used to fuse INS and GPS measurement. The raw pseudo-range and Doppler measurements from GPS tracking loop output and those from INS prediction are combined to form the input of the centralized integration filter. The filter directly accepts their differences to obtain the INS error estimates [22]. This approach is represented as Standard TC in the following illustration. 2. Standard tightly-coupled integrated system with height and heading aiding: based on the standard tightly-coupled integration system, the external height and heading information are involved in the measurement model of the filter; the differences of INS-derived height and heading and the measured height and heading (from barometer and magnetometer) are added in the measurement equation for the update [23]. This approach is represented as TCA (tightly-coupled with height and heading aiding) in the following illustration. 3. Standard tightly-coupled integrated system with height and heading aiding and the improved Sage-Husa (SG) method for measurement noise estimation: An adaptive measurement noise estimation strategy using the improved SG method is introduced in the previously described "standard tightly-coupled integrated system with height and heading aiding" method. The improved SG is the most commonly-used noise estimation method in adaptive Kalman filter [28]; it is an innovation based adaptive estimation (IAE), which utilizes new statistical information from the innovation sequence to correct the estimation of the states. The measurement noise covariance is derived from the innovative sequence according to the following equation: where k z , k H and k x  k H denote the measurement, measurement matrix and prediction in the Kalman filter. k d denotes the innovative sequence, N denotes the window size, and k R denotes the noise covariance. This approach is represented as TCA with SG in the following illustration.

Simulation Experiment
The benefit of simulation experiments is that the specific test scenarios can be created by software; therefore, it is feasible to obtain the true values to compare with system solutions for algorithm evaluation. The block diagram of the simulation process is shown in Figure 6. A trajectory generator was employed to produce the desired test trajectory and corresponding true IMU data. Then, errors, such as bias, random walk and scale factor errors, were added into the true IMU data to mimic the measured IMU data. Meanwhile, the generated trajectory file was imported into the Spirent GNSS simulator software suite SimGEN™ (Spirent Company, Sunnyvale, CA, USA) to simulate the GNSS data. Finally, the GNSS output was collected and integrated with IMU data for the navigation solution. The simulated trajectory is shown in Figure 6. This trail consisted of three stages, including linear motion with a constant acceleration, uniform linear motion and turning with a constant angular velocity. The satellite visible number was adjusted to less than four randomly in the navigation process through the SimGEN ™ software by turning off some satellite channels. The simulated gyroscope biases were set as 10°/h, and the angular random walk was 20°/h , while the accelerometer biases and velocity random walk were set as 1 mg and 1 m/s/ h , respectively. Meanwhile, the simulated height and heading were generated by adding Gaussian distributed noises to the true values. Figure 7 shows the flight trajectory, and the red arrows show the flight directions. The trajectory is shown in meters scale, and the start point is set as (0, 0). The simulated data are processed with the standard TC, TCA, TCA with SG and ATCA previously discussed for performance evaluation. The initial values of the filters are set the same to assess the navigation solution in the same situation, and the parameters configurations are listed as follows: The simulation experiment lasted 1020 s, and during this process, the visible satellite number is randomly changed through the SimGen™ software. The satellite visible number is shown in Figure 8. The position results of GNSS receiver and the four compared tightly-coupled algorithms are shown in Figure 9.   Figure 9 shows the position error in the ECEF (Earth-Centered, Earth-Fixed) frame of the GNSS receiver and the four compared tight-coupled methods. Figure 9a denotes the GNSS receiver position error; it can be seen that the receiver has no position output in some periods, because the satellite number is below four. Figure 9b-e denotes the position errors of standard TC, TCA, TCA with SG and ATCA. Table 2 lists the RMS position error results of the GNSS receiver and the compared tightly-coupled algorithms, where it includes the periods that the satellite visible number is more than four and less than four in the whole experiment. It is obvious that the proposed ATCA algorithm has the least position error overall no matter the satellite visible number being more than four or less than four. In order to further evaluate the proposed method, we also selected four periods in this experiment to compare the position error and to see more details.    Table 3 shows the RMS of position error in these two periods. Because the satellite visible number is less than four in these two periods, the GNSS receiver has no output, and the performance of the standard TC is much worse than the other three methods. Hence, for a better comparison and presentation in the figure, only the position results of TCA, TCA with SG and ATCA are shown in the figures, but the standard TC position error result is listed in Table 3.    Table 4 lists the RMS of the position error in these two periods. The visible satellite number during the two periods is always more than four, and the GNSS receiver works normally in the two periods.
Based on the position performance comparisons of several selected periods and the overall results, we can conclude that the proposed ATCA method has the least error and is capable of providing the best navigation solutions in the simulation experiment.

Practical Experiment
In the practical experiment, post-mission processing using the real-time algorithms is used to assess the integration system performance. Though the algorithm was demonstrated in post-processing mode, no special pre-processing of the data was required. A series of tests were conducted to verify the performance of the approach proposed in this paper.
The initial values and the parameter configuration of the filters for the compared methods are listed as follows: The field test was performed in Beijing, China, and the driving route is around the Beijing National Stadium. The IMU, GNSS receiver and the auxiliary measurement equipment are mounted in the vehicle. The inertial data are collected by the Crossbow (Milpitas, CA, USA) MEMS IMU 440, and the barometer MS5083 and magnetometer TCM5 are used as the auxiliary sensors to measure the height and magnetic heading.
The whole test lasted about half an hour, and the data were collected for verification. Both "simulated" outages and "real" partial outages existed in the processed data. The simulated outage means that if the satellite visible number is more than two or three in this period, this is treated as two or three satellites being tracked, and randomly, two or three satellites' information is used for the calculation. In this field test, both the 345-530-s and 1450-1500-s periods are simulated as the two visible satellites situation, and the 1130-1300-s period is simulated as the three visible satellites situation. The satellite visible number during the process is shown in Figure 12.  The blue points denote the reference trajectory. The dark green points denote the tightly-coupled solution with more than four satellites. The light green points denote the solution with three satellites. The red and pink points separately denote the position result with two satellites and less than two satellites. It can be seen in the figure that during the two visible satellites periods, the result of the standard tightly-coupled method drifts from the true trajectory greatly and has a large position error.  Figure 14 shows the whole trajectory result of ATCA and some zoomed details. The result obviously shows that the proposed method is also capable of solving the navigation problem in a GNSS signal-challenged environment in practice and is much better than the standard TC.
The TCA and TCA with SG are also implemented for evaluation and comparison. The differences between TCA, TCA with SG and ATCA are hard to identify, so the TCA result is not shown in the figures. However, the RMS of the position error is listed in Table 5 for comparison. Moreover, we also select two periods where only two satellites are visible to compare the solution. Table 5 lists the RMS of the position error for the whole practical experiment, and it shows that the ATCA has the least position error. Figure 15 shows the position errors of TCA, TCA with SG and ATCA in the two simulated two visible satellites periods, and Table 6 lists the RMS of position errors. The practical results also show that the proposed ATCA has the best performance and can provide the best position solutions with less than four visible satellites.
After both the simulation experiment and practical land vehicle test, the navigation solution results of standard TC, TCA, TCA with SG and ATCA have been described in the figures and listed in the tables. The specific analyses of the four compared methods are illustrated in the following.
The standard TC obviously diverges and suffers from the largest position errors, which can be up to hundreds of meters; the reason for this is that the system becomes unobservable because of the lack of enough measurement for the position solution.
The TCA has a much better performance compared to the standard TC. The position errors of TCA become convergent and can be constrained to less than 100 m; this is because the external height and heading information improves the position constraints of the whole system, and the system becomes observable.

End Point
However, in some periods, the position error will increase to 20-50 m and slightly decrease to a normal range, as shown in Figure 10; this is because at several points, the system measurements (pseudo-range and pseudo-rate) suffer from a large measuring noise because of signal blockage; the filter still makes use of the constant measurement covariance model and leads to the error in the final solution.    The TCA with SG involves the SG method in TCA and employs the innovation sequence to adaptively estimate and tune the measurement noise covariance R online. With this strategy, the measurement quality can be evaluated, and the noise covariance is adjusted based on the actual situation instead of employing a constant value. The results listed in the Tables 2, 3 and 5 have demonstrated that the TCA with SG successfully avoid the position error appeared in TCA, which is caused by the signal blockage. As illustrated in Figures 11b and 15a, in some periods, the TCA with SG performs worse than TCA and suffers from a larger position error, the reason for this is that the system state vector X is not well estimated, and it affects the estimation of covariance noise R in these two durations. However, though the TCA with SG cannot perform well all of the time and have larger position error in some periods, this method still owns an overall better performance than TCA.
The ATCA has the best performance of all. This proposed method is able to effectively make use of external measurement height and heading together and add them in the measurement mode to increase the system observability. On the other side, it introduces the redundant measurement noise estimation method to adaptively tune the R online to avoid the negative effect of GNSS measurement noise. Compared to TCA with SG, which also owns the adaptively tuning strategy to estimate the measurement noise, the novel proposed redundant measurement noise estimation method used in ATCA, which utilizes the second order difference sequence to estimate the noise variance, totally relies on the measurement system itself to acquire the noise information without coupling the system state error. However, the Sage-Husa method is based on the innovation sequence, and the database for noise estimation is the difference of measurement Z and system prediction X − , which means that the estimation error of X will be involved in the noise estimation to affect the filter. Hence, the ATCA performs better, has less position errors than TCA with SG and has the best solution result of all of the compared methods.

Conclusions
In this paper, we put forward a novel adaptive low-cost GNSS/MEMS-IMU tightly-coupled integration system that can provide satisfactory navigation solutions in a GNSS signal-challenged environment when less than four satellites are visible. The proposed system features an adaptive measurement noise estimation method, which is totally based on the measurement system and decoupled from state vector error. Moreover, we also design a tightly-coupled integration manner of contributing the external measurement height and heading angle to the filter. The hardware platform of the proposed system is established by combining the DSP processor, GPS receiver, IMU, barometer and magnetometer. Both simulation and practical experiments were conducted to test and verify the system. The results show that the proposed ATCA is capable of offering seamless navigation solutions in harsh environments and has the best performance compared to the standard tight-coupled system and the tightly-coupled system with aiding measurement.

A. System State Mode
As described in Equation (2)