A Novel Vehicle Localization Method Based on Adaptive Singular Spectrum Analysis Using Low-Cost INS/GNSS

A low-cost inertial navigation system (INS) and global navigation satellite system (GNSS) fusion position estimator is affected by accuracy limitations and multiple noises, leading to significant errors in positioning estimation. This paper proposes a new fusion algorithm, SSA-ESKF, which combines singular spectrum analysis (SSA) and an error-state Kalman filter (ESKF). The low-cost inertial measurement unit (IMU) and GNSS data obtained from the GNSS receivers are separately subjected to SSA noise reduction. The SSA noise-reduced data is then utilized in the ESKF. Consequently, the SSA-ESKF demonstrates superior performance in terms of lower state errors compared to the conventional ESKF. This approach helps minimize the impact caused by neglecting higher-order terms in the Taylor expansion and enhances the linearization of the ESKF, thereby achieving improved positioning accuracy. However, the SSA typically relies on empirically selecting constant singular values, which may result in an incomplete or excessive separation of signal and noise. To address this limitation, we further propose an adaptive spectral singularity analysis (ASSA) that yields better results when integrating the noise-reduced data into the ESKF. To verify the proposed method, the KITTI dataset experiments and real vehicle experiments with low-cost INS/GNSS were designed. The comparison of experimental results between the KF, ESKF and the SSA-ESKF, ASSA-ESKF indicates the superiority of the ASSA-ESKF. In addition, the ablation experiments were conducted to verify the effectiveness of the SSA on IMU data and GPS data independently, and the results showed the effectiveness of the SSA on GPS data.


I. INTRODUCTION
The positioning of vehicles is a fundamental requirement in fields such as intelligent driving and cooperative control and is a popular topic of current research [1]. There is a growing demand for low-cost sensors that can provide sufficiently accurate, real-time, and robust absolute position information. Currently, the global navigation satellite system (GNSS) [2], [3] and inertial navigation system (INS) [4], [5] are widely used positioning systems due to their low cost and ease of installation. However, meeting all the aforementioned The associate editor coordinating the review of this manuscript and approving it for publication was Jie Gao . requirements using a single low-cost sensor is challenging. Therefore, research efforts are focused on the fusion of INS and GNSS [6], [7] for positioning. One of the key advantages of fusing INS and GNSS is addressing the limitations of each system. The INS suffers from accumulated errors over time, such as scale factor error, cross-coupling error, and random noise, leading to positioning drift [8], [9]. However, these errors can be corrected by integrating the absolute position information provided by GNSS into the fusion system. On the other hand, GNSS signals can be affected by environmental factors like multipath effects or occlusion in special environments such as urban canyons or tunnels, which can result in positioning jumps or even unavailability. The INS can provide continuous position estimates in such situations, ensuring the system's robustness. In summary, the INS/GNSS fusion system leverages the strengths of both systems to enhance positioning performance and robustness. By combining the advantages of INS and GNSS, the fusion system overcomes individual limitations and addresses the requirements of accurate and reliable vehicle positioning.
The Bayesian theory-based Kalman filter (KF) technique has been widely utilized in multisensor data fusion systems. The KF is characterized by a straightforward structure, efficient calculation, and strong real-time performance [10]. However, when applied to the nonlinear INS/GNSS system described in (3)- (6), the KF yields poor performance due to its reliance on linear state and observation equations.
To address this limitation, researchers have proposed various KF derivatives suitable for nonlinear systems, such as extended Kalman filtering (EKF) [11], [12], [13], unscented Kalman filtering (UKF) [14], [15], [16], and particle filtering (PF) [17], [18]. These KF derivatives have been shown to enhance the accuracy of combined INS/GNSS systems [19], [20], [21]. The EKF expands the nonlinear model using a first-order Taylor series to achieve local linearization, followed by the application of KF. However, this approach introduces new linear errors by neglecting higher-order terms, potentially leading to system divergence. Moreover, the EKF requires computationally demanding calculations of the Jacobian matrix for prediction and update operations. While the EKF offers improved accuracy compared to the KF, the KF is computationally more robust and faster. The UKF addresses these challenges by approximating the mean and variance of the probability density function through sigma points and assigning weights using regular sampling. Although slightly slower in terms of computation compared to the EKF, the UKF retains second-order terms, resulting in higher accuracy and improved robustness. In terms of handling nonlinear issues, both the EKF and UKF require more processing power and rely heavily on the computer system's hardware, but they outperform the KF [22]. The PF employs the Monte Carlo random sampling method to generate random particles, and the number of particles impacts the accuracy and processing speed of the filtration. Real-time performance decreases as precision increases.
In recent years, error-state Kalman filtering (ESKF) [23] has emerged as a popular algorithm in multi-sensor fusion systems involving inertial devices [24]. The fundamental principle behind ESKF is to decompose the true state into a nominal state that represents the dominant signal and an error state that represents the minor signal [25]. The Kalman filtering process is then performed on the error state. Unlike traditional Kalman filtering, the mean value of the error state is reset once the error state update is completed. ESKF combines the strengths of both Kalman filtering and extended Kalman filtering, offering several unique advantages [24], [25]. Firstly, by treating the error state as a minor signal, ESKF can potentially avoid issues related to first-order singularities and the INS universal lock problem. Secondly, it can mitigate the linearity error introduced by truncating higher-order terms in the Taylor expansion of the error state, resulting in improved accuracy of linearization [26]. Thirdly, the computation of the Jacobi matrix is simpler and faster in ESKF compared to EKF, thanks to the enhanced linearization of the error state. Finally, due to the relatively small changes in the error state over time, the frequency of observation correction can be reduced.
In the ESKF-based INS prediction process, the estimation of the error state is a crucial step, which involves utilizing the discrete-time system kinematics and IMU data. The error state consists of a deterministic part and a stochastic part, with the stochastic part primarily comprising various noises and perturbations generated by the INS. Hence, reducing the noise in the IMU data contributes to bringing the error state closer to zero. This reduction in noise is advantageous for the linearization process, Jacobi matrix calculation, and observation frequency. On the other hand, the ESKF-based GNSS update process may encounter challenges related to locating divergence due to the presence of both linear and random noise signals in the GNSS signal itself [27], [28]. Fortunately, this issue can be addressed by employing appropriate filtering techniques.
However, the application of the ESKF may be insufficient for fusing data from low-cost sensors that are prone to various sources of noise. To address this limitation, [29] introduced the technique of singular spectrum analysis (SSA) [30], [31] for GPS noise reduction and proposed a real-time KF prediction method based on SSA. The study validated the efficacy of this method for GPS data, demonstrating improved positioning accuracy and stability. However, the selection of feature values in the SSA process can be time-consuming, and linear KF is not the optimal solution for nonlinear GPS data [32]. Building upon this research, this paper enhances the SSA algorithm by adaptively selecting the optimal singular value, and then combines it with the ESKF.
The SSA-ESKF and ASSA-ESKF presented in this paper are used for low-cost GNSS and INS data fusion to estimate the real-time position of the body. The experimental verification process is divided into two parts, namely, the KITTI data set verification and the real vehicle verification with low-cost GNSS and INS. The advantage of the KITTI dataset is that it can provide reliable ground truth, but due to the high accuracy of the data, this paper adds different Gaussian white noises to simulate low-cost sensor data. Based on the ground truth, this paper can carry out objective error analysis, and compare the results of the KF, ESKF, ASSA-ESKF and SSA-ESKF with different singular values. In addition, this part of the experiment also verified the noise reduction of SSA and ASSA on a single data. Real-vehicle experiments using low-cost GNSS and INS are used to assist in validating the proposed method. Due to the lack of reliable ground truth, this paper compares the results of each algorithm with the trajectory length as the object, and combined with the smoothness of the trajectory graph, this paper believes that the shorter the trajectory length, the higher the accuracy.
The main contributions of this paper are as follows: 1) SSA-ESKF: A singular spectrum analysis error-state Kalman filter is proposed for real-time positioning using lowcost INS/GNSS.
2) Optimizing the SSA and proposing the ASSA to enhance its effectiveness.
3) ASSA-ESKF: The improved ASSA is combined with the ESKF to form the ASSA-ESKF.
4) This algorithm has been validated on the KITTI dataset with some Gaussian white noises and the vehicle equipped with low-cost INS/GNSS. The remainder of this paper is organized as follows. Section II discusses the coordinate system, notation, and underlying mathematical model, Section III presents the kinematic-based error states [26] and the state equations of the error states, and Section IV introduces the ASSA-ESKF method for low-cost INS/GNSS real-time localization. Section V shows the experiments and experimental analysis. The conclusions are presented in Section VI.

