Variational Bayesian-Based Maximum Correntropy Cubature Kalman Filter Method for State-of-Charge Estimation of Li-Ion Battery Cells

State-of-charge estimation is an essential part of a battery management system. Charging and discharging batteries involve complex chemical processes that could lead to undesired consequences, such as premature end of life or fire hazards if the battery's state-of-charge is not closely monitored. This work proposes a state-of-charge estimation method that compensates for noisy measurements and parametric uncertainties in a battery cell to improve the estimation accuracy. In this work, a robust and adaptive estimation scheme based on a Cubature Kalman filter is proposed. The algorithm utilizes the Variational Bayesian method to identify the measurements noise covariance magnitude online. Additionally, the algorithm is augmented with the ability to suppress outliers based on the Maximum Correntropy Criterion. The proposed filter is experimentally verified on standard tests including aggressive electric vehicle drive cycles, and it is compared against the extended Kalman filter, the Cubature Kalman filter, and the Variational Bayesian Cubature Kalman filter.

E NERGY storage plays a crucial role in renewable energy solutions and applications. Amongst the different types of batteries introduced in the last two decades, Li-ion batteries are considered an ideal choice in many energy storage applications due to their efficient energy utilization, high energy density, and long lifespan [1]. Their use varies from low-power applications such as portable electronics, and high-power applications such as electric vehicles and grid storage.
Practically, the main objective of a BMS is monitoring the cells in a battery pack to achieve efficient and safe operation by preventing the battery cells from destructive over-charge or discharge [2], [3]. In general, a BMS measures the cells' voltages, the battery's current, the battery's temperature, and the cells' SOC. Unlike the fuel level in a vehicle where it can be easily determined using a simple fuel gauge and the runtime can be accurately calculated, the SOC, which indicates the energy level stored in the battery cell and is conceptually similar to a vehicle's fuel tank, is estimated since it cannot be measured. The SOC of a cell is defined as the ratio between the cell's available capacity and the maximum capacity the battery can hold (in Ah) at a specific temperature. Different methods have been proposed over the past years for SOC estimation. These methods can be classified into three categories [4], namely: 1) analytical methods, 2) model-based methods and 3) data-driven methods. Analytical methods such as current-integration (also known as coulomb counting) and OCV-based methods are simple in general but have compromised performance. For example, the current-integration method suffers from accumulated noise in the current measurement and requires prior knowledge of the initial SOC. The OCV allows one-to-one correspondence between OCV and SOC. However, its main drawback is that it demands a long rest time and hence, cannot be used in real-time [5]. On the other hand, model-based methods such as the Kalman filter and its variants are extremely accurate due to their closed-loop This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ nature; however, they demand a very accurate dynamic model for the battery cell, which is a challenge in some cases. Data-driven methods, such as neural networks and machine learning exhibit an extremely robust performance due to their massive parallel structure; however, they demand huge data banks for training to provide high performance, which could be a challenge in some cases when the operating environment differs from that in the training phase.
A benchmark method that has been tremendously proposed for SOC estimation is the KF and its variants. A KF estimates the SOC optimally in the minimum mean squared error sense. Although this method can solve the problem of cumulative errors and uncertain initial SOC, it is only optimal for linear systems. As the dynamics of a battery cell are nonlinear, linearization is needed to approximate the nonlinear system by a linear time-varying system [5], [6], [7]. The extended KF (EKF), the nonlinear version of the conventional KF, is utilized for systems with nonlinear dynamic models [7], [8], [9], [10]. However, it should be noted that such an approximation may lead to reduced SOC estimation accuracy and may even cause the estimator to diverge [11].
Among other nonlinear algorithms are the UKF and CKF [12], [13]. These filters avoid Taylor series approximation and use a set of sigma points to approximate the statistics of a Gaussian random variable that undergoes a nonlinear transformation [14], [15]. The CKF avoids linear approximation and uses a spherical-radial cubature rule to compute multivariate moment integrals encountered in the nonlinear Bayesian filter [13]. The process and measurement noise covariances are usually known and stationary when implementing these filters. As the distribution of the variables is assumed to be Gaussian, the estimation process may perform well when the noise covariances are Gaussian with known statistics. However, in the case of non-Gaussian distribution, the statistics of the process and measurement noise sequences are unknown. Also, it should be noted that the state estimation process will fail, diverge, and produce an imprecise state estimate when the non-Gaussian measurement noise statistics are unknown, time-varying, and corrupted by outliers. The estimation performance under non-Gaussian measurement noise sequences can be improved by utilizing robust and adaptive filtering strategies [16], [17]. An Adaptive EKF has been proposed in [19] and [20], and an adaptive UKF algorithm has been proposed in [21] and [22]. These adaptive techniques only enhance the estimation's performance to possible unknown or changes in the statistics of the measurement or dynamics noise sequences.
Other adaptive filtering strategies have been proposed in the literature. Some of the proposed methods that estimate the unknown and time-varying measurement noise statistics include Sage-Husa (SH) filters, Gauss sum (GS) filters, and Variational Bayesian (VB) filters [16], [17]. The Sage-Husa-based filter recursively estimates the unknown statistics of the system noises. This filter is based on Autoregressive Moving Average (ARMA). Therefore, due to its recursive estimation process, the estimated noise statistics at a certain instant will highly depend on the priory estimated noise statistics. If the estimated noise statistics become contaminated, the filter's estimation performance will be affected and may diverge. Gauss sum filters use a weighted sum of Gaussian density functions to approximate the state's conditional probability density [16] and [17]. On the other hand, the Variational Bayesian-based filter is an adaptive filter that iteratively estimates the unknown time-varying measurement noise statistics by embedding the VB strategy into the filter's framework. The estimation process by this filter is not based on the recursive estimation process. Therefore, the previously estimated statistics at the time step k − 1 will not affect the estimated statistics at the following time step k [15]. The VB method can be incorporated into a robust filtering algorithm, and it has been proven to successfully deal with state estimation problems under non-Gaussian noise distribution [16] and [17].
Practically, measurements can be corrupted by outliers, and that will adversely affect many of the traditional methods proposed to monitor the SOC. This explains why many existing SOC methods are good only in the laboratory environment. To overcome this problem, a robust filter that can effectively suppress outliers should be developed. Some of the methods that have been proposed in the literature include the Huber-based filter (also called M-estimation), the H ∞ filter, and the MCC filter. The Huber-based filter is a hybrid method that uses minimum l 1and l 2 -norm filters to achieve robustness for nonlinear systems with non-Gaussian distribution, [18] and [19]. This method has been applied to many applications such as underwater target tracking [23] and embedded in many state-estimation filters to enhance the estimation performance. In addition, the Huber-based filter was embedded into a VB-based Unscented Kalman Filter in [24] to improve filtering performance and robustness. The H ∞ filter is another robust filtering algorithm that has been proven to perform well against uncertain noises [24]. The filter can guarantee bounded state estimation error, but it cannot perform well under Gaussian noise with certain conditions [19], [25]. The Maximum Correntropy Criterion (MCC) technique, on the other hand, has been proposed in [25], [26]. This filter measures the similarity between two random variables (correntropy) using information from higher-order signal statistics. The MCC filter has been widely used in machine learning techniques and state estimation under non-Gaussian distributions due to its high robustness against outliers.
In this paper, an adaptive VBMCCKF algorithm is proposed to achieve high-accuracy SOC estimation. The method is compared with the EKF, CKF, and VBCKF algorithms. The proposed algorithm is a follow-up to the ALS and MLE noise covariance identification approaches proposed earlier to enhance the SOC estimation accuracy in [26] and [28]. In contrast to the ALS and MLE approaches, the proposed method has lower computational requirements as it does not involve the manipulation of largedimension matrices and can be therefore deployed online. This is especially advantageous in applications where the BMS may not have the processing power to routinely run computationally demanding algorithms to estimate the SOC of each cell. Further, the MCC component of the proposed algorithm adds a layer of robustness that is neither present in the ALS nor in the MLE approaches. This is valuable as it allows for online noise covariance magnitude identification despite possible erroneous measurements. The rest of the paper is organized as follows: Section II presents the dynamic battery cell model and its parameter identification process using the Particle Swarm Optimization method. Section III describes the formulation of the proposed filter. Experimental verification of the proposed algorithm along with comparative analysis against available algorithms is demonstrated in Section IV. Finally, Section V concludes the paper.

