In the context of transitioning energy structures, new energy vehicles have become a pivotal component of modern transportation systems. The lithium-ion battery serves as the core energy storage component in vehicle powertrains, and its safety and operational stability are managed by the Battery Management System (BMS). Accurate and real-time knowledge of the battery’s State of Charge (SOC) is a fundamental prerequisite for the BMS to execute its other critical functions. Consequently, obtaining real-time and precise SOC information holds significant practical value for enhancing vehicle performance and driving experience. However, the battery’s SOC is influenced by multiple factors, including current and complex operating conditions, making real-time, accurate SOC estimation a challenging task.

The Extended Kalman Filter (EKF) is widely applied for SOC estimation due to its relatively high computational accuracy and good real-time performance. However, a fundamental assumption in the standard EKF is that the system and measurement noises are stationary, zero-mean Gaussian white noise. This assumption often contradicts the stochastic and dynamic nature of real-world vehicle operating conditions, where noise characteristics and model parameters can vary significantly. This discrepancy frequently leads to substantial estimation errors and reduced robustness. To address the issue of time-varying noise, adaptive filtering algorithms have been introduced. These algorithms dynamically adjust the noise covariance matrices based on the measurement innovation sequence, thereby improving the accuracy and robustness of SOC estimation. Simultaneously, the precision of SOC estimation is fundamentally reliant on an accurate battery model. The parameters within an equivalent circuit model (ECM), such as ohmic resistance and polarization elements, are not constants but vary with factors like SOC, temperature, and aging. Using offline-identified parameters in a dynamic environment inevitably introduces model mismatch. Therefore, the online joint estimation of SOC and model parameters has become a key research direction to enhance accuracy. Methods such as the Dual Extended Kalman Filter (DEKF) and multi-scale estimation frameworks have been proposed to simultaneously track SOC and critical parameters like internal resistance. However, existing studies often address either the noise adaptivity problem or the parameter identification problem in isolation.
This work proposes a Multi-time-scale Adaptive Dual Extended Kalman Filter (MTS-ADEKF) algorithm to simultaneously tackle both challenges for lithium-ion battery SOC estimation. The algorithm builds upon the EKF framework by integrating an adaptive mechanism to dynamically adjust system and measurement noise covariance matrices online, countering the effects of non-stationary noise prevalent in vehicle operation. Furthermore, it establishes separate estimation processes for SOC and the complete set of ECM parameters (ohmic resistance, two polarization resistances, and two polarization capacitances). Crucially, these processes operate on different time scales: a fast micro-scale for SOC tracking and a slower macro-scale for parameter identification. This multi-scale approach efficiently captures the different dynamic rates of state and parameter changes while managing computational load. The proposed method requires only one set of initial model parameters from a simple pulse test, eliminating the need for extensive offline parameter mapping across different SOC points. Experimental validation is conducted using data from a commercial ternary lithium-ion battery under complex driving profiles, including the Beijing Bus Dynamic Stress Test (BBDST) and a mixed driving cycle. Results demonstrate that the MTS-ADEKF algorithm significantly outperforms conventional EKF and standard DEKF in terms of estimation accuracy and stability, proving its effectiveness and strong robustness for SOC estimation of lithium-ion batteries in practical automotive applications.
1. Lithium-ion Battery Modeling and Parameter Identification
1.1 Equivalent Circuit Model
Models for SOC estimation of lithium-ion batteries are primarily categorized into electrochemical models and Equivalent Circuit Models (ECMs). While electrochemical models offer deep physical insight, their complexity renders them less suitable for real-time BMS applications. ECMs, with their concise structure, use ideal circuit components to effectively simulate the dynamic behavior of lithium-ion batteries, achieving a good balance between estimation accuracy and computational efficiency. Among various ECMs, the second-order RC model is widely adopted due to its ability to represent both short-term and long-term transient voltage responses. The structure of the second-order RC equivalent circuit model used in this study is shown in the figure.
The model consists of an open-circuit voltage (OCV) source, an ohmic resistor \(R_0\), and two parallel RC networks \((R_1, C_1)\) and \((R_2, C_2)\) representing polarization effects. \(U_t\) denotes the terminal voltage, \(I\) is the current (positive for discharge), and \(U_1\), \(U_2\) are the voltages across the two RC branches. Applying Kirchhoff’s laws, the model’s discharge behavior is described by the following equations:
$$ U_t = OCV – I R_0 – U_1 – U_2 $$
$$ \frac{dU_1}{dt} = -\frac{1}{R_1 C_1}U_1 + \frac{1}{C_1}I $$
$$ \frac{dU_2}{dt} = -\frac{1}{R_2 C_2}U_2 + \frac{1}{C_2}I $$
1.2 Battery Characterization Tests
The experimental subject is a commercial soft-pack ternary lithium-ion battery. All tests are conducted inside an LHS-100CL temperature chamber maintaining a constant temperature of 25°C. A CT-4004-5V100A-NFA battery tester is employed for charge/discharge cycling.
(1) Capacity Test: A standard Constant Current-Constant Voltage (CC-CV) charge protocol is used. The battery is first charged at a 0.5C constant current to 4.2V, followed by a constant voltage charge at 4.2V until the current drops below 0.05C. The discharge process is the focus. Four individual cells are discharged at a 0.2C constant current to the cut-off voltage of 2.75V to determine their capacity. The results are shown in Table 1.
| Cell Number | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| Capacity (Ah) | 46.1419 | 46.1724 | 45.9780 | 45.9522 |
The capacities are consistent around 46 Ah. The discharge voltage curves are also highly consistent. Therefore, Cell 1 is selected for subsequent experiments.
(2) OCV-SOC Calibration Test: To obtain the OCV-SOC relationship for Cell 1, a specific test profile is executed. The battery is fully charged and then subjected to a series of discharge pulses. After each pulse that reduces the SOC by 10%, the battery is rested for a prolonged period (e.g., 1-2 hours) to allow the terminal voltage to relax to a stable value approximating the OCV at that SOC point. This process is repeated until the battery is fully discharged. A 7th-order polynomial is fitted to the collected OCV-SOC data points, resulting in the following relationship:
$$ OCV(SOC) = 2.996 + 8.668 \times SOC – 57.5 \times SOC^2 + 210.6 \times SOC^3 – 443.2 \times SOC^4 + 537 \times SOC^5 – 345 \times SOC^6 + 90.61 \times SOC^7 $$
The fitted curve is shown in the corresponding figure.
1.3 Initial Model Parameter Identification
After constructing the battery model, its internal parameters need to be identified. This study employs a pulse excitation test. Starting from a fully charged state, the battery rests for 30 minutes. It is then discharged at 1C to reduce the SOC by 10%, followed by another 30-minute rest. A 10-second discharge pulse at 1C is applied, after which the battery is rested again. A typical voltage response curve at SOC=90% is shown in the figure.
Key points on the curve are: A (static voltage before pulse), B (instantaneous voltage drop at pulse start), C (steady-state voltage during pulse), D (instantaneous voltage recovery at pulse end), and E (final static voltage after relaxation). The ohmic resistance \(R_0\) can be calculated from the instantaneous voltage change:
$$ R_0 = \frac{|U_A – U_B|}{I} $$
The voltage recovery curve after the pulse (segment D-E) follows a double-exponential function:
$$ U_t(t) = OCV(SOC) – I R_1 e^{-t/\tau_1} – I R_2 e^{-t/\tau_2} $$
where \(\tau_1 = R_1 C_1\) and \(\tau_2 = R_2 C_2\). By fitting the function \(f(t) = OCV – a e^{-b t} – c e^{-d t}\) to the relaxation data, the polarization parameters can be extracted: \(R_1 = a/I\), \(\tau_1 = 1/b\), \(C_1 = \tau_1 / R_1\), \(R_2 = c/I\), \(\tau_2 = 1/d\), \(C_2 = \tau_2 / R_2\). This process is repeated at different SOC levels (e.g., 90%, 80%, …, 10%) to obtain initial parameter lookup tables. However, the proposed MTS-ADEKF algorithm requires only one set of initial parameters (e.g., at SOC=50%) as a starting point for its online estimation.
2. Multi-time-scale Adaptive Dual Extended Kalman Filter Algorithm
2.1 Discretization of the Equivalent Circuit Model
Based on the ampere-hour counting principle, the SOC can be approximated by:
$$ SOC_t = SOC_{t_0} – \frac{\eta}{3600 C_N} \int_{t_0}^{t} I_t \, dt $$
where \(SOC_t\) is the current SOC, \(SOC_{t_0}\) is the initial SOC, \(C_N\) is the nominal capacity (Ah), \(\eta\) is the coulombic efficiency (assumed to be 1 for discharge), and \(I_t\) is the current (A).
Defining the state vector as \(x_k = [SOC_k, U_{1,k}, U_{2,k}]^T\), the input as \(u_k = I_k\), and the sampling time as \(\Delta t\), the state-space equations for the second-order RC model can be discretized:
$$
x_k = A_{k-1} x_{k-1} + B_{k-1} u_{k-1}
$$
$$
A_{k-1} = \begin{bmatrix}
1 & 0 & 0 \\
0 & e^{-\Delta t / \tau_1} & 0 \\
0 & 0 & e^{-\Delta t / \tau_2}
\end{bmatrix}, \quad
B_{k-1} = \begin{bmatrix}
-\frac{\eta \Delta t}{3600 C_N} \\
R_1 (1 – e^{-\Delta t / \tau_1}) \\
R_2 (1 – e^{-\Delta t / \tau_2})
\end{bmatrix}
$$
The observation equation for the terminal voltage is:
$$
y_k = U_{t,k} = OCV(SOC_k) – U_{1,k} – U_{2,k} – I_k R_0
$$
2.2 Construction of the MTS-ADEKF Algorithm
The MTS-ADEKF algorithm employs two interacting filters: a state filter for SOC estimation and a parameter filter for online model parameter identification. An adaptive mechanism is integrated into the state filter to adjust noise covariances. Recognizing that the SOC changes much faster than the model parameters under typical driving conditions, the algorithm operates on two different time scales to improve efficiency and stability: a micro-scale (e.g., \(T_s = 1\) second) for SOC estimation and a macro-scale (e.g., \(T_p = 60\) seconds) for parameter estimation. A schematic of the algorithm is shown in the corresponding figure.
2.2.1 State Estimation Filter (with Adaptive Noise)
The state-space model for the state filter, including process noise \(w^s_k\) and measurement noise \(v^s_k\), is:
$$
\begin{cases}
x_k = A_{k-1}(\theta) x_{k-1} + B_{k-1}(\theta) u_{k-1} + w^s_{k-1} \\
y_k = OCV(SOC_k) – U_{1,k} – U_{2,k} – I_k R_0 + v^s_k = h(x_k, \theta, I_k) + v^s_k
\end{cases}
$$
where \(\theta = [R_0, R_1, C_1, R_2, C_2]^T\) is the parameter vector. The standard EKF steps for state estimation are:
Prediction:
$$
\hat{x}^-_{k} = A_{k-1}(\hat{\theta}) \hat{x}^+_{k-1} + B_{k-1}(\hat{\theta}) u_{k-1}
$$
$$
P^-_{x,k} = A_{k-1}(\hat{\theta}) P^+_{x,k-1} A_{k-1}(\hat{\theta})^T + Q^s_k
$$
Update:
$$
C_k = \left. \frac{\partial h}{\partial x} \right|_{\hat{x}^-_{k}, \hat{\theta}} = \left[ \frac{\partial OCV}{\partial SOC}(\hat{SOC}^-_k), -1, -1 \right]
$$
$$
K^s_k = P^-_{x,k} C_k^T (C_k P^-_{x,k} C_k^T + R^s_k)^{-1}
$$
$$
\hat{x}^+_{k} = \hat{x}^-_{k} + K^s_k (y_k – h(\hat{x}^-_k, \hat{\theta}, I_k))
$$
$$
P^+_{x,k} = (I – K^s_k C_k) P^-_{x,k}
$$
Here, \(Q^s_k\) and \(R^s_k\) are the process and measurement noise covariance matrices for the state filter.
2.2.2 Adaptive Noise Strategy
To handle time-varying noise, an adaptive strategy based on the maximum likelihood criterion is used. The innovation sequence \(e_k = y_k – h(\hat{x}^-_k, \hat{\theta}, I_k)\) is monitored. Its estimated covariance \(S_k\) is calculated over a moving window of size \(m\):
$$
S_k = \frac{1}{m} \sum_{j=k-m+1}^{k} e_j e_j^T
$$
The noise covariance matrices are then adapted online:
$$
\begin{aligned}
Q^s_k &= K^s_k S_k (K^s_k)^T \\
R^s_k &= S_k – C_k P^-_{x,k} C_k^T
\end{aligned}
$$
This allows the filter to adjust to changing noise levels during vehicle operation.
2.2.3 Parameter Estimation Filter
The parameter vector \(\theta\) is assumed to evolve slowly according to a random walk model:
$$
\theta_l = \theta_{l-1} + w^p_l
$$
where the subscript \(l\) denotes the macro-time scale index, and \(w^p_l\) is the parameter process noise. The observation equation for the parameter filter is the same terminal voltage equation, but now the state \(x\) is considered known (from the state filter), and \(\theta\) is the variable:
$$
y_l = h(\hat{x}^+_l, \theta_l, I_l) + v^p_l
$$
Here, \(v^p_l\) is the measurement noise for the parameter filter. A separate EKF runs on the macro-scale to estimate \(\theta\). The Jacobian \(C^p_l = \partial h / \partial \theta |_{\hat{x}^+_l, \hat{\theta}^-_l}\) is required, which involves partial derivatives of the voltage equation with respect to each parameter in \(\theta\). The update for the parameter estimate \(\hat{\theta}^+_l\) and its covariance \(P^+_{\theta,l}\) follows the standard EKF form, similar to the state filter but operating at the slower time scale.
The overall flowchart of the MTS-ADEKF algorithm, illustrating the interaction between the state and parameter filters on different time scales with adaptive noise, is shown in the corresponding figure.
3. Experiments and Result Analysis
Cell 1 is used as the experimental subject to evaluate the SOC estimation performance under different vehicle operating conditions. The proposed MTS-ADEKF algorithm is compared against the standard EKF (with offline parameters) and the standard DEKF (joint estimation on a single time scale, without adaptive noise). Estimation accuracy is assessed using Maximum Absolute Error (MAE) and Root Mean Square Error (RMSE).
3.1 BBDST Operating Condition
The Beijing Bus Dynamic Stress Test (BBDST) profile is applied. The current profile for one 300-second cycle is shown in the corresponding figure. The test runs for 20 such cycles. The SOC estimation results and errors are presented in the corresponding figures and summarized in Table 2.
The MTS-ADEKF algorithm maintains high accuracy and stability throughout the discharge process, with a maximum error of only 0.96% and a smooth estimation curve. In contrast, the DEKF shows larger errors in the middle stage, with a maximum error near 2%. The standard EKF exhibits significant error and curve oscillation throughout the estimation, with a maximum error approaching 5%. The terminal voltage estimation errors for all three methods are within a reasonable range (±24 mV for MTS-ADEKF), confirming the accuracy of the online parameter identification.
3.2 Mixed Driving Cycle Condition
To further validate the algorithm under complex conditions, experimental data from a publicly available dataset for a Turnigy Graphene 5Ah 65C lithium-ion battery under a mixed driving cycle (composed of UDDS, HWFET, LA92, US06 segments) is used. The current profile is shown in the corresponding figure. The SOC estimation results are shown in the corresponding figures and Table 2.
Again, the MTS-ADEKF demonstrates superior performance. The EKF and DEKF show significant bias and instability, with maximum errors close to 3% and 4%, respectively, and noticeable curve oscillation. The MTS-ADEKF provides a smooth and accurate estimate with a maximum error of only 1.18%. Terminal voltage estimation errors are comparable among the methods.
| Algorithm | BBDST | Mixed Driving Cycle | ||
|---|---|---|---|---|
| MAE | RMSE | MAE | RMSE | |
| EKF | 4.43% | 0.02293 | 2.80% | 0.01944 |
| DEKF | 1.78% | 0.01620 | 3.59% | 0.03360 |
| MTS-ADEKF | 0.96% | 0.00462 | 1.18% | 0.00723 |
The results clearly indicate that the MTS-ADEKF algorithm significantly improves both the accuracy (lower MAE) and stability (lower RMSE) of SOC estimation for the lithium-ion battery compared to EKF and DEKF under both test profiles. The adaptive noise adjustment mitigates the impact of non-stationary system noise, while the multi-scale joint parameter estimation effectively tracks model parameter variations, reducing model mismatch. The initial estimation error common in EKF due to inaccurate initial parameters is also minimized because the MTS-ADEKF starts refining its parameter estimates from the beginning.
4. Conclusion
This paper presents a Multi-time-scale Adaptive Dual Extended Kalman Filter (MTS-ADEKF) algorithm for accurate State of Charge estimation of lithium-ion batteries under real vehicle operating conditions. The algorithm addresses two critical limitations of conventional methods: the assumption of stationary noise and the use of fixed, offline-identified model parameters. By integrating an online adaptive noise covariance adjustment mechanism and performing joint estimation of SOC and the full set of equivalent circuit model parameters on separate time scales, the proposed method achieves enhanced robustness and accuracy.
Key contributions and findings are:
- Simultaneous Problem Solving: The MTS-ADEKF concurrently handles time-varying noise and dynamic model parameter changes, which are prevalent in automotive applications. This integrated approach yields significantly higher SOC estimation accuracy and stability compared to standard EKF and DEKF algorithms, as validated under BBDST and mixed driving cycles.
- Efficient Multi-scale Estimation: The separation of state and parameter estimation into micro and macro time scales efficiently captures their different dynamics. This structure maintains high accuracy for terminal voltage prediction (validating parameter identification) while requiring only one set of initial model parameters, reducing offline calibration effort.
- Strong Practical Robustness: The algorithm demonstrates consistent high performance throughout the entire SOC range under complex, dynamic loads. It effectively manages noise interference and model parameter variations inherent to vehicle operation, proving its suitability and high practical value for real-world BMS implementation.
In conclusion, the MTS-ADEKF algorithm provides a comprehensive and effective solution for reliable SOC estimation of lithium-ion batteries, contributing to the development of safer and more efficient battery management systems for electric vehicles.