II. MATERIALS AND METHODS
In this part, the fundamental mathematical model is covered. First, a description of the four reference coordinate systems is given. Second, an explanation is given for the mathematical notations utilized. Third, the onboard IMU's operation is explained. Fourth, the position data are translated across coordinate systems. Finally, the paper illustrates the 6-degreeof-freedom (6-DOF) kinematic model based on three-axis acceleration and three-axis angular velocity.

A. COORDINATE SYSTEM
In this paper, IMU data and GNSS receiver data are fused to estimate the vehicle's position, which is limited by the performance of the sensor and ignores the influence of the Earth's rotation. This paper stipulates three coordinate systems (as shown in Fig. 1), namely, the IMU coordinate system (b-frame), the navigation coordinate system (n-frame), Earthcentered, and the Earth-fixed (ECEF) system (e-frame).
1). b-frame: The origin is located at the center of mass of the carrier, that is, the center of the IMU's mass, and the x-y-z axes point to the right-front-up (RFU) directions of the body.
2). n-frame: The origin is located at the starting point of the vehicle, and the x-y-z axes point to the east-north-up (ENU) direction.
3). e-frame: The origin is located at the Earth's center, the x-axis points to the intersection of the equator and the prime meridian, the z-axis points to the average rotation axis of the Earth through the north pole, and the y-axis is perpendicular to the x-z plane to form a right-handed coordinate system. The coordinate representation in the e-frame can be divided into two types: geocentric rectangular coordinates represented by p e and geocentric geographical coordinates represented by p w . The coordinate conversion from p e to p w in the e-frame is shown in (3).

B. MATHEMATICAL NOTATIONS
This subsection gives the mathematical notation description in Table 1.