A. The Enhanced Self-Correcting (ESC) Cell Model
To compare the performance of the proposed SOC estimator, a discrete-time state-space model that represents the dynamics of a battery cell must first be defined. The Enhanced Self-Correcting cell model is utilized in this paper, see Fig. 1 [10]. The model combines four elements, namely, an ohmic resistance R 0 , a parallel RC network, a voltage source (OCV ) as a function of SOC, and a non-linear hysteresis element (hyst).
The SOC dynamics are represented as [10], where ΔT is the sampling period in hours, c n is the battery cell capacity in Ampere-Hour (Ah), η k is the coulombic efficiency of the cell, and i k is cell current at discrete-time index k. The second state element is the Diffusion-resistor current term, i R . The dynamics of i R passing through the RC circuit is given by: where The third state element is the hysteresis state, h , which implements a linear-time varying difference equation described as, In the above equation,  The measurement equation of the ESC model which outputs the cell's voltage, z k , is given by: In the above equation, the OCV term is obtained from a lookup table for a given SOC and the hyst term computes the instantaneous change in hysteresis voltage as the sign of current changes. This term can be expressed as: where M 0 is the magnitude of the change in instantaneous hysteresis, M is a constant that represents the maximum polarization due to hysteresis, and s k is a term that stores the memory of the previous sign of non-zero cell current value and is given by,

