This paper presents a comprehensive investigation into state of charge (SOC) prediction for EV batteries, with a particular focus on sodium-ion chemistry. Recognizing that conventional lithium-ion-oriented SOC estimation methods cannot be directly transferred to sodium-ion systems due to distinct electrochemical characteristics, this study proposes a hybrid GRU-AKF framework. The gated recurrent unit (GRU) network is employed to capture the nonlinear temporal dynamics between measurable signals and SOC, while an adaptive Kalman filter (AKF) is integrated to dynamically refine the network output through a noise-adaptive mechanism. Through systematic experiments spanning multiple ambient temperatures, standardized driving cycles, and various cell chemistries, the proposed GRU-AKF model demonstrates exceptional robustness and generalizability. Furthermore, a battery management system (BMS) embedded with the GRU-AKF algorithm is developed, and its real-time data acquisition and SOC estimation accuracy are experimentally validated against the technical requirements of GB/T 38661-2020. The findings of this study support the feasibility of applying advanced neural network-based SOC estimators to emerging EV battery technologies.
1. Introduction and Research Context
The rapid growth of the electric vehicle (EV) market has placed unprecedented demands on energy storage systems. In 2024 alone, sales of new energy vehicles in China reached 12.866 million units, a year-on-year increase of 35.5% [1]. This surge underscores the pivotal role of EV batteries in determining vehicle range, safety, and overall performance. While lithium-ion batteries have historically dominated the EV landscape, concerns regarding lithium resource availability, low-temperature performance degradation, and thermal runaway risks have motivated the search for alternative chemistries. Among these, sodium-ion batteries have emerged as a particularly promising candidate due to the abundance of sodium, superior low-temperature behavior, enhanced safety, and lower material costs [2].
A critical parameter for the safe and efficient operation of any EV battery is its state of charge (SOC), defined as the ratio of remaining capacity to rated capacity, expressed as:
$$SOC = \frac{Q_{remaining}}{Q_{rated}}$$
Accurate SOC prediction is essential for preventing over-charge and over-discharge, extending cell lifespan, and providing reliable driving range estimates. However, the electrochemical characteristics of sodium-ion batteries differ significantly from those of lithium-ion counterparts. The flatter open-circuit voltage (OCV) curve, stronger polarization effects, and unique rate-dependent behavior of sodium-ion cells render existing lithium-ion-based estimation techniques less effective. Therefore, developing a high-precision, adaptive SOC prediction method specifically tailored for sodium-ion EV batteries is of considerable engineering importance.
2. Literature Review
2.1 Direct Measurement and Model-Based Techniques
Conventional SOC estimation methods can generally be categorized into direct measurement techniques, model-based approaches, and data-driven strategies. Direct methods, such as open-circuit voltage (OCV) lookup and ampere-hour integration (AHI), are straightforward but suffer from notable limitations. The OCV method requires prolonged rest periods, making it unsuitable for real-time EV applications. Furthermore, the flat OCV-SOC relationship in sodium-ion batteries amplifies voltage measurement uncertainties. Meanwhile, AHI, defined as:
$$SOC(t) = SOC(0) – \frac{1}{Q_{rated}} \int_0^t I(\tau) \, d\tau$$
is prone to cumulative current sensor errors and cannot account for temperature-dependent capacity variations or self-discharge effects. Model-based methods, including electrochemical models and equivalent circuit models (ECMs), are often paired with Kalman filtering approaches. Techniques such as the extended Kalman filter (EKF) and unscented Kalman filter (UKF) provide recursive state estimation with certain nonlinear handling capability. However, these approaches rely heavily on precise model parameters and prior knowledge of noise statistics. Sodium-ion cells exhibit more pronounced polarization and complex aging mechanisms, making it difficult for fixed-model approaches to maintain accuracy over the EV battery’s lifetime [3].
2.2 Data-Driven Approaches and Their Limitations
Data-driven methods, particularly those based on neural networks, have gained significant traction for SOC prediction of EV batteries. Recurrent neural networks (RNNs) are well-suited for time-series modeling since SOC is inherently a function of past charging and discharging events. The gated recurrent unit (GRU), a streamlined variant of the long short-term memory (LSTM) network, uses reset and update gates to control information flow while mitigating the vanishing gradient problem. Despite its superior ability to map voltage, current, and temperature sequences to SOC, the GRU network output is not constrained by any physical laws. In scenarios featuring rapid current fluctuations or extreme ambient conditions, the network’s fixed hyperparameters—optimized for a specific training dataset—often fail to generalize, thereby degrading prediction accuracy [4].
To address these shortcomings, this study introduces an adaptive Kalman filter to correct the raw GRU predictions. The resulting GRU-AKF hybrid model leverages the synergies between deep learning and optimal state estimation. By fusing the neural network output (treated as a noisy observation) with the ampere-hour integrated SOC forecast, the AKF dynamically adjusts the measurement noise statistics to mitigate error accumulation and improve robustness against varying operating environments.
3. Experimental Platform and Data Collection
3.1 Data Acquisition System
Since no public sodium-ion battery dataset exists, I constructed a dedicated data collection platform. The core equipment included a Neware CT-4008Tn-5V12A battery tester (current accuracy: ±0.1%, voltage accuracy: ±0.1%), an LHS-80HC-II temperature chamber (controllable range: -10 °C to 70 °C), and a PC-based supervisory control system. The experimental configuration is illustrated in Table 1.