C. INERTIAL MEASUREMENT UNIT
The IMU records triaxial acceleration and triaxial angular velocity in the b-frame [33]. However, the measurements obtained from the IMU are influenced by various factors, including temperature variations, scale factor errors, quadrature coupling errors, zero offset, and noise. While the effects of scale factor and quadrature coupling errors can be mitigated through appropriate calibration techniques, this paper primarily emphasizes the offset and noise terms, which have a more pronounced impact. The following model illustrates the relationship between the measured value obtained from the IMU and the actual value.
In the b-frame, the measured acceleration can be modeled as [34]: 88672 VOLUME 11, 2023 Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply.
where a m ∈ R 3×1 is the measured acceleration, a t ∈ R 3×1 is the true acceleration in the n-frame without bias and noise terms, g t ∈ R 3×1 is the gravitational acceleration vector in the n-frame, a bt ∈ R 3×1 is the bias term of the slowly varying acceleration conforming to a first-order Markov process,ȧ bt = a w , where a w ∼ N 0, σ 2 a w is a perturbation impulse, and is zero-mean white Gaussian noise, where a n ∼ N 0, σ 2 a n . The measurement of angular velocity in the b-frame can be modeled as [35]: where ω m ∈ R 3×1 is the measured angular velocity, ω t ∈ R 3×1 is the true angular velocity without bias and noise terms, ω bt ∈ R 3×1 the bias term of the slowly varying acceleration conforming to a first-order Markov process,ω bt = ω w , where ω w ∼ N 0, σ 2 ω w is a perturbation impulse, and ω n ∈ R 3×1 zero-mean white Gaussian noise, where ω n ∼ N 0, σ 2 ω n .

D. COORDINATES CONVERSION
First, compute the coordinate conversion from p w to p e in the e-frame. According to the NMEA, the result calculated by the GNSS receiver is the latitude, longitude, and height, which needs to be converted to the e-frame [36]: where r N = expresses the eccentricity of the ellipse approximation of Earth, r e is the radius of curvature of the equator of Earth, r p represents the radius of curvature of the polar of Earth, and r M indicates the radius of curvature of the prime vertical of Earth.
Next, calculate the coordinate frame conversion p e in the e-frame to p n in the n-frame [36].
where R n e =   − sin ϕ cos ϕ 0 − sin λ cos ϕ − sin λ sin ϕ cos λ cos λ cos ϕ cos λ sin ϕ sin λ   represents a rotation matrix from the e-frame to the n-frame.

E. KINEMATICS EQUATIONS
By employing kinematic equations, the onboard IMU utilizes real-time three-axis acceleration and angular velocity to determine the position, speed, and direction of the vehicle. This paper presents the 6-DOF kinematic equations, which are described as follows [24]: where the quaternion form is q = q s q x q y q z T , the operator ⊗ is the quaternion multiplication notation. For the detailed rules of the quaternion, please refer to [37].

III. THE ERROR STATE
The state vector x, characterizes the vehicle and consists of five components: position, velocity, attitude, acceleration bias, and angular velocity bias. The equation representing the state vector is as follows: where x includes 16 elements, and p, v and q represent the position, velocity and rotation in the n-frame, respectively. The notations a b and ω b denote the acceleration bias and angular velocity bias in the b-frame, respectively. In the ESKF, this article represents the true state of the state vector as an appropriate combination of the nominal state with a large signal and the error state with a small signal, the attitude error in the unit quaternion representation [38].
The IMU measurements a m and ω m are grouped into the nominal state, and the noise term, bias, and perturbation are integrated into the error-state. The error state is estimated with the advantages of flexible sampling rate, high robustness and low computational complexity [39]. The nominal-state x n : where p n , v n , q n , a bn and ω bn express the nominal values of the position, velocity, rotation, acceleration bias and angular velocity bias, respectively. According to (5)- (7), the kinematic equation of the nominal state is [40] The error-state δx is: where δp, δv, δθ, δa and δω b denote the error values of the position, velocity, rotation, acceleration bias and angular velocity bias, respectively. The kinematic equation of the erro r state is [26] and [27]: where [·] × ∈ R 3×3 denotes a skew symmetric matrix of a 3D vector, such as a = a x a y a z T and

IV. ASSA-ESKF MODEL
The ASSA-ESKF system proposed in this paper is implemented based on INS and GNSS, and is divided into five parts: system initialization, preprocessing and ASSA noise reduction, error state prediction, error state observation update and true state correction. First, while keeping the vehicle stationary, the initialization is finished by integrating the acceleration and angular velocity with the position provided by the GNSS. This is achieved when the IMU measured data and GNSS data arrive at the filter through the sliding window.
Second, the data in the sliding window are subjected to outlier processing and SSA noise reduction. Third, after integrating and storing the IMU measurement data in the nominal state, the ESKF calculates the mean value of the error state and its covariance by taking bias, multiple noises, and linearization errors into account. Fourth, the GNSS position data are used to update the projected content, and the mean value of the revised error state and its covariance are reported. The filtering process is finished by introducing the updated error state to the nominal state and zeroing its mean value while maintaining its covariance. This is followed by going back to step two to start a new cycle. Fig. 2 show the structure of the suggested low-cost INS/GNSS real-time locating system based on the ASSA-ESKF [41].

A. DATA PREPROCESSING
When the vehicle is driving, the low-cost INS and GNSS are susceptible to environmental and system factors, which may cause numerical anomalies and lead to a decrease in the accuracy of the position estimation or even a system crash [42]. The abnormal values were also found by analyzing the collected data, including acceleration, angular velocity, longitude, dimension and altitude. Therefore, it is necessary to perform anomaly processing on INS and GNSS data. The data of sensors are represented as a vector χ k : where t I and t G are the times corresponding to the IMU and GNSS data streams, respectively.