B. Model Parameter Identification
The ESC model contains several parameters that need to be identified to represent the dynamics of the battery cell. This parameter identification problem is then converted to an optimization problem using an objective or min-cost function. The mean square error will be used as a min-cost function and is expressed by the equation, where J is the objective function, i is the index term, N is the number of data samples, and z is the terminal voltage.
The main objective of this process is to fit the output of the estimated model with the actual measurement obtained by an actual battery, i.e., the output of the ESC model should match the actual measurement. Fig. 2 describes the block diagram of the ESC model parameter identification process by an optimization algorithm.
The ESC model parameters to be identified are included in the parameter vector X , as follows: The selected optimization algorithm that will be used for parameter identification is the Particle Swarm Optimization algorithm and it is discussed in the following subsection. It is noteworthy to mention that a standard HPPC test was used to characterize the model and identify its parameters.

C. Particle Swarm Optimization
The Particle Swarm Optimization (PSO) is a bio-inspired and meta-heuristic search technique that simulates the behavior observed in a swarm of a biological system such as a flock of birds [29] and [30]. In the PSO algorithm, a swarm of particles is randomly initialized following uniform distribution with predefined upper and lower bounds of the problem search space where the particle's position represents a potential solution. Each particle is evaluated against a predefined objective function, as shown in (8), to find the optimal solution. Each particle has a velocity term that controls its next movement, [28] and [29]. The velocity of a particle is updated according to its best solution (p best, i ) and the best solution obtained by the entire swarm (g best ) [28].
The velocity v i, n+1 and position x i, n+1 of an i th particle for the next n th iteration is updated according to the following equations, In (10), c 1 and c 2 are the acceleration coefficients, r 1 and r 2 are random numbers ranging from [0, 1], and w n is known as the inertia weight factor at the n th iteration [28].
The inertia weight factor plays a significant role in the processes of global exploration and local exploitation. It specifies the contribution rate of a particle's previous velocity to its current velocity at the next n th iteration. There are many dynamically adjusting inertia weight methods that have been proposed in the literature. One of the effective methods, proposed by Shi and Eberhart, is the linearly decreasing and time-varying inertia weight method [29] and [30]. Authors have experimentally proved that decreasing inertia weight from 0.9 to 0.4 gives the optimal results. We should also note that the larger value for w will allow the particle to perform global search exploration and the smaller value will allow the particle to perform local search exploitation. The linearly decreasing time-varying inertia weight is iteratively calculated using the following equation [29], where, n max is the maximum number of iterations, n is the current iteration, w max and w min are the maximum and minimum values of the inertia weight, respectively.

III. FILTER FORMULATION
In this section, the EKF, CKF, VBCKF, and VBMCCKF algorithms are presented.

