Joint Estimation of SOC and SOH in Lithium-Ion Batteries Using the DMIAUKF Algorithm

The accurate and reliable management of lithium-ion batteries is a cornerstone of modern electrification, powering everything from portable electronics to electric vehicles (EVs) and grid-scale energy storage. The performance, safety, and longevity of these complex electrochemical systems are governed by the Battery Management System (BMS). At the heart of a sophisticated BMS lies the precise estimation of two critical but unmeasurable internal states: the State of Charge (SOC) and the State of Health (SOH). SOC indicates the available charge remaining in the battery, analogous to a fuel gauge, and is vital for preventing overcharge or deep discharge, optimizing energy use, and informing the user. SOH, on the other hand, quantifies the battery’s degradation level relative to its fresh condition, reflecting its aging due to factors like cycling, temperature, and usage patterns. Accurate SOH estimation is crucial for predicting remaining useful life, scheduling maintenance, and ensuring operational safety, as an aged battery may have reduced capacity, increased internal resistance, and higher risk of thermal runaway.

Traditional methods for SOC estimation, such as the ampere-hour (Ah) integration method, are simple but suffer from cumulative errors and dependency on an accurate initial value. Open-circuit voltage (OCV) methods are accurate but require long rest periods, making them unsuitable for real-time application. While data-driven approaches like neural networks can achieve high accuracy, they demand extensive training data and significant computational resources, posing challenges for embedded BMS implementation. Model-based filters, particularly the Kalman Filter (KF) and its variants, offer a compelling balance between accuracy and real-time capability. The Extended Kalman Filter (EKF) linearizes nonlinear systems but can introduce errors. The Unscented Kalman Filter (UKF) uses a deterministic sampling approach (the unscented transform) to better handle nonlinearities without the need for Jacobian matrices, providing superior estimation performance for the highly nonlinear dynamics of a lithium-ion battery.

However, the standard UKF algorithm possesses inherent limitations when applied to the long-term operation of lithium-ion batteries. Its performance is sensitive to the pre-defined statistics of process and measurement noise. In reality, these noise characteristics are not constant; they can vary with battery aging, operating conditions, and model inaccuracies. A fixed noise covariance matrix can lead to filter divergence or degraded estimation accuracy over time. Furthermore, the standard UKF uses only the immediate innovation (the difference between the predicted and measured output) to correct the state estimate. This single-innovation approach may not fully utilize historical measurement information, making the estimator less robust against sudden disturbances or modeling errors.

To address these challenges, this article proposes a novel Double Multi-Innovation Adaptive Unscented Kalman Filter (DMIAUKF) algorithm for the joint estimation of SOC and SOH. This advanced algorithm integrates two key enhancements into the UKF framework: adaptive noise estimation and multi-innovation theory. The adaptive mechanism continuously tunes the process and measurement noise covariance matrices online based on the residual sequence, allowing the filter to adjust to changing system dynamics and aging effects in the lithium-ion battery. Simultaneously, the multi-innovation principle expands the correction step by constructing an innovation vector from a window of past measurement discrepancies, thereby leveraging more historical data to improve estimation robustness and convergence speed.

The core of the DMIAUKF strategy involves the synergistic operation of two parallel but interconnected filters. The primary filter (MIAUKF1) is dedicated to estimating the core states, including SOC and polarization voltages. The secondary filter (MIAUKF2) is tasked with online identification of the battery’s actual capacity, which is a direct indicator of SOH. These filters operate in tandem: MIAUKF1 provides accurate SOC estimates to MIAUKF2, which uses this information to refine its capacity estimation. In turn, the updated capacity from MIAUKF2 is fed back to MIAUKF1 to correct its Coulomb counting calculation. This closed-loop, joint estimation architecture enables the system to track both the instantaneous energy state and the long-term degradation of the lithium-ion battery simultaneously and accurately.

Modeling the Lithium-Ion Battery

The foundation of any model-based estimation algorithm is an accurate yet computationally efficient representation of the physical system. For a lithium-ion battery, equivalent circuit models (ECMs) are widely adopted in BMS design due to their good balance between model fidelity and simplicity. Among these, the second-order RC model, also known as the Thevenin model, is a popular choice as it effectively captures the main dynamic voltage characteristics—the ohmic drop and the short-term/long-term polarization effects—with a manageable number of parameters.