1) OUTLIER JUDGMENT
To process the abnormal data quickly and accurately, this article sets sliding windows to judge and correct the abnormal value of the data. According to the output frequency of the sensors, the time thresholds of the IMU ξ I and the receiver ξ G are set. The acceleration threshold ξ a , angular velocity threshold ξ ω , dimension threshold ξ ϕ , longitude threshold ξ λ and altitude threshold ξ h are set according to the speed limit standard for safe driving of Chinese cars and common car dynamics, i.e., ξ = ξ I ξ ax ξ ay ξ az ξ ωx ξ ωy ξ ωz ξ G ξ ϕ ξ λ ξ h .
there is an outlier in the data. It should be noted that the outlier may be only one element in the vector χ . In addition, since the IMU data frequency is much higher than the GNSS data frequency, the GNSS part of χ is complemented by zero. To facilitate data processing, the IMU and GNSS data are processed separately in the corresponding part of the code, and a new judgment threshold distance ξ s is added in the GNSS data outlier judgment.

2) OUTLIER CORRECTION
Outliers in the data may occur singly or consecutively. First, the mean values of the variation of consecutive normal values in the sliding windows are calculated, and then the outliers are corrected by adding the nearest normal value to the mean value of the variation. In the case of consecutive outliers, the number of outliers is multiplied by a factor of the number of outliers before the mean value of the variation.
where c k generally refers to the corrected outliers, χ k−1 is the normal value of the last time, and n mean represents the mean value of the normal value change in a certain period of time, where i ∈ Z.

B. ADAPTIVE SINGULAR SPECTRUM ANALYSIS
Singular spectrum analysis is a nonparametric spectral estimation technique that exhibits robustness to noise spectrum distribution and enables adaptive noise reduction [43]. In recent years, SSA has found applications in signal processing, particularly for noise filtering in time series signals. The methodology involves constructing a Hankel trajectory matrix based on the time series signal, performing singular value decomposition (SVD) and reconstruction on the Hankel matrix, and extracting the principal component signal representing the original time series. This analysis allows for the examination of the time series structure and subsequent prediction [31]. The complete process of SSA can be divided into two stages: decomposition and reconstruction. The decomposition stage includes embedding and singular value decomposition, while the reconstruction stage involves grouping and diagonal differentiation. In the reconstruction stage, this paper proposes an improved grouping method that adaptively determines the number of valid eigenvalues based on the results of each SVD calculation.

1) EMBEDDING STEP
The embedding step is the mapping of a one-dimensional sequence into multiple dimensions. The one-dimensional raw signal s = (s 1 , s 2 , · · · s n ) ∈ R 16×1 is mapped to a trajectory matrix S ∈ R l×m , where n > 2, l = n 2, m = n − l + 1. The trajectory matrix S is shown in the following formula [30]: 2) SINGULAR VALUE DECOMPOSITION STEP Perform singular value decomposition of the S: where σ i is the singular value of matrix S, σ 1 ≥ σ 2 ≥ · · · ≥ σ r > 0, r = rank(S) ≤ min(l, m), U i represents the l-dimensional left singular vector of matrix S, and V i represents the m-dimensional right singular vector of matrix S.

3) ADAPTIVE FEATURE REGROUPING
The purpose of grouping is to separate the effective components and noise in the signal, and construct the S constructed from the original signal sequence s into the sum of the useful signal S U and the noise signal S N , S = S U + S N . The first b-th large singular values σ 1 , σ 2 , · · · , σ b are useful components of the signal, and the remaining r − b small singular values are noise components. In order to separate the signal from the noise, the choice of truncation value b plays a crucial role. A common approach is to assign an empirical value to b directly and select the first b singular values for signal reconstruction. However, this technique may lead to incomplete noise reduction, leaving some noise components, or it may remove some valid signal components, causing distortion in the reconstructed signal. An alternative method, proposed in the literature [43], is the mean value method, which calculates the average of all singular values. The singular values above the mean correspond to the valid signal, while the singular values below the mean are considered noise components. This method is effective for signals contaminated by smaller Gaussian noises. For smooth signals, the number of singular values can also be determined based on the number of principal frequencies obtained from the results of a fast Fourier transform [45]. After analyzing the data, it was discovered that the mean value approach can be applied since the first 30% of the singular values in the GNSS trajectory matrix account for more than 99% of the total. However, the mean value method or Fourier transform method cannot be directly applied to the IMU signal due to its volatility caused by ground excitation, vehicle vibration, and other factors. Moreover, the influence of micronoise and possibly sparse large noise introduces fluctuations in the rank of the trajectory matrix. In this work, the properties of IMU singular values are examined, and an adaptive signal-to-noise separation method is proposed. First, calculate the maximum difference and the adjacent difference of the singular values.
Second, extract the highest value σ max from the range 1 ≤ i < r, and then determine the subscript b that corresponds to σ max . Then, calculate the difference of the singular values corresponding to the subscripts from b + 1 to r: Finally, calculate the ratio κ σ of σ b+1,r to σ r : If κ σ < β, β is the truncation threshold. Then the r singular values are truncated at subscript b, and the first b singular values are used for reconstruction. However, if κ σ > β, repeat the above operations for σ i within the range of k +1 ≤ i < r until κ σ < β is satisfied, and determine the cutoff value b. Group the trajectory matrices according to the determined cutoff value b: (21) where S U = S 1 + S 2 + · · · S b is the valid data of S and S N = S b+1 + · · · + S r , S r is considered to be the noisy part of S.