A. EKF
The KF is an efficient recursive sensor fusion algorithm that is optimal for linear systems. The EKF was proposed as the nonlinear extension of the conventional KF. It uses the Taylor series expansion to linearize the state space equations of a non-linear system such as the ESC battery cell model [27], [31]. The system input of the ESC model is defined in (4) and the measurement output is defined in (5). The system state-space equations at discrete-time index k can be expressed in vector form as, where x k is the state of the system and z k is the measurement obtained at time k , u k is the input signal, w k ∼ (0, Q k ) is a normally distributed dynamics noise which is assumed of 0 mean and covariance matrix Q k , and v k ∼ (0, R k ) is a normally distributed measurement noise which is assumed of 0 mean and covariance matrix R k . Given the initial estimate of the state (x k−1|k−1 ) at time k − 1 and its associated covariance (P k−1|k−1 ), the EKF algorithm is described as follows [27], [30], and [31], 1) Obtain the predicted state: 2) Obtain the prediction of the system state covariance matrix: Estimate the measurement Jacobean: 4) Calculate the gain matrix K k : 5) Obtain the estimates of the system state and its error covariance matrix at discrete-time index k as follows: In the EKF algorithm, as seen in the above equations, the state-space model is linearized at each time instance. The main drawbacks of this algorithm are as follows [30] and [31]: 1) When the higher-order terms of Taylor series expansions are not negligible, the linearization process will cause significant errors to the system or even affect the filter's stability; and 2) Jacobian matrices are calculated at every sample time.
This will lead to a high computational load for complicated nonlinear models. EKF SOC estimation did experience divergence due to the linearization error as reported in [28]. Researchers in that study also stated that the EKF estimation accuracy is sensitive to the precision of the battery model.
Many researchers have applied variants of the EKF to estimate the SOC of the battery. For instance, Lee et al. [4], have proposed and implemented the dual EKF whereas Cheng et al. in [6] and Chen et al. [32] have improved the nonlinear battery model with EKF to estimate the SOC of a lithium-ion battery.

B. CKF
The Cubature Kalman filter was proposed for the state estimation of nonlinear dynamic systems [13]. CKF is a Jacobian-free filter that utilizes the spherical-radial cubature rule to provide a set of cubature points scaling linearly with the state-vector dimension to compute multivariate moment integrals encountered in the nonlinear Bayesian filter [13], This makes the CKF a nearoptimal estimation algorithm that can be implemented to solve a wide range of high-dimensional nonlinear filtering problems. This filter has proven to have better nonlinear performance with higher accuracy and stability given an accurate system model under known Gaussian noise statistics compared to EKF [13]. The CKF estimation algorithm has been implemented in many applications, such as spacecraft attitude, sensor data fusion for positioning, and mobile station localization, among many more [33], [34].
Considering the nonlinear system state-space equations at discrete-time index k: The CKF selects 2n Cubature points based on the third-order spherical-radial cubature rule to approximate an n dimensional Gaussian weighted integral values using the following weighting equation, [13], [35], [36]: where ξ i = m 2 [1] i and ω i = 1 m , i = 1, 2, . . . , m = 2n. In (23), ξ i denotes the i'th cubature point located at the intersection of the unit sphere, ω i is its corresponding weight, and n is the dimension of the state vector. The estimation algorithm is then described as follows: The time-update process that involves computing the predictive density is formulated in the following steps, 1) Factorize P k−1|k−1 according to the following equation, 2) Evaluate the cubature points, (i = 1, 2, .., m; where m = 2n x ) 3) Evaluate the propagated cubature points, (i = 1, 2, . . . , m; where m = 2n x ) 4) Estimate the predicted state, 5) Estimate the predicted covariance, The second part of the algorithm is the measurement update and is formulated as follows: 6) Factorize P k|k−1 7) Evaluate the cubature points (i = 1, 2, . . . , m), 8) Evaluate the propagated cubature points, (i = 1, 2, .., m; where m = 2n x ) 9) Estimate the predicted measurement, 10) Estimate the innovation covariance matrix, 11) Estimate the cross-covariance, 13) Finally, Update the state and its associated covariance, We should note that according to Peng et al. [9], in the case when the predicted model error is small, the measurement model is updated, or else the process model will only be propagated.

