Advanced State-of-Charge Estimation for LiFePO4 Batteries Under Variable Ambient Temperature Conditions

The accurate and reliable operation of energy storage systems, particularly those based on lithium-ion batteries, is paramount for the integration of renewable energy sources and the advancement of electric mobility. Among various chemistries, the LiFePO4 battery is highly regarded for its intrinsic safety, long cycle life, and environmental friendliness. However, a critical challenge in battery management is the precise estimation of the State-of-Charge (SOC), which is not directly measurable and is influenced by numerous factors including operating current, aging, and notably, ambient temperature. Temperature variations significantly alter the electrochemical kinetics within a LiFePO4 battery, affecting its available capacity, internal resistance, and the relationship between its open-circuit voltage (OCV) and SOC. This inherent temperature sensitivity complicates SOC estimation, especially under real-world conditions where temperature is seldom constant. This paper presents a comprehensive methodology for SOC estimation of LiFePO4 batteries that explicitly accounts for the effects of variable ambient temperature, aiming to maintain high accuracy in dynamic environments where both load current and temperature change simultaneously.

The performance parameters of a LiFePO4 battery are strongly coupled with temperature. To develop a temperature-aware model, it is essential to first characterize this relationship through experimental analysis. Standard tests were conducted on a commercial 20Ah LiFePO4 battery across a range of temperatures from -15°C to 45°C.

1. Temperature-Dependent Characteristics of LiFePO4 Batteries

The foundational step involves quantifying how key battery properties vary with temperature.

1.1 Capacity Fade at Low Temperatures

The usable capacity of a LiFePO4 battery is a primary factor in SOC calculation via coulomb counting. Tests reveal a severe reduction in both charge and discharge capacity as temperature decreases. The discharge capacity, for instance, drops to approximately 60% of its room-temperature value at -15°C. This nonlinear relationship must be incorporated into the estimation algorithm to correct the nominal capacity value used in calculations. The available capacities at different temperatures are summarized in Table 1.

Temperature (°C) Chargeable Capacity (Ah) Dischargeable Capacity (Ah)
45 21.00 20.92
25 20.97 20.53
5 19.64 19.21
-15 12.57 11.94

Table 1: Measured charge and discharge capacities of the LiFePO4 battery at different temperatures.

1.2 Open-Circuit Voltage (OCV) Relationship

The OCV-SOC curve is a critical static map for model-based estimators. For LiFePO4 batteries, this curve features extended flat regions, making it highly nonlinear and sensitive to measurement noise. Furthermore, the OCV at a given SOC shifts with temperature. Two experimental approaches are used: one measures OCV after long relaxation at constant but different temperatures, and another measures OCV at different temperatures but for a SOC set at a reference temperature (25°C). The latter method provides a more consistent map for SOC estimation under variable temperature, as it decouples the SOC uncertainty from the temperature effect on the voltage relaxation process. The results show distinct OCV-SOC surfaces for different temperatures, necessitating a 2D lookup table or a polynomial function of both SOC and temperature: $$U_{oc}(k) = f(SOC(k), T(k))$$.

1.3 Internal Resistance Variation

Internal resistance is a key dynamic parameter affecting voltage response. Hybrid Pulse Power Characterization (HPPC) tests are performed to extract the ohmic resistance ($R_0$) and polarization resistances. The results indicate a substantial increase in both charge and discharge ohmic resistance at low temperatures. For example, the resistance at -15°C can be several times higher than at 45°C. This variation must be captured in the battery model. The resistance also varies with SOC at a fixed temperature. Therefore, the model parameters $R_0$, $R_1$, and $R_2$ are functions of both SOC and temperature $T$. The general trend is summarized in Table 2.

Parameter Trend with Decreasing Temperature Approximate Range (from 45°C to -15°C)
Ohmic Resistance ($R_0$) Sharply Increases 2x to 5x
Polarization Resistance ($R_1$, $R_2$) Increases 1.5x to 3x
Capacity ($C_1$, $C_2$) Decreases Varies

Table 2: Qualitative trends of equivalent circuit model parameters with temperature for a LiFePO4 battery.

A schematic or image representing a LiFePO4 battery cell, highlighting its internal structure or typical form factor.

2. Development of a Temperature-Adaptive Battery Model

An accurate yet computationally efficient model is the cornerstone of advanced SOC estimation algorithms. The second-order RC equivalent circuit model is selected for its good balance between complexity and fidelity in representing the dynamic voltage response of a LiFePO4 battery.

2.1 Model Structure

The model consists of an ideal voltage source $U_{oc}(SOC, T)$, an ohmic resistor $R_0(SOC, T)$, and two parallel RC networks ($R_1$-$C_1$, $R_2$-$C_2$) representing short-term and long-term polarization dynamics, respectively. The parameters of these RC networks are also functions of SOC and temperature: $R_1(SOC,T)$, $C_1(SOC,T)$, $R_2(SOC,T)$, $C_2(SOC,T)$. The state-space equations in continuous time are:

$$
\begin{aligned}
\dot{U_1}(t) &= -\frac{1}{R_1(SOC,T)C_1(SOC,T)} U_1(t) + \frac{1}{C_1(SOC,T)} I(t) \\
\dot{U_2}(t) &= -\frac{1}{R_2(SOC,T)C_2(SOC,T)} U_2(t) + \frac{1}{C_2(SOC,T)} I(t) \\
U(t) &= U_{oc}(SOC,T) – U_1(t) – U_2(t) – I(t)R_0(SOC,T)
\end{aligned}
$$

where $I(t)$ is the load current (positive for discharge), and $U(t)$ is the terminal voltage.

2.2 Discrete-Time Model for Implementation

For digital implementation in a battery management system (BMS), the model is discretized with a sampling period $\Delta t$. The discrete-time equations are:

$$
\begin{aligned}
U_1(k) &= \exp\left(-\frac{\Delta t}{\tau_1(k)}\right) U_1(k-1) + R_1(k)\left[1-\exp\left(-\frac{\Delta t}{\tau_1(k)}\right)\right] I(k-1) \\
U_2(k) &= \exp\left(-\frac{\Delta t}{\tau_2(k)}\right) U_2(k-1) + R_2(k)\left[1-\exp\left(-\frac{\Delta t}{\tau_2(k)}\right)\right] I(k-1) \\
SOC(k) &= SOC(k-1) – \frac{\eta \Delta t}{C_n(T)} I(k-1) \\
U(k) &= U_{oc}(SOC(k), T(k)) – U_1(k) – U_2(k) – I(k)R_0(SOC(k), T(k))
\end{aligned}
$$

Here, $\tau_1 = R_1C_1$ and $\tau_2 = R_2C_2$ are the time constants, $\eta$ is the coulombic efficiency (approximately 1), and $C_n(T)$ is the temperature-dependent nominal discharge capacity obtained from Table 1. Note that all parameters $R_0, R_1, C_1, R_2, C_2$ and the map $U_{oc}$ are updated at each time step $k$ based on the current estimated $SOC(k)$ and measured (or estimated) temperature $T(k)$.

2.3 Parameter Identification via Particle Swarm Optimization (PSO)

To populate the 2D parameter maps, a global optimization algorithm is employed. For each temperature ($T$) and within small SOC segments (e.g., every 10% SOC), the model parameters $\theta = [R_0, R_1, \tau_1, R_2, \tau_2]$ are identified by minimizing the error between the model output voltage and the experimentally measured voltage from HPPC tests. The cost function for the PSO algorithm is:

$$
\min_{\theta} J(\theta) = \frac{1}{N} \sum_{j=1}^{N} \left( U_{meas}(j) – U_{model}(j, \theta) \right)^2
$$

where $N$ is the number of data points in the optimization window. This process is repeated across all temperatures and SOC segments, resulting in comprehensive lookup tables for all model parameters as functions of $(SOC, T)$.

3. SOC Estimation with an Extended Kalman Filter (EKF)

The Extended Kalman Filter is a widely adopted nonlinear state estimator. It is applied here to recursively estimate the hidden states of the system—$SOC$, $U_1$, and $U_2$—using the measured terminal voltage $U$, current $I$, and temperature $T$.

3.1 State-Space Formulation

The system state vector is defined as $\mathbf{x}_k = [SOC_k, U_{1,k}, U_{2,k}]^T$. The process noise and measurement noise are denoted by $\mathbf{w}_k$ and $v_k$, respectively. The nonlinear state transition and measurement equations derived from the discrete model are:

$$
\begin{aligned}
\mathbf{x}_k &= f(\mathbf{x}_{k-1}, I_{k-1}, T_{k-1}) + \mathbf{w}_{k-1} \\
&= \begin{bmatrix}
SOC_{k-1} – \frac{\eta \Delta t}{C_n(T_{k-1})} I_{k-1} \\
\exp\left(-\frac{\Delta t}{\tau_1(SOC_{k-1},T_{k-1})}\right) U_{1,k-1} + R_1(…)\left[1-\exp\left(-\frac{\Delta t}{\tau_1(…)}\right)\right] I_{k-1} \\
\exp\left(-\frac{\Delta t}{\tau_2(SOC_{k-1},T_{k-1})}\right) U_{2,k-1} + R_2(…)\left[1-\exp\left(-\frac{\Delta t}{\tau_2(…)}\right)\right] I_{k-1}
\end{bmatrix} + \mathbf{w}_{k-1}
\end{aligned}
$$

$$
y_k = U_k = g(\mathbf{x}_k, I_k, T_k) + v_k = U_{oc}(SOC_k, T_k) – U_{1,k} – U_{2,k} – I_k R_0(SOC_k, T_k) + v_k
$$

3.2 EKF Algorithm Steps