4) DIAGONAL AVERAGING STEP
The purpose of diagonal averaging is to convert the above grouped effective matrices into sequences of length n. According to (21), and for ease of writing, the matrix S U is substituted with the matrix F, and the elements of the matrix Set l * = min {l, k} and k * = max {l, k}. If l < k, then f * ij = f ij , otherwise, f * ij = f ji . The matrix F can be transformed into the desired sequence f m ∈ R n by diagonal averaging, where 1 ≤ m ≤ n [30].

C. ERROR-STATE KALMAN FILTER
The ESKF is broken down into four phases [26], beginning with the prediction of the error state based on the IMU. A linear dynamic system's dynamics, control, and measurement matrices are generated from the values of the nominal state.
The ESKF forecasts the Gaussian estimates of the error states while merging the nominal states. The next upgrade is to the GNSS-based error state observation. The GNSS calibration data present a post Gaussian estimation of the error state. Third, the nominal vector includes the observed error state mean. Finally, the error state mean is reset.

1) THE ESKF PREDICTION
The kinematic equation is a time-continuous equation, while the IMU outputs discretization. The kinematic equation between neighboring periods of the error state is obtained from the statement of (12) in (24), as shown at the bottom of the next page, [46]: where t denotes the sampling interval time of IMU, , E a,k and ε ω,k ∼ N 0, E ω,k are the perturbation impulses applied to velocity, direction, and bias estimates, modeled by white Gaussian processes, where E v,k = σ 2 a n t 2 I 3 , where σ a n m s 2 , σ ω n rad s , σ a w m s 2 √ s and σ ω w rad s √ s are generally provided by the IMU product specification or obtained by Allan analysis of variance.
where y m = a m ω m T is the system input, ε k = ε v,k ε θ,k ε a,k ε ω,k T represents the perturbation impulses, A k and B k are the Jacobian matrices of concerning the error state and perturbation impulses, B k and A k , as shown at the bottom of the next page. According to (25), the prediction equation of ESKF is as follows: where δx k+1 ∼ N (δx − k+1 , − k+1 ), the notation -indicates the prior value of the state, and + indicates the posterior value of the state,

2) THE GNSS OBSERVATION UPDATE
At present, the IMU information has been used to predict the ESKF. Next, the GNSS information is used to correct the filter to observe the IMU error. In addition, during the initialization process, p e is also used to determine the coordinate origin of the car in the n system. The update step is performed through the observation value p e of the GNSS system, and the relationship between the observation vector z and the state vector x is where h(·) is the GNSS observation function, and v is white Gaussian noise, v k+1 ∼ N (0, V k+1 ). The GNSS observation correction equation is: VOLUME 11, 2023 Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply.
Kalman Gain defines whether the system's output relies more strongly on the prior or posterior estimation. The IMU estimation serves as the previous estimate in this study, while the GNSS estimation serves as the posterior estimate. The system places greater faith in the IMU estimation when the Kalman Gain is close to zero, and the GNSS estimation when the Kalman Gain is close to one.
H is the Jacobian matrix of the observation function, which is obtained according to the chain rule: where H x = ∂h ∂x x = I 3 0 3 I 3×4 0 3 0 3 is the Jacobian of the nominal condition and the subscript k + 1 is eliminated for clarity, the Jacobian of the nominal condition concerning the error state, depending on the composition of the error state, where

3) INJECTION OF THE OBSERVED ERROR INTO THE NOMINAL STATE
After the GNSS observation update is completed, the normal state is updated in combination with the observation error state: which is

4) THE ESKF RESET
After injecting the error state into the normal state, the error-state mean needs to be reset: where ⊖ is the inverse of ⊕. Algorithm 1 shows the iterative steps of the proposed ASSA-ESKF, which contains initialization, data preprocessing, ASSA denoising, ESKF measurement prediction, and ESKF measurement update.

V. EXPERIMENTS
The proposed paper introduces two methods, SSA-ESKF and ASSA-ESKF, aimed at enhancing the fusion accuracy of lowcost INS/GNSS systems. The experimental section is divided into three parts, each focusing on IMU data, GNSS data, and IMU/GNSS data, respectively. The results obtained from these experiments are compared and analyzed against those of the ESKF and KF methods.  Experiments Based on the KITTI Dataset: The KITTI dataset is utilized in this study due to its provision of reliable ground truth, ensuring the objective analysis of experimental results in terms of errors. However, the IMU and GPS data within the KITTI dataset are sourced from the high-performance OXTS RT3003 device, which is both expensive and highly accurate. To mimic the output of lowcost sensors, Gaussian white noise is introduced to the KITTI dataset. This paper divides the experiment into two parts based on the level of added noise. Furthermore, unlike previous studies such as [30] that solely focused on GPS data, the proposed method in this paper is designed to handle two different types of data, namely IMU and GNSS. As a result, three sets of experiments are conducted: IMU data-based, GPS data-based, and IMU/GPS data-based. In each set of experiments, the comparisons between the two algorithms, SSA-ESKF and ASSA-ESKF, are performed by conducting separate experiments for each singular value r range in which they are located (refer to (16)). The experiments using the SSA-ESKF are differentiated based on the symbol r to indicate different singular values. For instance, an experiment that is based on IMU data with a singular value of r = 5 in the SSA-ESKF is denoted as r5 IMU -ESKF. This notation helps to specify and identify the specific experiments conducted using SSA-ESKF with different singular values. If the experiment is based on IMU/GPS data using the ASSA-ESKF, it is denoted as ASSA IMU/GPS -ESKF.