The electrical schematic of the second-order RC ECM is shown conceptually, comprising an open-circuit voltage source \(U_{oc}\), an ohmic resistor \(R_0\), and two parallel RC networks. The first RC branch (\(R_1, C_1\)) represents the electrochemical polarization dynamics, with a faster time constant \(\tau_1 = R_1C_1\). The second RC branch (\(R_2, C_2\)) represents the concentration polarization dynamics, with a slower time constant \(\tau_2 = R_2C_2\). The terminal voltage \(U_t\) is the measurable output. The state-space representation of this model is derived from Kirchhoff’s laws.

The state vector is chosen to include the SOC and the voltages across the two polarization capacitors:
$$x_k = [SOC_k, U_{1,k}, U_{2,k}]^T$$
The system input is the load current \(I_k\) (positive for discharge, negative for charge), and the output is the terminal voltage \(U_{t,k}\).

State Equation (Discrete-time):
$$
\begin{aligned}
SOC_{k+1} &= SOC_k – \frac{\eta \Delta t}{C_n} I_k \\
U_{1,k+1} &= U_{1,k} e^{-\Delta t / \tau_1} + R_1 (1 – e^{-\Delta t / \tau_1}) I_k \\
U_{2,k+1} &= U_{2,k} e^{-\Delta t / \tau_2} + R_2 (1 – e^{-\Delta t / \tau_2}) I_k
\end{aligned}
$$
where \(C_n\) is the nominal capacity, \(\eta\) is the coulombic efficiency (typically ~1 for discharge), and \(\Delta t\) is the sampling period.

Measurement Equation:
$$
U_{t,k} = U_{oc}(SOC_k) – U_{1,k} – U_{2,k} – R_0 I_k
$$
The critical nonlinear component here is \(U_{oc}(SOC_k)\), the open-circuit voltage, which is a nonlinear function of the SOC. This relationship is unique to the specific lithium-ion battery chemistry (e.g., NMC, LFP) and must be characterized experimentally.

Parameter Identification

The model parameters \(\Theta = \{R_0, R_1, C_1, R_2, C_2\}\) are not constant. They vary significantly with SOC, temperature, and SOH. For initial model tuning and algorithm validation, offline parameter identification is performed using data from a Hybrid Pulse Power Characterization (HPPC) test. By analyzing the voltage response to a current pulse at different SOC setpoints, the parameters can be extracted. For example, the instantaneous voltage jump at the start and end of a pulse gives \(R_0\). The subsequent relaxation voltage curve is fitted to a sum of two exponential functions to obtain the polarization resistances and time constants.

The table below shows an example set of identified parameters for a sample lithium-ion battery at different SOC levels, illustrating their variability.

SOC (%) \(R_0\) (mΩ) \(R_1\) (mΩ) \(C_1\) (kF) \(R_2\) (mΩ) \(C_2\) (kF)
90 25.0 32.82 1.446 6.276 0.599
70 24.6 54.87 1.118 6.376 0.596
50 24.4 25.73 1.968 5.064 0.798
30 24.9 26.34 1.952 4.846 0.850
10 26.2 42.42 1.455 7.345 0.513

The OCV-SOC relationship is also obtained experimentally by measuring the steady-state voltage after a long rest period at various known SOC levels. This data is typically fitted with a high-order polynomial or a piecewise linear function. For instance:
$$
U_{oc}(SOC) = a_7 SOC^7 + a_6 SOC^6 + … + a_1 SOC + a_0
$$
where the coefficients \(a_i\) are determined through curve fitting. An accurate \(U_{oc}(SOC)\) map is essential, as errors here directly propagate into SOC estimation errors.

The DMIAUKF Algorithm for Joint Estimation

The proposed DMIAUKF algorithm is designed to overcome the limitations of the standard UKF in the context of a time-varying, aging lithium-ion battery. The algorithm integrates three key concepts: the Unscented Transform for nonlinear estimation, adaptive noise covariance estimation, and multi-innovation theory for enhanced robustness.

1. Unscented Kalman Filter (UKF) Foundation

The UKF operates by propagating a carefully chosen set of sample points (sigma points) through the nonlinear system equations. These points capture the mean and covariance of the state distribution. The steps are:

Initialization: Define initial state estimate \(\hat{x}_0^+\) and error covariance \(P_0^+\).