C. VBCKF
In the previously discussed CKF algorithm, it is generally assumed that the statistics of the measurement noise are known and constant throughout the estimation process. However, as the SOC model, due to environmental or aging factors, involve unknown and/or time-varying noise statistics, an adaptive filter can be embedded into the estimation algorithm to be able to handle the unknown noise statistic problem. Therefore, the objective of the adaptive filter is to approximate the joint posterior distribution of the states and measurement noise covariances p(x k , R k |z 1:k ). This joint distribution can be approximated by a free form factored distribution as [9], [16], and [17]: where Q x (x k ) and Q R (R k ) are the unknown approximating densities. The main purpose of the VB approximation is to minimize the Kullback-Leibler (KL) divergence between the approximation and true posterior distribution [9], [16]. Minimizing the KL divergence between the two-probability distribution we get: The filtering distribution can then be approximated as the product of Gaussian distribution and inverse Wishart (IW) distribution [16], [17], [19] and it is expressed as, Here, tr(·) represents the trace of a matrix, Q x (x k ) is the Gaussian distribution, Q R (R k ) is the inverse Wishart (IW) distribution, v k is a parameter that represents the degree of freedom, and V k is the inverse scale matrix. The VB-embedded CKF algorithm is then summarized as follows [16], [17]: For the non-linear discrete-time dynamical system described in (21) and (22), given the initial conditions, x k−1|k−1 and P k−1|k−1 , the time update process is formulated as follows, 1) Factorize P k−1|k−1 , 2) Evaluate the cubature points, (i = 1, 2, .., m; where m = 2n x ) 3) Estimate the predicted state, 4) Estimate the predicted covariance, 5) Evaluate the inverse scale matrix and the degree of freedom parameter, where B is a matrix with a reasonable choice of B = √ ρI and ρ is the forgetting factor that lies between 0 < ρ < 1 6) The degree of freedom parameter is calculated using the equation, where n is the number of state variables.
The measurement update process is performed as follows: 7) Evaluate the cubature points, 9) Estimate the predicted measurement: 10) Compute the cross-covariance P xz , (55) to (62) for N steps (j = 1, 2, . . . , N): 12) Estimate the measurement noise covariance using the following equation, 15) Estimate the updated state and its associated covariance, 16) Evaluate the cubature points, (i = 1, 2, .., m; where m = 2n x ) 17) Update the inverse scale matrix, The variable that will be used in the next iteration j are, The VBCKF uses IW distribution to estimate the measurement noise covariance [16]. It should be noted that this algorithm assumes that the measurement noise covariance statistics are unknown and time-varying [16]. In many practical applications, measurement data will occasionally be corrupted with outliers that cannot be handled by an adaptive filter. This issue is commonly faced in BMSs where the battery cell's measurements such as voltage, current, or temperature, can easily drift away from the true value due to the sensor's non-idealities (error accumulation, lack of calibration, aging, manufacturing issues, failure, etc.), which may lead to bad SOC estimates or even divergence. Unlike estimating the SOC through lab tests where the experiments are run at predefined conditions with highly accurate calibrated measurement tools, during a practical operation, the operating conditions may change unexpectedly leading the measurements model's accuracy to deteriorate and noise statistics to possibly change. Hence, the SOC estimation algorithm must be able to handle all possible measurement uncertainties of the battery cell to ensure highly reliable estimates.

D. VBMCCKF
As mentioned in the previous section, the VBCKF algorithm will enhance the estimation accuracy by estimating the possibly unknown, and time-varying measurement noise statistics. However, this performance may significantly degrade when outliers corrupt the system's measurements. Therefore, it is necessary to develop a filter that can be adaptive and robust to such outliers. In this subsection, the VBMCCKF algorithm is presented to improve the SOC estimation robustness to measurement outliers To detect measurement outliers, the general form of Correntropy is defined as the measure of similarity between two random variables X and Y . Its mathematical expression is given as [17] as: is the expectation operator, and κ(·) is a shiftinvariant Mercer Kernel function and F X,Y (x, y) is the joint distribution function. The kernel function selected for the MCC filter is the Gaussian kernel function and is expressed as: where e = x − y , and σ > 0 denotes the kernel bandwidth. The Correntropy can be estimated using the sample mean as Where Considering the non-linear discrete-time dynamical system described in (20) and (21). The cost function-based MCC for the non-linear system is given by, In this work, we are assuming the process noise to be Gaussian. The cost function is modified as follows [17], where α and β are the adjusting weights. The robustness of the filter with respect to measurement outliers increases with smaller kernel bandwidth values, whereas larger kernel bandwidth reduces the filter's sensitivity toward the measurement outliers [17]. In this case, it is recommended to assign α = 1 and β = −2σ 2 [17]. The MCC filter has been embedded into the VBCKF framework to achieve robustness against measurement outliers [17] in forming the VBMCCKF.
Given the initial conditions, x k−1|k−1 and P k−1|k−1 , step (1) to (6) formulate the time update process of the state estimate, 1) Factorize P k−1|k−1 , 2) Evaluate the cubature points, (i = 1, 2, .., m; where m = 2n x ) 3) Estimate the predicted state, 4) Estimate the predicted covariance, (72) 5) Evaluate the inverse scale matrix and the degree of freedom parameter, where B is a matrix, and a reasonable choice is B = √ ρI and ρ is the forgetting factor that lies between 0 < ρ < 1 6) The degree of freedom parameter is calculated using the equation, Here, n is the number of state variables.
Next, the measurement update process of the filter is described in steps (7) to (15).