Real Vehicle Experiment Based on low-cost Sensors:
To provide further evidence of the effectiveness of the proposed method, this paper includes real vehicle experiments employing low-cost INS/GNSS systems. However, due to the lack of trustworthy ground truth, the analysis of results compares trajectories by estimating the distance between them. The paper assumes that a shorter distance between the estimated trajectories indicates higher accuracy. Consequently, the vehicle trajectory during the experiment remains smooth.
Real-Time Analysis: This paper also conducts real-time comparisons of ESKF, SSA-ESKF, and ASSA-ESKF experiments to analyze the real-time impact when ESKF incorporates SSA and ASSA. This analysis focuses on understanding how the inclusion of SSA and ASSA affects real-time performance.

A. EXPERIMENTS BASED ON THE KITTI DATASET
To address the need for simulating the data output of lowcost sensors, this paper introduces different levels of Gaussian white noise to the IMU and GPS data, creating four distinct sets of IMU and GPS data (as outlined in Table 2), and can successfully conduct IMU/GPS fusion through the KF.
The experiments are divided into two parts based on four sets of dataset. In the first part, Data 1 is utilized for three separate groups of experiments: IMU-based, GPS-based, and IMU/GPS-based experiments. In the second part, Dataset II is used to introduce dual noise specifically for the IMUbased experiments. The GPS data remains in its original form, aiming to exclude any interference from the GPS data on the results of the IMU-based experiments. Similarly, Dataset III is employed for GPS-based experiments, and Dataset IV is utilized for IMU/GPS-based experiments. This part of the experiment includes the addition of dual noise in the experimental data to further simulate the data from low-cost sensors.
The main experimental steps for the SSA-ESKF or ASSA-ESKF based on IMU data are as follows: Firstly, the IMU data is subjected to SSA or ASSA processing, followed by fusion estimation with GPS data using ESKF. Similarly, for GPS-based experiments, the GPS data is first subjected to the SSA or ASSA processing, and then fusion estimation with IMU data using the ESKF is performed. For IMU/GPS-based experiments, both IMU and GPS data are simultaneously subjected to SSA or ASSA processing, followed by ESKF fusion estimation.

1) THE PART ONE EXPERIMENTS USING DATASET I
In this subsection, four algorithms, namely the KF, ESKF, SSA-ESKF, and ASSA-ESKF, are employed to conduct three sets of experiments based on IMU, GPS, and IMU/GPS data. Specifically, the SSA-ESKF experiments are further categorized into 14 experiments based on different singular values r(refer to (16)). The outcomes of these experiments were compared against the ground truth values to quantify the absolute position error (APE), which encompasses metrics including maximum error, mean error, median error, minimum error, error squared, and standard deviation. Additionally, the root mean square error (RMSE) was computed as an additional performance measure. The APE and RMSE are visualized in Fig. 3 and presented in Table 3, respectively. Fig. 3 illustrates the APE plots for three experimental groups, clearly showing that the KF exhibits more outliers and higher APE compared to the ESKF, ASSA-ESKF, and most of the singular values in SSA-ESKF. In Fig. 3(a), the APEs for ESKF are comparable to those of the SSA-ESKF and ASSA-ESKF, suggesting a potential bias in the effectiveness of the SSA for IMU data denoising, which requires further validation. Additionally, in Fig. 3(b) and (c), the ESKF demonstrates significantly higher APEs compared to the ASSA-ESKF and SSA-ESKF (except for r=1), indicating the notable effectiveness of SSA in denoising GPS data. However, in Fig. 3(b) and (c), the APEs for the SSA-ESKF with the same r are nearly identical, which may further indicate that the impact of IMU data processing through SSA on the fused results is minimal. Table 3 shows the RMSEs obtained by comparing the three sets of experimental results with the ground truth. It should be noted that these experiments use the same data (Dataset I), but in the SSA-ESKF and ASSA-ESKF experimental parts, the IMU data, GPS data and IMU/GPS data were denoised by the SSA and ASSA. Fig. 4 shows the percentage distribution of RMSE improvement of SSA-ESKF and ASSA-ESKF compared to the KF and ESKF. The calculation formula is shown in (41).
where P represents the percentage of accuracy improvement obtained by comparing RMSE. e 1 indicates the RMSE of the KF or ESKF, and e 2 denotes the RMSE of the ASSA-ESKF or SSA-ESKF. Comparing these RMSEs, as shown in Table 3 and Fig. 4, this paper draws similar conclusions as above. It can be seen from Fig. 4(a) that the RMSE distribution is almost a horizontal line. This shows that the SSA based on IMU data still has little difference in RMSE even if different singular values are selected. Therefore, the ASSA further proposed in this paper cannot effectively reduce RMSE. From Fig. 4(b), both the ASSA-ESKF and SSA-ESKF based on GPS data get positive results. Moreover, this study also found that in the SSA-ESKF experiment, as r decreases, RMSE also gradually decreases. When r = 4, the RMSE reaches the minimum, r continues to decrease and RMSE increases, and When r = 1, the RMSE  Fig. (a), (b) and (c) are based on the IMU data, GPS data and IMU/GPS data, respectively.
reaches the maximum, much larger than other RMSEs. The distribution in Fig. 4(c) is similar to Fig. 4(b), which also shows that IMU data has limited improvement in fusion accuracy after the SSA or ASSA. However, it should be pointed out that the accuracy of IMU/GPS-based the ASSA-ESKF is slightly higher than that of GPS-based ASSA-ESKF as shown in Table 4.
In conclusion, based on the results of the initial experiments, this paper suggests that our proposed SSA-ESKF and ASSA-ESKF methods may not be effective for IMU data alone. The RMSE of the ESKF and ASSA IMU -ESKF are almost the same, as shown in Table 4. However, these methods have shown validity when applied to both GPS data and combined IMU/GPS data. The experimental results of the ASSA-ESKF method, using IMU/GPS data, indicate a 6.9% improvement over the ESKF method and a 19.7% improvement over the KF method, as calculated using (41).