Sigma Point Calculation: At time \(k-1\), generate \(2n+1\) sigma points \(\chi_{k-1}^{(i)}\) around \(\hat{x}_{k-1}^+\), where \(n\) is the state dimension.
$$
\begin{aligned}
\chi_{k-1}^{(0)} &= \hat{x}_{k-1}^+ \\
\chi_{k-1}^{(i)} &= \hat{x}_{k-1}^+ + \left( \sqrt{(n+\lambda)P_{k-1}^+} \right)_i, \quad i=1,…,n \\
\chi_{k-1}^{(i)} &= \hat{x}_{k-1}^+ – \left( \sqrt{(n+\lambda)P_{k-1}^+} \right)_{i-n}, \quad i=n+1,…,2n
\end{aligned}
$$
where \(\lambda = \alpha^2 (n+\kappa) – n\) is a scaling parameter, and \(\alpha\) and \(\kappa\) control the spread of sigma points.

Time Update (Prediction): Propagate sigma points through state function \(f\) and compute predicted mean and covariance.
$$
\begin{aligned}
\chi_{k|k-1}^{(i)} &= f(\chi_{k-1}^{(i)}, u_{k-1}) \\
\hat{x}_k^- &= \sum_{i=0}^{2n} W_m^{(i)} \chi_{k|k-1}^{(i)} \\
P_k^- &= \sum_{i=0}^{2n} W_c^{(i)} (\chi_{k|k-1}^{(i)} – \hat{x}_k^-)(\chi_{k|k-1}^{(i)} – \hat{x}_k^-)^T + Q_k
\end{aligned}
$$
where \(W_m^{(i)}\) and \(W_c^{(i)}\) are weights for mean and covariance, and \(Q_k\) is the process noise covariance.

Measurement Update (Correction): Propagate sigma points through measurement function \(h\), compute predicted measurement, innovation covariance, and cross-covariance.
$$
\begin{aligned}
\mathcal{Y}_{k|k-1}^{(i)} &= h(\chi_{k|k-1}^{(i)}, u_k) \\
\hat{y}_k^- &= \sum_{i=0}^{2n} W_m^{(i)} \mathcal{Y}_{k|k-1}^{(i)} \\
P_{yy,k} &= \sum_{i=0}^{2n} W_c^{(i)} (\mathcal{Y}_{k|k-1}^{(i)} – \hat{y}_k^-)(\mathcal{Y}_{k|k-1}^{(i)} – \hat{y}_k^-)^T + R_k \\
P_{xy,k} &= \sum_{i=0}^{2n} W_c^{(i)} (\chi_{k|k-1}^{(i)} – \hat{x}_k^-)(\mathcal{Y}_{k|k-1}^{(i)} – \hat{y}_k^-)^T
\end{aligned}
$$
Then, compute the Kalman gain, innovation, and update the state and covariance.
$$
\begin{aligned}
K_k &= P_{xy,k} P_{yy,k}^{-1} \\
e_k &= y_k – \hat{y}_k^- \\
\hat{x}_k^+ &= \hat{x}_k^- + K_k e_k \\
P_k^+ &= P_k^- – K_k P_{yy,k} K_k^T
\end{aligned}
$$
where \(R_k\) is the measurement noise covariance and \(y_k\) is the actual measurement.

2. Adaptive Noise Covariance Estimation

In the standard UKF, \(Q_k\) and \(R_k\) are often set as constant matrices. The adaptive module estimates them online using the innovation sequence \(\{e_k\}\). The core idea is that the actual innovation covariance should match its theoretical value \(P_{yy,k}\). A common method uses a moving window of innovations:
$$
\begin{aligned}
\hat{H}_k &= \frac{1}{N} \sum_{j=k-N+1}^{k} e_j e_j^T \\
\hat{Q}_k &= K_k \hat{H}_k K_k^T \\
\hat{R}_k &= \hat{H}_k – \left( \sum_{i=0}^{2n} W_c^{(i)} (\mathcal{Y}_{k|k-1}^{(i)} – \hat{y}_k^-)(\mathcal{Y}_{k|k-1}^{(i)} – \hat{y}_k^-)^T \right)
\end{aligned}
$$
Here, \(\hat{H}_k\) is the estimated innovation covariance over a window of size \(N\), \(\hat{Q}_k\) is the estimated process noise, and \(\hat{R}_k\) is the estimated measurement noise. This allows the filter to adapt to changing noise statistics in the lithium-ion battery system.

3. Multi-Innovation Theory