7)
Evaluate the cubature points, 9) Estimate the predicted measurement, 10) Compute the cross-covariance P xz , (81) to (89) for N steps; letting j = 1, 2, . . . , N. It is recommended to set N = 2 for simple problems. 12) Estimate the measurement noise covariance using the following equation, 13) Compute the Kalman gain, 14) Estimate the updated state and its associated covariance according to the following equation, Finally, the below variables will be used in the next iteration: The proposed algorithm estimates the measurement noise covariance R using the Variational Bayesian approach. Additionally, robustness against measurement outliers is realized using the MCC approach. Moreover, the outlier suppression will also facilitate the adaptive estimation of the measurement noise covariance [17]. Hence, the combination of the VB approach and MCC approach will improve the SOC estimation's adaptability and robustness when dealing with unknown measurement noise covariance and possible measurement outliers [17].

IV. EXPERIMENTAL RESULTS
In this section, the proposed VBMCCKF filter was evaluated and compared against the EKF, CKF, and VBCKF algorithms in five experimental tests using a 3.6-V Li-ion battery cell. In all the tests, the initial SOC was intentionally set at 80% (the true initial value is 100%) with a covariance of 0.1, and the tests cover the entire SOC range from 100% to 0%. The SOC was wrongly initialized to assess the ability of the tested algorithms to converge to the true SOC value. The experimental setup used is shown in Fig. 3, where the cell to be tested is placed in a thermal chamber with a Firing Circuits Universal Battery Tester.
The tests performed include constant pulsed-current discharge and charge tests, a variable pulsed-current discharge test, US06, LA92, HWFET, and UDDS standard electric vehicle drive cycles. The first two tests serve to benchmark the algorithms on simple tests, and the latter four present real-world tests with high dynamic loads. Some of the data used are publicly available as the LG 18650HG2 Li-ion dataset [37].
In the first test, the proposed VBMCCKF performs best throughout the SOC range in both charging and discharging, followed by the VBCKF, the CKF, and finally the EKF. Although  superior performance is noticed with the VBMCCKF, the inherent adaptation seems to have been slow initially, but tracking performance improved and overcame the other algorithms. The terminal voltage, estimation results, and the error dynamics of the presented algorithms for the discharge test are shown in Figs. 4-6. In the constant discharge pulsed test, the MAE obtained is 2.10% when using the EKF, 1.59% utilizing the CKF, 0.86% using the VBCKF, and 0.68% using the VBMCCKF. The charge test figures are omitted for brevity, but the statistics are reported in Table I.
The second conducted test shows a similar trend to the first test. The VBMCCKF performed best and the EKF performed  worst. Slightly better error dynamics are observed here as the SOC estimate approaches the ground truth. This can be attributed to the variable discharge pulsed test consistently exciting invokling adaptation in the proposed algorithm. The terminal voltage, estimated SOC, and the error dynamics are shown in Figs. 7-9. Here, the MAE obtained is 2.32% using the EKF, 1.78% using CKF, 1.27% using VBCKF, and 1.03% using VBMCCKF.
The remaining tests were carried out using the US06, LA92, HWFET, and UDDS drive cycles, respectively. The terminal voltage, estimated SOC, and the error dynamics are shown in Figs. 10-21. The proposed VBMCCKF performs best, followed by the VBCKF, the CKF, and finally the EKF. Unlike with the first two tests, the estimation error diminishes much more rapidly with these highly dynamic tests. In the US06 test, the MAE obtained is 1.78% using the EKF, 1.88% using the CKF, 0.78% using the VBCKF, and 0.19% using the VBMCCKF. In the LA92 test, the MAE obtained is 2.07% using the EKF, 1.63% using the CKF, 0.62% using the VBCKF, and 0.12% using the VBMCCKF. In the HWFET test, the MAE obtained is 0.87% using the EKF, 0.81% using the CKF, 0.28% using the VBCKF, and 0.06% using the VBMCCKF. Lastly, in the UDDS test, the MAE obtained is 2.83% using the EKF, 2.57% using the CKF, and 0.01% using the VBCKF and VBMCCKF.
From the above experimental results, it can be noticed that all algorithms have converged to the true state. In comparison with the rest of the algorithms, the VBMCCKF converged towards the true SOC faster and with minimum MAE compared with the        EKF, the CKF, and the VBCKF. Nonetheless, the above tests do not adequately test the full capability of the proposed robust and adaptive filter. Therefore, it is essential to test the robustness of the proposed algorithm against varying operating environments and outlier measurements.
All the tests presented above are processed again, once with the environment in the thermal chamber at a different temperature of 10°C (instead of 25°C) and another time with simulated pseudo-outlier measurements. In the first test, the testing conditions are the same as with previous tests, except for the temperature change. In the second test, the voltage measurements are replaced with wrong data for a brief period of time, and it is noteworthy to mention that the temperature in the thermal chamber was 25°C at the beginning of the test. This is done once with a constant level outlier and another time with a constant level additive random noise injected into the measurements sequence. For sake of brevity, we only show the figures for the US06 cycle in the case of different operating temperatures and the figures for the LA92 cycle with the injected pseudo-outlier measurements.  Figs. 22-24 showcase the US06 cycle under the new environment temperature. The VBMCCKF once again performs best with the other algorithms following a similar trend as seen in the earlier tests. The level of error did, however, slightly increase on average for all the algorithms. The dynamic nature of the test also translates to the proposed estimator adapting quickly and the SOC tracking the ground truth.
Figs. 25-27 showcase the LA92 cycle with the injected erroneous measurement sequence. The VBCKF and the VBMCCKF are shown to handle the instances of outlier measurements much better than the other algorithms, with them almost rejecting the outlier entirely. Nevertheless, the proposed VBMCCKF is the best performer amongst the tested algorithms due to the MCC property of the filter. The EKF and CKF are noticed to exhibit the largest deviation when the outlier sequence is injected, and performance is still affected even after the outlier sequence ends.
The MAE comparison for all datasets and all test cases is illustrated in Table I.
The computational burden associated with running the proposed algorithm needs to be analyzed. Table II presents   average CPU time, in milliseconds, required to propagate the entire algorithm with all tests. The more complex the algorithm and the larger number of steps involved, the more time is required to process measurement and generate an estimate. On average, all the algorithms, which were implemented in the MATLAB environment, require less than 0.5 ms CPU time to execute one iteration. This computational complexity is minimal and can be further brought down by optimizing the code to be run on a low-level programming language, such as C-language.

V. CONCLUSION
This paper proposes a VBMCCKF method to estimate the SOC of different Li-ion battery cells. The algorithm utilizes the Cubature Kalman filter to obtain high-accuracy SOC estimates given adaptive measurement noise covariance identification and robust suppression of measurement outliers. The measurement error covariance is estimated using the Variational Bayesian method, while the outliers are suppressed using the Maximum Correntropy Criterion. The proposed VBMCCKF is verified experimentally, and it is compared with the EKF, the CKF, and the VBCKF. Experimental results performed using commercial Li-ion battery cells show that the VBMCCKF has the best performance, followed by the VBCKF, CKF, and EKF, respectively. On average, the proposed VBMCCKF yielded a reduction in MAE of 77%, 68%, and 49%, compared to the EKF, the CKF, and the VBCKF, respectively. The improved estimation accuracy and robustness of the VBMCCKF can be utilized in improving the BMS operation and extending the service life of the battery.