The EKF linearizes the nonlinear functions $f$ and $g$ around the current state estimate. The core steps for each time iteration $k$ are:

1. Initialization: Set initial state estimate $\hat{\mathbf{x}}_0^+$ and error covariance matrix $\mathbf{P}_0^+$.

2. Time Update (Prediction):
a. Predict the state ahead:
$$ \hat{\mathbf{x}}_k^- = f(\hat{\mathbf{x}}_{k-1}^+, I_{k-1}, T_{k-1}) $$
b. Calculate the linearized state transition matrix $\mathbf{A}_{k-1}$:
$$ \mathbf{A}_{k-1} = \left. \frac{\partial f}{\partial \mathbf{x}} \right|_{\hat{\mathbf{x}}_{k-1}^+, I_{k-1}, T_{k-1}} = \begin{bmatrix}
1 & 0 & 0 \\
a_{21} & \exp(-\Delta t/\tau_1) & 0 \\
a_{31} & 0 & \exp(-\Delta t/\tau_2)
\end{bmatrix} $$
where $a_{21}$ and $a_{31}$ involve partial derivatives of the RC network parameters with respect to SOC, evaluated from the pre-identified maps.
c. Predict the error covariance:
$$ \mathbf{P}_k^- = \mathbf{A}_{k-1} \mathbf{P}_{k-1}^+ \mathbf{A}_{k-1}^T + \mathbf{Q} $$
where $\mathbf{Q}$ is the process noise covariance matrix.

3. Measurement Update (Correction):
a. Calculate the linearized measurement matrix $\mathbf{C}_k$:
$$ \mathbf{C}_k = \left. \frac{\partial g}{\partial \mathbf{x}} \right|_{\hat{\mathbf{x}}_k^-, I_k, T_k} = \begin{bmatrix} \frac{\partial U_{oc}}{\partial SOC}(\hat{SOC}_k^-, T_k) & -1 & -1 \end{bmatrix} $$
b. Compute the Kalman Gain $\mathbf{L}_k$:
$$ \mathbf{L}_k = \mathbf{P}_k^- \mathbf{C}_k^T (\mathbf{C}_k \mathbf{P}_k^- \mathbf{C}_k^T + R)^{-1} $$
where $R$ is the measurement noise variance.
c. Update the state estimate with the new measurement $y_k (=U_{meas,k})$:
$$ \hat{\mathbf{x}}_k^+ = \hat{\mathbf{x}}_k^- + \mathbf{L}_k [y_k – g(\hat{\mathbf{x}}_k^-, I_k, T_k)] $$
d. Update the error covariance:
$$ \mathbf{P}_k^+ = (\mathbf{I} – \mathbf{L}_k \mathbf{C}_k) \mathbf{P}_k^- $$

The critical aspect of this implementation is that within the functions $f$ and $g$, and the matrices $\mathbf{A}$ and $\mathbf{C}$, all temperature-dependent parameters ($U_{oc}, R_0, R_1, C_1, R_2, C_2, C_n$) are dynamically retrieved from the 2D lookup tables using the current temperature measurement $T_k$ and the prior state estimate $\hat{SOC}_k^-$. This enables real-time model adaptation to changing ambient conditions.

4. Experimental Validation Under Variable Temperature Conditions

The proposed method’s robustness is validated using a dynamic driving cycle (NEDC) under a continuously changing temperature profile. The test starts at -18°C, ramps up to 45°C, and then cools down to 35°C, simulating harsh real-world conditions. The reference SOC is obtained through a temperature-corrected coulomb counting method using the measured temperature-dependent capacity.

The estimation results demonstrate the effectiveness of the temperature-adaptive model and EKF. Even with a deliberate 5% initial SOC error, the algorithm converges rapidly to the true SOC. Throughout the entire test, encompassing wide temperature and load variations, the SOC estimation error remains within a ±2% band. This performance significantly outperforms methods that use fixed model parameters or only partially account for temperature effects (e.g., only on OCV). The real-time parameter update mechanism is key to this accuracy, as it ensures the internal model always reflects the battery’s instantaneous thermal state.

5. Conclusion

This work presents a holistic framework for accurate SOC estimation in LiFePO4 batteries operating under variable ambient temperatures. By systematically characterizing the temperature effects on capacity, OCV, and internal impedance, and subsequently embedding these dependencies into a second-order RC equivalent circuit model, a high-fidelity representation of the battery is achieved. The integration of this adaptive model with an Extended Kalman Filter provides a powerful recursive estimator. The algorithm dynamically adjusts all relevant model parameters based on real-time temperature and SOC, allowing it to faithfully track the battery’s state even during concurrent changes in load and environmental temperature. Experimental validation confirms that the proposed method maintains SOC estimation errors within 2%, meeting the requirements for practical BMS applications. Future work will focus on integrating capacity fade and internal resistance growth models to extend the estimator’s robustness over the entire lifespan of the LiFePO4 battery.

Scroll to Top