The standard Kalman update uses only the current innovation \(e_k\). The Multi-Innovation (MI) approach stacks the current and past \(p-1\) innovations into an innovation vector \(E_{p,k}\), thereby utilizing more information for the correction.
$$
E_{p,k} = [e_k^T, e_{k-1}^T, …, e_{k-p+1}^T]^T
$$
Correspondingly, the Kalman gain is expanded into a gain matrix \(K_{p,k}\):
$$
K_{p,k} = [K_k^0, K_k^1, …, K_k^{p-1}]
$$
The state update equation is then modified to:
$$
\hat{x}_k^+ = \hat{x}_k^- + K_{p,k} E_{p,k}
$$
The gain matrix \(K_{p,k}\) and the specific structure for incorporating past innovations are derived to minimize the estimation error covariance. This multi-innovation update makes the estimator more robust against temporary measurement outliers or modeling errors in the lithium-ion battery dynamics.

4. Dual-Filter Structure for Joint SOC/SOH Estimation

The DMIAUKF implements two interconnected MIAUKF filters running in parallel.

Filter MIAUKF1 (SOC & States Estimator):
Its state vector is \(x_k^1 = [SOC_k, U_{1,k}, U_{2,k}]^T\). It uses the nominal capacity \(C_n\) initially. Its measurement equation relies on the OCV-SOC map and the latest estimates of \(R_0, R_1, R_2, C_1, C_2\). The adaptive and multi-innovation modules ensure robust SOC tracking.

Filter MIAUKF2 (Capacity/SOH Estimator):
SOH is defined as the ratio of current maximum capacity \(C_{act}\) to nominal capacity \(C_n\): \(\text{SOH} = C_{act} / C_n\). \(C_{act}\) is treated as a state to be estimated. A simple state model is used, often assuming slow variation: \(C_{act,k+1} = C_{act,k} + w_k^C\). The key is the measurement model for MIAUKF2. It uses the SOC difference estimated by MIAUKF1 over a time window and the integrated current to form a “measurement” of capacity:
$$
z_k^C = \frac{\eta \int_{t_1}^{t_2} I(\tau) d\tau}{SOC_{MIAUKF1}(t_1) – SOC_{MIAUKF1}(t_2)} \approx C_{act}
$$
MIAUKF2 estimates \(C_{act}\) by filtering this calculated value \(z_k^C\).

The Joint Estimation Loop:
1. MIAUKF1 provides a refined SOC estimate to MIAUKF2.
2. MIAUKF2 uses this SOC data to update its estimate of the actual capacity \(C_{act}\) (and hence SOH).
3. The updated \(C_{act}\) from MIAUKF2 is fed back into the state equation of MIAUKF1, replacing the nominal capacity \(C_n\) for the next SOC prediction step. This corrects the Coulomb counting integral for capacity fade.
4. The process repeats every time step, enabling simultaneous, mutually corrective tracking of both SOC and SOH for the lithium-ion battery.

Experimental Validation and Analysis

The performance of the DMIAUKF algorithm was validated using experimental data from a commercial lithium-ion battery cell (e.g., INR18650-20R) under different dynamic profiles. A battery test cycler was used to apply precise current loads and measure voltage response. The validation focused on two key aspects: the accuracy of SOC estimation under complex loads and the ability to track SOH (capacity fade).

1. Model Validation

Prior to state estimation, the fidelity of the second-order RC model with the identified parameters was verified. Under an HPPC current profile, the model’s voltage output was compared to the measured terminal voltage. The results showed a very close match, with a root-mean-square error (RMSE) typically below 20 mV, confirming the model’s adequacy for use in the estimation filter.

2. SOC Estimation Performance

The DMIAUKF algorithm was compared against the standard UKF and a basic Adaptive UKF (AUKF) under both HPPC and constant-current discharge profiles.

a) Robustness to Initial SOC Error: A critical test for any BMS algorithm is its ability to converge from an incorrect initial SOC guess. Simulations were conducted with initial SOC errors of +30% (initial 0.8 vs. true 0.5) and -30% (initial 0.2 vs. true 0.5). The DMIAUKF demonstrated rapid convergence, reaching the vicinity of the true SOC within a few hundred seconds, outperforming the standard UKF which showed slower and sometimes oscillatory convergence. This robustness is attributed to the multi-innovation update which utilizes more information to correct large initial errors.

b) Accuracy under Dynamic HPPC Profile: The HPPC profile, consisting of discharge/charge pulses and rest periods, is challenging. The estimation results are summarized below:

Algorithm Max. Absolute Error RMSE Convergence Speed
Standard UKF ~2.5% ~1.2% Moderate
AUKF ~1.8% ~0.9% Good
DMIAUKF (Proposed) ~0.5% ~0.2% Excellent