2) THE PART TWO EXPERIMENTS USING DATASET II, III, AND IV
To further validate the effectiveness of the proposed methods for IMU, GPS, and IMU/GPS data, this study introduces two types of Gaussian white noise to the KITTI dataset to simulate low-cost sensor data. Additionally, in order to eliminate interference from another type of data on the validation results, only the two types of noise are added to the validation data, while the other type of data remains unchanged. Therefore, this section requires three datasets: Dataset II for IMU data validation, Dataset III for GPS data validation, and Dataset IV for IMU/GPS data validation. The noises added to the datasets are presented in Table 2.
Similar to the experimental procedure in the first part, this subsection also conducts three sets of experiments. Each set of experiments includes the KF, ESKF, ASSA-ESKF, and SSA-ESKF with all different singular values. The difference is that these three sets of experiments utilize data with different added noises. Fig. 5 illustrates the APEs for the three sets of experiments.
The APE distribution in Fig. 5(a) is similar to Fig. 3(a), indicating that even with different singular values, there is almost no difference in APE between the SSA-ESKF experimental results. Therefore, this study suggests that the SSA has limited effectiveness in denoising IMU data. However, the ESKF, SSA-ESKF, and ASSA-ESKF exhibit significantly lower APE values compared to the KF. Additionally, this may be attributed to the high-precision raw data used by GPS data, which does not contain outliers in the results. In Fig. 5(b) and (c), although these two sets of experiments utilize slightly different IMU data, they demonstrate similar APE distributions. This indicates that whether or not the SSA denoising is applied to IMU data with dual noise, it does not significantly affect the fusion results, further supporting the 88680 VOLUME 11, 2023 Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply. conclusion that the SSA has limited denoising capabilities for IMU data. Furthermore, the ASSA-ESKF consistently exhibits lower APE compared to the ESKF and SSA-ESKF. Specifically, for a singular value of 1, the APE of r1-ESKF is noticeably higher, and there are more outliers in the results of the KF and r2-ESKF. In Fig. 5(b), there are evident outliers in r11-ESKF and r14-ESKF, while in Fig. 5(c), there are no apparent outliers. This suggests that the addition of dual noise to IMU data, followed by SSA processing, improves the robustness of the estimation to some extent. Table 5 presents the RMSEs for the three sets of experimental results. Vertically comparing the RMSEs of the first set of experiments based on IMU data, all values are nearly 1.162 meters, except for that of the KF. Horizontally comparing the RMSEs between the second set based on GPS and the third set based on IMU/GPS, the difference is not significant. However, in the third set where IMU data is added with two types of noise, the RMSE of ASSA-ESKF (1.225 meters) is slightly lower than the RMSE of ASSA-ESKF in the second set (1.237 meters). To provide a visual analysis of the RMSE, this study calculates the percentage improvement of SSA-ESKF and ASSA-ESKF relative to KF and ESKF using (41), and presents the results in Fig. 6.   Fig. 6(a), the RMSEs for various experiments show minimal variation. In Fig. 6(b) and (c), as the singular values decrease, the overall accuracy of the SSA-ESKF tends to increase. The highest accuracy is achieved when r = 4. When r = 1, the RMSE of the SSA-ESKF is reduced by 2 -4 times compared to the KF and ESKF. Therefore, the magnitude of the improvement is too large to be visually represented.
In the experiments based on GPS data, the ASSA-ESKF demonstrates an accuracy improvement of 42.37% and 7.95% compared to the KF and ESKF, respectively. For the experiments based on IMU/GPS data, the accuracy improvement is 41.73% and 8.69%.

3) DISCUSSION
Based on the two sets of experiments, this study concludes that the SSA and ASSA have limited effectiveness in denoising IMU data, while their denoising effects on GPS and IMU/GPS data are more significant. Additionally, although the accuracy of the SSA-ESKF is comparable between GPS data and IMU/GPS data, SSA-ESKF applied to IMU/GPS data can reduce outliers and improve robustness. In the two sets of experiments based on IMU/GPS data, even though Data IV includes two types of Gaussian white noise for both IMU and GPS data, the RMSE after the ASSA-ESKF is 1.225 meters, which is equivalent to the results obtained from Data I. It is important to note that these experiments used high-precision KITTI data with added Gaussian white noises to simulate low-cost sensor outputs. Therefore, they cannot completely replace low-cost sensor data. However, this study believes that the conclusions drawn from these experiments are still highly valuable for reference, and similar conclusions would be obtained when using actual low-cost sensor data, although the magnitude of accuracy improvement may vary.