Table 1 Configuration of the sodium-ion battery data collection platform.
| Component | Model/Type | Specification |
|---|---|---|
| Battery Tester | Neware CT-4008Tn | 5 V / 12 A, ±0.1% accuracy |
| Temperature Chamber | LHS-80HC-II | -10 °C to 70 °C, 0.1 °C resolution |
| Host Software | BTS 8.0 | 1 Hz logging capability |
| Tested Cell | 18650 sodium-ion | 1.3 Ah rated capacity, 3.1 V nominal |
3.2 Influence of Temperature
To quantify the effect of temperature on SOC, I performed constant-current (1.3 A) discharge experiments at -10 °C, 0 °C, 20 °C, and 40 °C. The cell was fully charged using a standard CC-CV protocol before each test and allowed to rest for two hours to achieve thermal equilibrium. The discharge cut-off voltage was set to 1.5 V. The experimental results demonstrated that as temperature increases, the deliverable capacity expands. At lower temperatures, the voltage drops more steeply, reflecting increased internal resistance and sluggish sodium-ion diffusion. This behavior emphasizes that temperature must be an explicit input to any SOC prediction framework for EV batteries.
3.3 Influence of Discharge Current
I also examined the impact of discharge current on cell utilization. Experiments were conducted at 20 °C using discharge currents of 0.65 A (0.5C), 1.3 A (1C), and 2.6 A (2C). The results revealed that higher discharge current leads to lower accessible capacity due to increased polarization and internal ohmic losses. Furthermore, I evaluated the direct current internal resistance (DCIR) at various SOC points using a precision ohmmeter. It was observed that resistances fluctuated within a narrow band (maximum variation: 0.528 mΩ), implying that internal resistance is not a dominant factor for SOC estimation in this study. Thus, voltage, current, and temperature were selected as model inputs.
3.4 Dynamic Driving Cycle Tests
I employed several standardized dynamic profiles to simulate real-world EV operations, including Dynamic Stress Test (DST), Federal Urban Driving Schedule (FUDS), Supplemental Federal Test Procedure (US06), and Beijing Dynamic Stress Test (BJDST). These schedules comprise sequences of charge/discharge pulses representing acceleration, cruising, and regenerative braking.
An important preprocessing step concerns the scaling of these schedules to the cell’s rated capabilities. The 100% power reference current was set to 2.6 A (2C). Through numerical integration of the current profiles, the capacity depleted per single iteration was calculated. For example, one complete DST iteration depletes approximately 20.94 mAh; therefore, 40 repetitions were necessary to deplete the cell from 80% SOC to near-empty under this regime. Figure 5 shows the current loading, with one complete DST cycle in the upper portion and a full simulated driving profile in the lower portion.
In all cycle tests, the initial SOC was set to 80% before loading the dynamic profile, and a final constant-current discharge was appended to ensure complete depletion. All reported values were the average of three repetitions, and ambient temperature was strictly controlled.
Table 2 Summary of dynamic driving cycle characteristics where each sub-cycle consumes a specific amount of charge.
| Cycle | Charge Consumed per Sub-Cycle (mAh) | Repetitions Used | Maximum Discharge Current (A) |
|---|---|---|---|
| DST | 20.94 | 40 | 2.6 |
| FUDS | 125.77 | 7 | 2.6 |
| US06 | 58.70 | 16 | 2.6 |
| BJDST | 86.25 | 11 | 2.6 |
In subsequent model development, DST dataset was utilized for offline training, while FUDS data were reserved for cross-validation and hyperparameter selection. The more aggressive profiles (US06 and BJDST) were used exclusively as testing sets to evaluate the model’s generalizability. This dataset split ensures that the model performance is assessed under conditions not represented in the training data.
4. GRU Model and SOC Prediction
4.1 GRU Architecture
The GRU cell introduces two gating mechanisms to regulate the flow of temporal information. The reset gate \(r_t\) determines how much past information should be forgotten, while the update gate \(z_t\) decides how much of the candidate activation should be incorporated into the final hidden state. The mathematical formulations are as follows:
$$r_t = \sigma(W_r \cdot [h_{t-1}, x_t])$$
$$z_t = \sigma(W_z \cdot [h_{t-1}, x_t])$$
$$\tilde{h}_t = \tanh(W \cdot [r_t \ast h_{t-1}, x_t])$$
$$h_t = (1 – z_t) \ast h_{t-1} + z_t \ast \tilde{h}_t$$
Owing to this gating structure, the GRU model is capable of selectively retaining important information over long sequence horizons while mitigating gradient-related issues. In this study, the input vector comprises voltage, current, and temperature, each sampled at 1 Hz, and the output is the SOC estimate.
4.2 Data Preprocessing and Evaluation Metrics
Given the heterogeneous ranges among voltage, current, and temperature values, I applied min-max normalization to rescale every feature to the [0, 1] interval. The transformation is expressed as:
$$x_{scaled} = \frac{x’ – x’_{min}}{x’_{max} – x’_{min}}$$
where \(x’_{max}\) and \(x’_{min}\) denote the maximum and minimum values of each feature across the dataset. For training, I employed the mean squared error (MSE) as the loss criterion, defined as:
$$MSE = \frac{1}{K} \sum_{t=1}^{K} (SOC_t – \widehat{SOC}_t)^2$$
where \(K\) is the total number of samples in a batch, and \(SOC_t\) and \(\widehat{SOC}_t\) correspond to the actual and predicted SOC values at time step \(t\). The weight parameters were updated using the Adam optimizer, which integrates momentum with adaptive learning rate adjustment.
4.3 Hyperparameter Optimization
Model performance is strongly influenced by a set of network hyperparameters. In this work, I used a one-at-a-time tuning methodology to systematically optimize the batch size, hidden state dimension, learning rate, and epoch count. All tuning experiments were executed on the DST training set and validated against FUDS data both acquired at 20 °C. The default architecture used a hidden state size of 100, an initial learning rate of 0.01, and a maximum epoch count of 300. Tables 5 through 7 summarize the hyperparameter examinations.
Table 3 Effect of batch size on validation RMSE and MAE at 20 °C.
| Batch Size | 16 | 32 | 64 | 128 | 256 |
|---|---|---|---|---|---|
| RMSE (%) | 0.97 | 0.81 | 0.77 | 0.85 | 1.03 |
| MAE (%) | 0.75 | 0.62 | 0.57 | 0.64 | 0.81 |
Table 4 Effect of hidden state dimension on validation RMSE and MAE at 20 °C.
| Neurons | 50 | 75 | 100 | 125 | 150 |
|---|---|---|---|---|---|
| RMSE (%) | 1.00 | 0.89 | 0.77 | 0.79 | 0.87 |
| MAE (%) | 0.71 | 0.62 | 0.58 | 0.59 | 0.63 |
Table 5 Effect of initial learning rate on validation RMSE and MAE at 20 °C.
| Learning Rate | 0.006 | 0.008 | 0.01 | 0.012 | 0.014 |
|---|---|---|---|---|---|
| RMSE (%) | 0.90 | 0.83 | 0.77 | 0.79 | 0.87 |
| MAE (%) | 0.65 | 0.62 | 0.58 | 0.59 | 0.71 |
The tuning process reveals that a batch size of 64, a hidden state dimension of 100, and an initial learning rate of 0.01 result in optimal validation performance. Beyond 300 epochs, the validation loss plateaued, indicating that further iterations would not produce meaningful improvements. Therefore, these settings were retained as the final GRU architecture.
4.4 Results of the Standalone GRU Model
I first evaluated the SOC prediction performance of the standalone GRU model across different operating conditions at 20 °C. While the GRU model was quite effective under FUDS conditions, exhibiting an RMSE of 0.77% and MAE of 0.58%, its performance degraded when faced with more abrupt current changes. Under the US06 and BJDST profiles, the RMSE values expanded to 3.33% and 3.95%, respectively; the MAE correspondingly increased. This degradation is attributable to the network’s inability to track abrupt current transitions using fixed parameters optimized for the DST training data.
Table 6 Prediction results of the GRU model on three driving schedules at 20 °C.
| Operating Condition | RMSE (%) | MAE (%) |
|---|---|---|
| FUDS | 0.77 | 0.58 |
| US06 | 3.33 | 2.85 |
| BJDST | 3.95 | 3.51 |
To assess thermal sensitivity, I applied the same model to FUDS data at -10 °C, 0 °C, 20 °C, and 40 °C. The RMSE values were 4.96%, 1.64%, 0.77%, and 2.17%, respectively. At -10 °C, the low-temperature environment slows the sodium-ion migration kinetics and alters the voltage curve shape, which hampers precise learning and results in clearly enlarged prediction biases. At elevated temperature, the accelerated side reactions and impedance fluctuations also introduced measurable errors.
Table 7 Prediction results of the GRU model at different temperatures under FUDS conditions.
| Temperature (°C) | -10 | 0 | 20 | 40 |
|---|---|---|---|---|
| RMSE (%) | 4.96 | 1.64 | 0.77 | 2.17 |
| MAE (%) | 4.18 | 1.33 | 0.58 | 1.96 |
These observations point to the inability of a fixed GRU structure to generalize across broad temperature ranges and rapidly varying driving conditions. Consequently, a mechanism capable of self-correcting the raw neural network output is required, leading to the development of the GRU-AKF model.
5. The Proposed GRU-AKF Hybrid Model
5.1 AKF Framework
To alleviate the generalization limitations of the GRU model, I integrate an adaptive Kalman filter (AKF) as a post-processing engine. The conceptual framework combines the GRU as the observation generator with the ampere-hour integral as the system model predictor. The GRU prediction is considered as a noisy measurement of the actual SOC value. Meanwhile, an ampere-hour counter provides a prior estimate via the state transition equation. These two independent sources are fused together using a recursive Kalman algorithm with adaptive noise covariance. A schematic representation of the GRU-AKF architecture demonstrates that the current, voltage, and temperature are fed into the trained GRU network; the network output is subsequently blended with the AHI estimate using the AKF recursion to yield the final SOC value.
The discrete state-space model for SOC dynamics is formulated as:
$$SOC_k = A \cdot SOC_{k-1} + B \cdot I_{k-1} + w_{k-1}$$
$$G_k = H \cdot SOC_k + v_k$$
where \(A\) is the state transition matrix (set to unity), \(H\) is the measurement matrix, and \(B = \Delta t / C_{rated}\), where \(\Delta t\) represents the sampling interval, and \(C_{rated}\) is the rated capacity influenced by temperature. The terms \(w_k \sim (0, Q)\) and \(v_k \sim (0, R_k)\) denote the process and measurement Gaussian-white noises, respectively, which are assumed to be mutually independent.
5.2 Recursive Estimation and Adaptive Noise Updating
The AKF algorithm is initialized with the estimates \(\widehat{SOC}_0 = 1\) and \(P_0\). The recursive prediction and update are given by the following equations:
$$\widehat{SOC}_{k|k-1} = A \cdot \widehat{SOC}_{k-1} + B \cdot I_{k-1}$$
$$P_{k|k-1} = A \cdot P_{k-1} \cdot A^T + Q$$
In the update phase, the measurement residual is computed as:
$$e_k = G(SOC)_k – H \cdot \widehat{SOC}_{k|k-1}$$
To adapt to changing measurement conditions, a forgetting factor \(b = 0.95\) is introduced. This factor is used to update the measurement noise covariance \(R_k\) as follows:
$$b_k = \frac{1 – b}{1 – b^{k+1}}$$
$$R_k = (1 – d_k) \cdot R_{k-1} + d_k \cdot (e_k \cdot e_k^T – H \cdot P_{k|k-1} \cdot H^T)$$
Then the Kalman gain is computed from the adjusted covariance:
$$K_k = P_{k|k-1} \cdot H^T \cdot \left( H \cdot P_{k|k-1} \cdot H^T + R_k \right)^{-1}$$
Finally, the posterior SOC estimate and its covariance are updated through:
$$\widehat{SOC}_k = \widehat{SOC}_{k|k-1} + K_k \cdot e_k$$
$$P_k = (I – K_k \cdot H) \cdot P_{k|k-1}$$
5.3 Determination of Noise Parameters
I used a grid search approach to identify suitable values for the process noise covariance \(Q\) while holding \(R_0\) equal to 1. The evaluation was performed on FUDS 20 °C data, yielding results shown in Table 8.
Table 8 SOC estimation errors for different magnitudes of process noise \(Q\).
| Q | 10⁻² | 10⁻³ | 10⁻⁴ | 10⁻⁵ | 10⁻⁶ |
|---|---|---|---|---|---|
| RMSE (%) | 0.61 | 0.58 | 0.45 | 0.25 | 0.35 |
| MAE (%) | 0.48 | 0.46 | 0.38 | 0.22 | 0.30 |
The optimal accuracy occurs at \(Q = 10^{-5}\). Regarding the initial measurement noise \(R_0\), the sensitivity analysis in Table 9 demonstrates that SOC error is insensitive to \(R_0\) across several orders of magnitude. This insensitivity arises because the covariance is dynamically corrected as the filtering process proceeds. Hence, \(R_0 = 0.1\) was chosen to simplify the configuration.
Table 9 SOC estimation errors for different initial measurement noise \(R_0\).
| R₀ | 10 | 100 | 0.1 | 0.01 | 0.001 |
|---|---|---|---|---|---|
| RMSE (%) | 0.24 | 0.25 | 0.24 | 0.24 | 0.26 |
| MAE (%) | 0.22 | 0.22 | 0.22 | 0.22 | 0.23 |
5.4 Performance Under Various Driving Conditions
After the AKF parameters were fixed, I evaluated the proposed hybrid model using FUDS, US06, and BJDST profiles at 20 °C. The incorporation of the AKF noticeably smooths the SOC trajectory and suppresses high-frequency fluctuations, producing improved follow-up of the reference SOC. Quantitatively, the proposed GRU-AKF reduces the worst-case RMSE across these cycles to 0.3% and holds the MAE to no more than 0.29%.
Table 10 SOC prediction errors of GRU-AKF under multiple driving schedules at 20 °C.
| Operating Condition | RMSE (%) | MAE (%) |
|---|---|---|
| FUDS | 0.20 | 0.16 |
| US06 | 0.30 | 0.29 |
| BJDST | 0.30 | 0.29 |
5.5 Performance Across Temperature Range
I also carried out FUDS experiments at -10 °C, 0 °C, 20 °C, and 40 °C to examine thermal robustness. As observed in the results, the AKF’s capacity to adapt the measurement noise covariance proves advantageous in both cold and hot environments. The RMSE and MAE values across all temperatures stayed below 0.32%, substantially outperforming the original network. The low-temperature estimation error was thereby reduced from 4.96% to 0.32%. Similarly, the high-temperature case saw a reduction from 2.17% to 0.32%.
Table 11 SOC prediction errors of GRU-AKF at different temperatures under FUDS conditions.
| Temperature (°C) | -10 | 0 | 20 | 40 |
|---|---|---|---|---|
| RMSE (%) | 0.32 | 0.30 | 0.20 | 0.32 |
| MAE (%) | 0.32 | 0.28 | 0.16 | 0.31 |
6. Generalization Evaluation of the Proposed Model
6.1 Comparative Evaluation GRU versus GRU-AKF
To assess the robustness of the GRU-AKF approach, I conducted an extensive comparison using temperature–cycle combinations. This included FUDS, US06, and BJDST profiles, each tested at four temperatures. The aggregated results reveal that the standalone GRU network suffers from high variance in prediction error. When only a single set of hyperparameters was relied upon, the model could not consistently generalize across datasets. In contrast, the GRU-AKF consistently yielded RMSE metrics below 0.32%, confirming that the filtering stage enables stable adaptation to changing operational circumstances.
Table 12 Comprehensive evaluation of GRU and GRU-AKF over varying temperatures and cycles.
| Condition | Temperature (°C) | GRU | GRU-AKF | ||
|---|---|---|---|---|---|
| RMSE (%) | MAE (%) | RMSE (%) | MAE (%) | ||
| FUDS | -10 | 4.96 | 4.18 | 0.32 | 0.32 |
| 0 | 1.64 | 1.33 | 0.30 | 0.28 | |
| 20 | 0.77 | 0.58 | 0.20 | 0.16 | |
| 40 | 2.17 | 1.96 | 0.32 | 0.31 | |
| US06 | -10 | 5.00 | 3.72 | 0.32 | 0.30 |
| 0 | 1.70 | 1.43 | 0.30 | 0.29 | |
| 20 | 3.33 | 2.85 | 0.30 | 0.29 | |
| 40 | 3.36 | 2.69 | 0.29 | 0.28 | |
| BJDST | -10 | 4.57 | 3.31 | 0.32 | 0.32 |
| 0 | 3.67 | 3.28 | 0.32 | 0.31 | |
| 20 | 3.95 | 3.51 | 0.30 | 0.29 | |
| 40 | 2.50 | 2.08 | 0.29 | 0.29 | |
6.2 Validation across Battery Chemistries
Beyond sodium-ion cells, I sought to establish whether the proposed GRU-AKF model is generalizable to other EV battery chemistries. To this end, I acquired two public datasets from the CALCE battery repository. The first comprises lithium iron phosphate (LFP) cells cycled at 20 °C, and the second includes ternary lithium nickel cobalt aluminum (NCA) cells at 25 °C. The DST profiles served to retrain the model from scratch, while the FUDS profiles were used for evaluation.
Table 13 SOC prediction errors of GRU-AKF across different cell chemistries.
| Battery Type | Temperature (°C) | RMSE (%) | MAE (%) |
|---|---|---|---|
| Lithium Iron Phosphate | 20 | 0.30 | 0.27 |
| Nickel Cobalt Aluminum | 25 | 0.28 | 0.22 |
| Sodium-Ion | 20 | 0.20 | 0.16 |
These findings indicate that once retrained on cell-specific data, the GRU-AKF architecture maintains high SOC precision regardless of the underlying materials. The synergy between the data-driven network and filtering stage compensates for the lack of knowledge about internal electrochemistry.
6.3 Comparison with Prior Studies
To contextualize these findings, I benchmarked the proposed model against previously reported approaches that used the same LFP dataset. Notably, a hybrid LSTM-UKF method produced RMSE and MAE values of 1.11% and 0.97%, while the TGMA-RAKF approach achieved 0.64% RMSE and 0.54% MAE on the same dataset. The proposed GRU-AKF succeeded in further reducing these metrics to 0.30% and 0.27%, respectively.
Table 14 Performance comparison among various SOC estimators using the same LFP FUDS dataset.
| Model | RMSE (%) | MAE (%) |
|---|---|---|
| LSTM+UKF | 1.11 | 0.97 |
| TGMA-RAKF | 0.64 | 0.54 |
| GRU-AKF (This work) | 0.30 | 0.27 |
This competitive evaluation confirms the proposed approach demonstrates superior accuracy and suggests that its adaptive noise modeling strategy is particularly effective in decreasing the over-reliance on large representative training sets for EV battery SOC estimation.
7. Development of a BMS with Embedded GRU-AKF
7.1 System Architecture and Hardware Design
To demonstrate the practical relevance of the proposed algorithm, I designed a laboratory-scale battery management system (BMS), embedding the GRU-AKF model inside the microcontroller unit. The complete BMS architecture includes a main control unit based on an STM32F401RCT6 microcontroller, a data acquisition module, a power supply unit, and a communication interface. The front-end acquisition uses a BQ76930 analog front-end chip from Texas Instruments. This chip performs precise monitoring, converting analog cell voltages, pack current, and temperatures into digital signals, and then transmits the data via the I²C protocol to the microcontroller.
The microcontroller performs the SOC prediction by taking the preprocessed voltage, current, and temperature measurements and executing the GRU-AKF inference routine. The results are communicated to a PC-based human-machine interface through the Controller Area Network (CAN) bus. This design choice facilitates future integration into automotive-grade network architectures.
7.2 Software Design
Software implementation includes main program loops and several interrupt-driven routines. The primary acquisition routine configures the BQ76930 registers for periodic measurement of voltages, currents, and temperatures. To ensure accurate cell voltage digitization, the integrated 14-bit analog-to-digital converter is used. The temperature acquisition relies on negative temperature coefficient (NTC) thermistors connected to the analog front-end, making use of its integrated excitation current source and the internal analog-to-digital converter.
For the SOC inference, the trained GRU layer weights and biases were converted into C arrays and embedded directly in the MCU firmware. The AKF recursion is also implemented, being relatively lightweight to execute on a microcontroller. This seamless integration enables real-time reasoning without relying on an external processor.
7.3 Voltage Acquisition Validation
To quantify the voltage measurement accuracy, I compared the BMS readings against a precision digital multimeter (VC86E) under both resting and discharging conditions. Ten cells were evaluated in the static condition. The voltage error did not exceed 0.23%, with an average measurement accuracy of 99.86%. For the dynamic test, a single cell was discharged at 1.3 A while the voltage was recorded every 360 seconds. The average accuracy reached 99.71%, with a maximum error of 0.46%. Therefore, both tests satisfy the ±0.5% voltage accuracy requirement of the GB/T 38661-2020 standard.
Table 15 BMS voltage measurement error during 1.3 A constant-current discharge.
| Time (s) | BMS (V) | DMM (V) | Error (%) | Time (s) | BMS (V) | DMM (V) | Error (%) |
|---|---|---|---|---|---|---|---|
| 360 | 3.650 | 3.660 | 0.27 | 2160 | 2.803 | 2.811 | 0.29 |
| 720 | 3.506 | 3.514 | 0.23 | 2520 | 2.701 | 2.708 | 0.26 |
| 1080 | 3.354 | 3.362 | 0.24 | 2880 | 2.580 | 2.592 | 0.46 |
| 1440 | 3.169 | 3.178 | 0.28 | 3240 | 2.283 | 2.289 | 0.26 |
| 1800 | 2.985 | 2.995 | 0.33 | 3600 | 2.133 | 2.138 | 0.23 |
7.4 Current Acquisition Validation
I assessed the current measurement precision under the DST profile. The BMS readings were logged and compared to multimeter measurements at several specific points. As evidenced by the error rates in Table 16, the current sensing error remained within ±0.5%, and the average measurement accuracy was 99.73%.
Table 16 BMS current measurement accuracy assessment during DST cycling.
| Checkpoint | BMS (A) | DMM (A) | Error (%) |
|---|---|---|---|
| A | -0.650 | -0.651 | 0.15 |
| B | 0.326 | 0.327 | 0.31 |
| C | -0.650 | -0.651 | 0.15 |
| D | 0.325 | 0.326 | 0.31 |
| E | -2.590 | -2.601 | 0.42 |
| F | 0.650 | 0.651 | 0.15 |
| G | 1.296 | 1.301 | 0.38 |
7.5 Temperature Acquisition Validation
I calibrated the temperature sensing channels by placing both sensors in a temperature chamber with distinct setpoints from -10 °C to 40 °C. A digital thermometer with 0.1 °C resolution was used as a reference. The maximum absolute deviation of the BMS sensor readings was 0.6 °C, thereby satisfying the ±1 °C error threshold stipulated in the technical standard.
Table 17 Temperature acquisition accuracy with respect to a reference digital thermometer.
| Reference (°C) | Sensor 1 (°C) | Error (°C) | Sensor 2 (°C) | Error (°C) |
|---|---|---|---|---|
| -10.1 | -10.6 | 0.5 | -10.5 | 0.4 |
| 0.2 | -0.1 | 0.3 | 0.1 | 0.1 |
| 20.1 | 19.5 | 0.6 | 19.6 | 0.5 |
| 39.9 | 39.5 | 0.4 | 39.3 | 0.6 |
7.6 Real-Time SOC Prediction Validation
To validate real-time SOC estimation, I conducted a dedicated experiment in which a fully charged sodium-ion cell was sequentially discharged using the battery tester in 10% SOC decrements. At each stage, the cell was removed from the tester and connected to the designed BMS to record its SOC prediction. The SOC reference values, determined by coulomb counting, are listed in Table 18. The results show a maximum single-point error of 2.17%, while the average cumulative error across the entire discharge process is 0.878%. This level of precision is significantly better than the limit of 5% cumulative error prescribed by the relevant EV battery management system technical criteria.
Table 18 Real-time SOC prediction accuracy of the BMS embedded with GRU-AKF.
| Cycle No. | SOC Prediction | Coulomb Counting (Reference) | Error (%) |
|---|---|---|---|
| 1 | 0.897 | 0.9 | 0.33 |
| 2 | 0.797 | 0.8 | 0.38 |
| 3 | 0.697 | 0.7 | 0.43 |
| 4 | 0.595 | 0.6 | 0.67 |
| 5 | 0.494 | 0.5 | 1.20 |
| 6 | 0.396 | 0.4 | 1.00 |
| 7 | 0.303 | 0.3 | -0.10 |
| 8 | 0.201 | 0.2 | -0.50 |
| 9 | 0.102 | 0.1 | -2.00 |
| 10 | 0.047 | 0.046 | -2.17 |
8. Conclusion
This study performed a comprehensive investigation of SOC prediction methods designed specifically for sodium-ion EV batteries . Given the inability of conventional lithium-ion-based methods to accommodate the electrochemical nuances of sodium-ion chemistry, an integrated GRU-AKF framework was introduced. The GRU network serves as a powerful feature extractor, mapping measured signals to SOC, while the adaptive Kalman filter corrects the network output by minimizing the impact of measurement noise and model uncertainties.
Extensive validation across four ambient temperatures and three driving schedules showed that the standalone GRU network exhibits limited generalization capabilities. The proposed GRU-AKF approach consistently provides robust estimates across the full test matrix, reducing the worst-case RMSE and MAE values to below 0.32%. Moreover, the enhanced model performs favorably when applied to other chemistries such as lithium iron phosphate and ternary lithium cells. The empirical results also indicate that the introduced algorithm outperforms similar hybrid structures reported in recent literature.
Finally, I realized a full BMS prototype with the GRU-AKF algorithm on an embedded platform. The hardware and software design successfully achieved high-resolution data acquisition, and both voltages and currents were measured with an average accuracy exceeding 99.7%. The BMS achieved a cumulative SOC error of only 0.878%, which is well within the stipulated guidelines. This study therefore provides an excellent engineering foundation for implementing precise SOC prediction technology in next-generation EV battery systems, especially those adopting emerging chemistries like sodium-ion cells.
Acknowledgments
The author would like to thank the supporting laboratory staff and all research collaborators whose contributions made this work possible.
References
[1] Zheng, X. (2025). 2024 Annual Sales of Domestic New Energy Vehicles Reached 12.866 Million Units. Automotive Horizons, (02), 106-107.
[2] Che, C., Wu, F., Li, Y., et al. (2024). Challenges and Breakthroughs in Enhancing Temperature Tolerance of Sodium-Ion Batteries. Advanced Materials, 36(28), 2402291.
[3] Wang, S., Gao, F., Tian, H., et al. (2024). Accurate state-of-charge estimation for sodium-ion batteries based on a low-complexity model with hierarchical learning. Journal of Energy Storage, 95, 112571.
[4] Yang, F., Zhang, S., Li, W., et al. (2020). State-of-charge estimation of lithium-ion batteries using LSTM and UKF. Energy, 201, 117664.
[5] Chen, J., Feng, X., Jiang, L., et al. (2021). State of charge estimation of lithium-ion battery using denoising autoencoder and gated recurrent unit recurrent neural network. Energy, 227, 120451.
[6] Qi, W., Qin, W., Yun, Z. (2024). Closed-loop state of charge estimation of Li-ion batteries based on deep learning and robust adaptive Kalman filter. Energy, 307, 132805.