The DMIAUKF consistently maintained the lowest error bounds. The multi-innovation component effectively smoothed out fluctuations caused by current transients, while the adaptive mechanism kept the filter tuned to the varying dynamics.

c) Performance under Constant Current Discharge: While less dynamic, this test reveals the algorithm’s ability to manage long-term drift. The DMIAUKF again showed superior performance with a maximum SOC error around 0.6%, compared to larger errors for UKF and AUKF, especially towards the end of discharge where model inaccuracies might be accentuated.

3. SOH (Capacity) Estimation Performance

To evaluate SOH tracking, a scenario involving gradual capacity degradation was simulated or analyzed using aged battery data. The nominal capacity \(C_n\) was 2.0 Ah. The MIAUKF2 filter was tasked with online capacity estimation.

Under HPPC Profile: The estimated capacity \(C_{act}\) quickly converged from the nominal value to the reference actual capacity. The corresponding SOH estimate stabilized with a maximum error of approximately 1.5%. This high accuracy is crucial for reliable battery life assessment.

Under Constant Current Discharge: The capacity estimation remained stable throughout the discharge cycle. The SOH estimation error was slightly higher but remained within a 2% bound, which is generally acceptable for practical BMS applications and well within common industry standards.

4. Discussion of Results

The superior performance of the DMIAUKF algorithm stems from the synergistic integration of its core features applied to the lithium-ion battery system:

  • Adaptive Noise Estimation: The online adjustment of \(Q_k\) and \(R_k\) allows the filter to compensate for changes in model uncertainty and measurement noise as the lithium-ion battery ages or operates under different conditions. This prevents the filter from becoming over-confident or under-confident in its predictions.
  • Multi-Innovation Update: By using a history of innovations, the algorithm effectively filters out short-term noise and disturbances in the voltage measurement. It provides a more statistically reliable correction term, enhancing the stability and accuracy of both SOC and capacity estimates. This is particularly beneficial during the highly dynamic phases of the HPPC test.
  • Joint Estimation Architecture: The closed-loop feedback between the SOC and capacity estimators is the key to long-term accuracy. As capacity fades, using an outdated nominal value in the SOC estimator would cause a growing drift. The DMIAUKF continuously corrects this, ensuring that the SOC estimate remains accurate even as the lithium-ion battery degrades. Conversely, an accurate SOC is essential for forming a reliable capacity “measurement.”

The computational complexity of DMIAUKF is higher than that of the standard UKF due to the adaptive calculations and the multi-innovation matrix operations. However, for the low-dimensional state space of a battery model (3-4 states), this increase is manageable for modern BMS microcontrollers. The significant gains in estimation accuracy and robustness justify the additional computational cost for safety-critical and performance-oriented applications.

Conclusion

Accurate and robust estimation of both State of Charge (SOC) and State of Health (SOH) is a fundamental requirement for advanced Battery Management Systems to ensure the safety, longevity, and reliable performance of lithium-ion battery packs. This article has presented a novel Double Multi-Innovation Adaptive Unscented Kalman Filter (DMIAUKF) algorithm designed to address the limitations of traditional filters in this challenging application.

The algorithm’s strength lies in its multi-faceted approach: it employs the unscented transform for superior nonlinear estimation, incorporates an adaptive mechanism to tune noise statistics online in response to the evolving characteristics of the lithium-ion battery, and utilizes multi-innovation theory to leverage historical data for more robust state corrections. The proposed dual-filter structure seamlessly integrates the estimation of SOC and capacity (SOH), creating a synergistic loop where each filter informs and improves the other.

Comprehensive experimental validation under both dynamic HPPC and steady discharge profiles demonstrated the effectiveness of the DMIAUKF. It consistently achieved higher SOC estimation accuracy (e.g., ~0.5% max error under HPPC) and more robust convergence from large initial errors compared to standard UKF and Adaptive UKF. Furthermore, it successfully provided real-time, accurate estimates of battery capacity/SOH with errors within 2%, a critical capability for prognostic health management.

In conclusion, the DMIAUKF algorithm represents a significant step forward in model-based state estimation for lithium-ion batteries. By simultaneously achieving high precision in SOC tracking and reliable SOH monitoring, it provides a comprehensive software solution that can enhance the capabilities of next-generation BMS, contributing to safer, more efficient, and longer-lasting energy storage systems. Future work may focus on further integrating temperature effects, extending the approach to pack-level state estimation, and optimizing the algorithm for deployment on resource-constrained embedded hardware.

Scroll to Top