B. REAL VEHICLE EXPERIMENTS BASED ON LOW-COST SENSORS
To verify the performance of the proposed algorithms on lowcost sensors, real vehicle experiments using a low-cost Star-Neto Newton-M2 containing the INS/GNSS was conducted.  The device parameters of the IMU are given in Table 6, with an output frequency of 100 Hz, the output frequency of GNSS is 5 Hz, and the GNSS antenna pole arm compensation is x = 0 meter, y = -0.5 meters, z = -0.05 meters, as shown in Fig. 7(a). The equipment was calibrated before the experiment.
Due to limitations in the experimental conditions, it was not possible to obtain reliable ground truth for the experimental vehicle, which prevented the comparison of APE and RMSE between the KF, ESKF and ASSA-ESKF. Therefore, this study primarily focused on smooth trajectories of the experimental vehicle, allowing the evaluation of algorithm accuracy based on the estimated trajectory distances. By observing the trajectories and considering the estimated distances, this study concludes that shorter distances  correspond to higher estimation accuracy. It should be noted that the ASSA-ESKF proposed in this article has been proven to be superior to the SSA-ESKF, therefore, the SSA-ESKF experiments will not be conducted in this subsection.
After conducting experiments with the KF, ESKF, and ASSA-ESKF, it was found that the KF was unable to complete the experiment, and therefore trajectory comparison was not performed. This set of experiments resulted in a total of 16,161 output position points, and the trajectory of the vehicle is depicted in Fig. 7(b). The trajectories in the x, y, and z directions were illustrated in Figure 7(c). The length of the trajectories is presented in Table 7. The trajectory length of the ASSA-ESKF based on IMU data, as shown in Table 7, is nearly negligible compared to the ESKF. The trajectory lengths of the ASSA-ESKF based on GPS data and IMU/GPS data are almost equal. Furthermore, considering the conclusions from the first part, this paper suggests that both the SSA and the proposed ASSA are ineffective in reducing noise in IMU data. However, the ASSA-ESKF estimates based on GPS data or IMU/GPS data show a reduction in length compared to the ESKF, specifically by 948.98 meters and 954.91 meters, respectively. Therefore, this paper concludes that the ASSA-ESKF estimates based on IMU/GPS data are closer to the true value than the ESKF estimates, approaching an improvement of 954.91 meters. This significant increase in accuracy demonstrates the effectiveness and superiority of the proposed ASSA-ESKF method.

C. COMPARISON THE COMPUTATION TIMES
This subsection compares the running times of the algorithms. The all algorithms are run on the computer with Intel I7 8th CPU and 16 Gb RAM. Table 8 shows the partial running results. The results show that the proposed ASSA-ESKF algorithm only takes approximately 6 microsecond and 0.5 millisecond longer time for one operation than the ESKF using Dataset IV and the data from Newton-M2, which can ensure the real-time performance of the system.

VI. CONCLUSION
The main objective of this paper is to improve the performance of ESKF for positioning using low-cost INS/GNSS systems, therefore, this paper proposed the SSA-ESKF and ASSA-ESKF algorithms. The noise reduction effectiveness of ASSA and the SSA for IMU, GPS and IMU/GPS data were verified by the KITTI dataset, which incorporated Gaussian noises. The GPS-based the ASSA-ESKF reduced the RMSE by 7.88% and 19.22% using Dataset I, 7.95% and 42.37% using Dataset III, compared to the ESKF and KF, respectively. Furthermore, the IMU/GPS based ASSA-ESKF methods reduce the RMSE by 8.41% and 19.69% using Dataset I, 8.69% and 41.73% using Dataset IV, compared to the ESKF and KF, respectively. Most of the experimental results of the SSA-ESKF are also superior to the ESKF, but it needs to choose the appropriate singular value, which takes some experience and time. However, the SSA-ESKF and ASSA-ESKF for IMU data seem ineffective. In the experimental accuracy, the ASSA-ESKF based GPS and IMU/GPS data is also better than the SSA-ESKF, thus, the ASSA-ESKF is better than the SSA-ESKF in terms of experimental accuracy and time spent. The real vehicle experiments using a lowcost INS/GNSS was also conducted, and the driving distance estimated by different algorithms was compared due to the lack of highly reliable ground truth. The results show an estimated distance of 1881.252 meters for ASSA-ESKF and 2836.162 meters for the ESKF. It is obvious that our proposed ASSA-ESKF algorithm has significant accuracy. In addition, the increased time of a single operation cycle is less than 1 millisecond, which ensures real-time operation.
It is obvious that ASSA is effective in noise reduction for GNSS data and IMU/GNSS data and there is a certain regularity with the variation of singular values. Additionally, the IMU/GNSS -based the SSA-ESKF has better robustness than that of the GNSS-based. However, the noise reduction effect for IMU data seems invalid. IMU data is time correlated and conforms to the definition used by SSA. It may be caused by the difference of the two data structures and needs to be further investigated. In addition, since this paper did not discuss the length of the sliding window, it may not have been possible to place the periodic noise of the IMU signal within the sliding window, resulting in differences in the observation effects.
For future work, it is recommended to explore optimization techniques for the ASSA denoising method or develop alternative signal-to-noise ratio separation strategies tailored to specific datasets in order to enhance denoising effectiveness. Further investigation is needed to examine the influence of the sliding window length in the SSA and ASSA on denoising IMU and GNSS data. Additionally, incorporating new sensors to evaluate and analyze the proposed algorithms would be beneficial. Furthermore, the robustness of the algorithm requires further validation.