The transition towards a carbon-neutral energy landscape is fundamentally reliant on advanced energy storage systems. Among these, lithium-ion battery-based energy storage has emerged as a pivotal and technically mature solution, enabling the high-penetration integration of renewable sources and the stabilization of modern power grids. The safe, efficient, and reliable operation of a battery energy storage system (BESS) is entrusted to its Battery Management System (BMS). Two of the most critical parameters for BMS are the State of Energy (SOE) and the State of Power (SOP). SOE indicates the remaining usable energy within the energy storage battery, analogous to a “fuel gauge,” and is essential for system-level energy dispatch and management. SOP defines the maximum charge/discharge power capability over a specified time horizon (e.g., 10s, 30s, 60s) without violating operational limits, which is crucial for power support services, load following, and preventing hazardous conditions like overcharge or over-discharge.
Accurate real-time estimation of SOE and SOP, however, presents significant challenges. These states are internal (“hidden”) and cannot be measured directly. They are influenced by complex, nonlinear electrochemical processes, operating conditions (current, temperature), and the battery’s state of health (SOH). Traditional methods, such as simple coulomb counting for SOE or static look-up tables for SOP, suffer from error accumulation and lack adaptability to dynamic conditions. Therefore, model-based estimation algorithms have become the mainstream approach, offering a balance between accuracy, computational load, and real-time feasibility.
This article delves into a sophisticated model-based framework for the joint estimation of SOE and SOP in energy storage batteries. The core of our methodology involves a synergistic combination of online model parameter identification, a filtering-based SOE observer, and a novel multi-step power prediction algorithm specifically designed for constant-power demands prevalent in grid applications.
1. Dynamic Modeling of the Energy Storage Battery
An accurate yet computationally efficient model is the cornerstone of any model-based estimation strategy. Electrochemical models, while highly detailed, are often too complex for real-time BMS applications. Equivalent Circuit Models (ECMs) offer an excellent compromise, representing the battery’s dynamic electrical behavior using simple electrical components like resistors and capacitors.

We adopt the first-order Thevenin ECM, also known as the RC model, for its proven effectiveness and simplicity. The model comprises an open-circuit voltage (OCV) source in series with an ohmic resistor (Ri) and a single RC parallel network (RD, CD). The OCV is a function of the battery’s State of Energy (SOE). The governing equations are:
$$\frac{dU_D}{dt} = \frac{i_L}{C_D} – \frac{U_D}{R_D C_D}$$
$$U_t = U_{OC}(z) – U_D – i_L R_i$$
where \(U_t\) is the terminal voltage, \(i_L\) is the load current (positive for discharge), \(U_D\) is the polarization voltage across the RC network, and \(z\) denotes the SOE. The time constant of the RC network is \(\tau = R_D C_D\).
By discretizing these equations with a sampling period \(\Delta t\), we obtain the form suitable for digital implementation:
$$U_{D,k+1} = e^{-\frac{\Delta t}{\tau}} U_{D,k} + R_D \left(1 – e^{-\frac{\Delta t}{\tau}}\right) i_{L,k}$$
$$U_{t,k+1} = U_{OC}(z_{k+1}) – U_{D,k+1} – i_{L,k+1} R_i$$
The relationship between OCV and SOE is a fundamental characteristic of the energy storage battery. It is typically established offline through low-current calibration tests and can be represented by a polynomial or combined polynomial-logarithmic function:
$$U_{OC}(z) = K_0 + K_1 z + K_2 z^2 + K_3 z^3 + K_4 \ln(z) + K_5 \ln(1-z)$$
where \(K_0\) to \(K_5\) are fitting coefficients. The SOE itself is updated recursively using the accumulated energy transfer:
$$z_{k} = z_{k-1} – \frac{\eta_i U_{t,k-1} i_{L,k} \Delta t}{E_a}$$
Here, \(E_a\) is the total available energy of the energy storage battery (often related to its nominal capacity and average voltage), and \(\eta_i\) is the coulombic/energy efficiency, often approximated as 1 for simplicity in estimation.
The complete discrete-time state-space representation for the estimator design is:
$$
\begin{aligned}
\textbf{State Equation: } & \begin{bmatrix} U_{D,k+1} \\ z_{k+1} \end{bmatrix} = \begin{bmatrix} e^{-\Delta t / \tau} & 0 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} U_{D,k} \\ z_{k} \end{bmatrix} + \begin{bmatrix} R_D(1-e^{-\Delta t / \tau}) \\ -\eta_i U_{t,k} \Delta t / E_a \end{bmatrix} i_{L,k} \\
\textbf{Output Equation: } & U_{t,k} = U_{OC}(z_k) – U_{D,k} – i_{L,k} R_i
\end{aligned}
$$
2. Online Parameter Identification via Recursive Least Squares
The accuracy of the ECM hinges on the precision of its parameters (\(R_i, R_D, C_D\)), which vary with SOE, temperature, current rate, and SOH. Static parameters lead to model mismatch and state estimation drift. Therefore, we implement an online parameter identification (OPI) algorithm using the Recursive Least Squares (RLS) method with a forgetting factor (\(\lambda\)). This allows the model to adapt to the changing dynamics of the energy storage battery in real-time.
First, we derive a linear-in-parameters form from the discretized model equation. Applying the bilinear transform to the continuous-time transfer function of the Thevenin model yields:
$$U_{t,k} = a_1 U_{t,k-1} + a_2 i_{L,k} + a_3 i_{L,k-1} + (1-a_1)U_{OC,k}$$
Treating \(U_{OC,k}\) as a known quantity (from the OCV-SOE curve given an initial SOE estimate), we can formulate the standard RLS problem:
$$y_k = \boldsymbol{\phi}_k^T \boldsymbol{\theta}_k + \varepsilon_k$$
where:
\(y_k = U_{t,k} – U_{OC,k}\) is the system output.
\(\boldsymbol{\phi}_k = [U_{t,k-1} – U_{OC,k}, \ i_{L,k}, \ i_{L,k-1}]^T\) is the regressor vector.
\(\boldsymbol{\theta}_k = [a_1, a_2, a_3]^T\) is the parameter vector to be identified.
\(\varepsilon_k\) is the modeling error.
The RLS algorithm with forgetting factor updates the parameter estimates recursively:
$$
\begin{aligned}
\textbf{Kalman Gain: } & \mathbf{K}_{ls,k} = \frac{\mathbf{P}_{ls,k-1} \boldsymbol{\phi}_k}{\lambda + \boldsymbol{\phi}_k^T \mathbf{P}_{ls,k-1} \boldsymbol{\phi}_k} \\
\textbf{Parameter Update: } & \hat{\boldsymbol{\theta}}_k = \hat{\boldsymbol{\theta}}_{k-1} + \mathbf{K}_{ls,k} \left( y_k – \boldsymbol{\phi}_k^T \hat{\boldsymbol{\theta}}_{k-1} \right) \\
\textbf{Covariance Update: } & \mathbf{P}_{ls,k} = \lambda^{-1} \left( \mathbf{I} – \mathbf{K}_{ls,k} \boldsymbol{\phi}_k^T \right) \mathbf{P}_{ls,k-1}
\end{aligned}
$$
The forgetting factor \(0 < \lambda \leq 1\) discounts older data, giving more weight to recent observations, which is crucial for tracking time-varying parameters in an energy storage battery. Once \(a_1, a_2, a_3\) are identified, the physical ECM parameters can be calculated:
$$
\begin{aligned}
R_i &= \frac{a_3 – a_2}{1 + a_1}, \quad \tau = -\frac{\Delta t}{\ln(-a_1)}, \\
R_D &= \frac{2(a_3 + a_1 a_2)}{(1 – a_1)^2}, \quad C_D = \frac{\tau}{R_D}
\end{aligned}
$$
3. State of Energy Estimation via Extended Kalman Filter
With an adaptively identified model, we now address the core estimation problem. The Extended Kalman Filter (EKF) is a powerful tool for estimating the states of a nonlinear system, such as our battery model where the output equation is nonlinear in the state \(z\) due to \(U_{OC}(z)\). The EKF linearizes the system around the current state estimate at each time step.
We define the state vector as \(\mathbf{x}_k = [U_{D,k}, \ z_k]^T\) and the input as \(u_k = i_{L,k}\). The nonlinear state-space model is:
$$
\begin{aligned}
\mathbf{x}_{k+1} &= f(\mathbf{x}_k, u_k) + \mathbf{w}_k = \begin{bmatrix} e^{-\Delta t/\tau} U_{D,k} + R_D(1-e^{-\Delta t/\tau}) u_k \\ z_k – (\eta_i U_{t,k} \Delta t / E_a) u_k \end{bmatrix} + \mathbf{w}_k \\
y_k &= h(\mathbf{x}_k, u_k) + v_k = U_{OC}(z_k) – U_{D,k} – R_i u_k + v_k
\end{aligned}
$$
where \(\mathbf{w}_k\) and \(v_k\) are zero-mean white process and measurement noise with covariance matrices \(\mathbf{Q}\) and \(R\), respectively.
The EKF algorithm proceeds in a two-step predict-correct cycle:
1. Prediction (Time Update):
Project the state and error covariance ahead.
$$ \hat{\mathbf{x}}_k^- = f(\hat{\mathbf{x}}_{k-1}^+, u_{k-1}) $$
$$ \mathbf{P}_k^- = \mathbf{A}_{k-1} \mathbf{P}_{k-1}^+ \mathbf{A}_{k-1}^T + \mathbf{Q} $$
Here, \(\mathbf{A}_{k-1}\) is the Jacobian matrix of the state function \(f\) with respect to the state \(\mathbf{x}\), evaluated at the previous posterior estimate \(\hat{\mathbf{x}}_{k-1}^+\).
$$ \mathbf{A}_{k-1} = \left. \frac{\partial f}{\partial \mathbf{x}} \right|_{\hat{\mathbf{x}}_{k-1}^+} = \begin{bmatrix} e^{-\Delta t/\tau} & 0 \\ 0 & 1 \end{bmatrix} $$
(The partial derivative of the SOE update wrt \(U_D\) is zero under the approximation used).
2. Correction (Measurement Update):
Compute the Kalman gain, update the estimate with the new terminal voltage measurement \(U_{t,k}^{meas}\), and update the error covariance.
$$ \mathbf{C}_k = \left. \frac{\partial h}{\partial \mathbf{x}} \right|_{\hat{\mathbf{x}}_k^-} = \begin{bmatrix} -1 & \frac{dU_{OC}}{dz}\big|_{z=\hat{z}_k^-} \end{bmatrix} $$
$$ \mathbf{K}_k = \mathbf{P}_k^- \mathbf{C}_k^T (\mathbf{C}_k \mathbf{P}_k^- \mathbf{C}_k^T + R)^{-1} $$
$$ \hat{\mathbf{x}}_k^+ = \hat{\mathbf{x}}_k^- + \mathbf{K}_k \left( U_{t,k}^{meas} – h(\hat{\mathbf{x}}_k^-, u_k) \right) $$
$$ \mathbf{P}_k^+ = (\mathbf{I} – \mathbf{K}_k \mathbf{C}_k) \mathbf{P}_k^- $$
This recursive filter provides a robust and accurate estimate of the SOE for the energy storage battery, even in the presence of measurement noise and initial estimation errors.
4. State of Power Prediction with Multi-Step Constant-Power Forecasting
Predicting the SOP for an energy storage battery is fundamentally about finding the maximum constant current (or power) that can be applied for a duration \(T_{sop}\) (e.g., 60 seconds) without violating predefined constraints. Most literature simplifies this by assuming a constant current pulse. However, grid-serving energy storage batteries frequently operate under constant-power commands (e.g., “absorb 200 kW for 60 seconds”). A constant-power demand implies a time-varying current, as the terminal voltage changes. This necessitates a more sophisticated prediction approach.
We propose a Multi-Step Power Prediction method to solve this problem accurately. The goal is to find the constant power \(P\) such that at time \(t_0 + T_{sop}\), the battery voltage reaches a limiting value (e.g., minimum discharge voltage \(U_{min}\) or maximum charge voltage \(U_{max}\)), starting from the current estimated states (\(U_{D,0}, z_0, U_{t,0}\)).
Let \(N\) be the number of steps we divide the prediction horizon into, with step duration \(\Delta t_p = T_{sop} / N\). A larger \(N\) improves accuracy at the cost of computation. We find \(N=2\) offers an excellent trade-off. The constant power constraint means that at each prediction step \(j\):
$$ P = U_{t, j} \cdot i_{L, j} = \text{constant} $$
Therefore, the current for the step is \(i_{L, j} = P / U_{t, j}\).
We start from the known state at \(k=0\). For the first prediction step (\(j=1\)):
$$ U_{D,1} = e^{-\Delta t_p / \tau} U_{D,0} + R_D(1-e^{-\Delta t_p / \tau}) (P / U_{t,0}) $$
$$ z_1 = z_0 – \frac{\eta_i U_{t,0} (P / U_{t,0}) \Delta t_p}{E_a} = z_0 – \frac{\eta_i P \Delta t_p}{E_a} $$
$$ U_{OC,1} \approx U_{OC}(z_0) + \frac{dU_{OC}}{dz}\big|_{z_0} (z_1 – z_0) = U_{OC}(z_0) – \frac{\eta_i P \Delta t_p}{E_a} \frac{dU_{OC}}{dz}\big|_{z_0} $$
$$ U_{t,1} = U_{OC,1} – U_{D,1} – R_i (P / U_{t,0}) $$
For the second prediction step (\(j=2\)), we repeat the process using the state at \(j=1\):
$$ U_{D,2} = e^{-\Delta t_p / \tau} U_{D,1} + R_D(1-e^{-\Delta t_p / \tau}) (P / U_{t,1}) $$
$$ z_2 = z_1 – \frac{\eta_i P \Delta t_p}{E_a} $$
$$ U_{OC,2} = U_{OC,1} – \frac{\eta_i P \Delta t_p}{E_a} \frac{dU_{OC}}{dz}\big|_{z_1} $$
$$ U_{t,2} = U_{OC,2} – U_{D,2} – R_i (P / U_{t,1}) $$
We now have the terminal voltage at the end of the SOP horizon, \(U_{t,2}\), expressed as a function of the unknown power \(P\) and known initial states/parameters. This function is nonlinear. To find the discharge SOP (\(P^{dis}_{max}\)), we set \(U_{t,2} = U_{min}\) and solve for \(P\). Similarly, for charge SOP (\(P^{chg}_{min}\)), we set \(U_{t,2} = U_{max}\). This yields a root-finding problem for a nonlinear equation \(F(P)=U_{t,2}(P)-U_{limit}=0\), which can be solved efficiently using numerical methods like the Newton-Raphson or bisection method, given the monotonic nature of the function.
The final SOP must respect multiple constraints simultaneously for the safety of the energy storage battery. Therefore, the available power is the most restrictive value among:
1. Voltage-Limited Power (V-SOP): \(P^{dis, V}_{max}, P^{chg, V}_{min}\) from the multi-step algorithm above.
2. SOE-Limited Power (E-SOP): Power needed to reach the SOE limits within \(T_{sop}\).
$$ P^{dis, E}_{max} = \frac{(z_0 – z_{min}) E_a}{T_{sop}}, \quad P^{chg, E}_{min} = \frac{(z_0 – z_{max}) E_a}{T_{sop}} $$
3. Current-Limited Power (I-SOP): \(P^{dis, I}_{max} = U_{t,0} \cdot I_{max}, \quad P^{chg, I}_{min} = U_{t,0} \cdot I_{min}\).
4. Design Power Limits: Absolute maximum/minimum power from the datasheet, \(P_{design}^{max}, P_{design}^{min}\).
The final, safe SOP estimates are:
$$ SOP^{dis} = \min(P_{design}^{max}, P^{dis, V}_{max}, P^{dis, E}_{max}, P^{dis, I}_{max}) $$
$$ SOP^{chg} = \max(P_{design}^{min}, P^{chg, V}_{min}, P^{chg, E}_{min}, P^{chg, I}_{min}) $$
This multi-constrained, multi-step approach provides a highly accurate and protective SOP prediction for the energy storage battery under realistic constant-power operational scenarios.
5. Experimental Validation and Discussion
The proposed joint estimation framework was validated using experimental data from a commercial 50 Ah lithium iron phosphate (LFP) energy storage battery cell. Key specifications are summarized below.
| Parameter | Value |
|---|---|
| Chemistry | Lithium Iron Phosphate (LFP) |
| Nominal Capacity | 50 Ah |
| Nominal Voltage | 3.2 V |
| Voltage Limits (U_min, U_max) | 2.5 V, 3.65 V |
Tests included OCV-SOE characterization, dynamic driving cycle profiles (e.g., NEDC) for SOE estimation validation, and specific constant-power pulse tests for SOP algorithm verification. The operational constraints used for SOP calculation are listed in the following table for a 60-second horizon.
| Constraint Type | Symbol | Limit Value |
|---|---|---|
| SOE Limit | z_min, z_max | 0.1, 0.9 |
| Voltage Limit | U_min, U_max | 2.5 V, 3.65 V |
| Current Limit | I_min, I_max | -250 A (charge), 600 A (discharge) |
| Design Power Limit | P_min, P_max | -1500 W, 2500 W |
5.1 SOE Estimation Performance
The EKF-based SOE estimator was tested under dynamic current profiles at 25°C and 45°C. To evaluate robustness, the initial SOE was intentionally set to 0.5, while the true initial value was 0.7. The online RLS algorithm successfully tracked model parameter variations. The results demonstrated excellent convergence and accuracy. The terminal voltage was estimated with a maximum error below 40 mV (less than 1.25% of nominal voltage). The SOE estimate converged rapidly to the reference value (obtained from high-precision coulomb counting with known initial state) and maintained a maximum error below 2% throughout the test, showcasing the algorithm’s strong robustness against initial error.
5.2 SOP Prediction Performance
The multi-step constant-power prediction algorithm was first validated using the dedicated constant-power pulse test data. The energy storage battery was subjected to 200 W discharge pulses for 60 seconds from various SOE levels. The proposed method (with N=2) was used to predict the achievable power over 60 seconds. The prediction error was consistently low, with a maximum error of approximately 4 W (2% of the 200 W pulse) at the 60-second horizon. The table below summarizes the prediction errors for different prediction horizons, confirming that accuracy degrades gracefully as the horizon extends, as expected.
| Prediction Horizon (s) | Max Error (W) | Mean Absolute Error (W) | Root Mean Square Error (W) |
|---|---|---|---|
| 40 | 1.93 | 1.49 | 1.54 |
| 50 | 2.42 | 1.55 | 1.67 |
| 60 | 3.77 | 1.62 | 1.99 |
Subsequently, the full joint estimation framework was executed on the dynamic profile data. At each time step, the RLS updated the model parameters, the EKF provided the SOE estimate, and the multi-step, multi-constraint algorithm calculated the real-time SOP for the next 60 seconds. The results showed physically consistent SOP profiles. The discharge SOP remained around 800 W at 25°C and higher at 45°C due to lower internal resistance. Notably, as the estimated SOE approached the lower limit of 0.1, the SOE-limited power (\(P^{dis, E}_{max}\)) became the active constraint, driving the predicted SOP towards zero, thus effectively preventing virtual over-discharge. This demonstrates the critical interaction between accurate SOE estimation and safe SOP prediction in an energy storage battery management system.
6. Conclusion
This article has presented a comprehensive, model-based framework for the joint estimation of State of Energy (SOE) and State of Power (SOP) in lithium-ion energy storage batteries. The methodology addresses key practical challenges: model parameter variability through online Recursive Least Squares identification, nonlinear state estimation via the Extended Kalman Filter, and the accurate prediction of power capability under constant-power demand—a common scenario in grid applications—using a novel multi-step forecasting algorithm.
The proposed multi-step power prediction method effectively solves the nonlinear problem posed by constant-power operation, achieving high prediction accuracy (errors <2% in validation tests). The synergistic integration of this SOP predictor with the adaptive model and EKF-based SOE observer creates a robust joint estimation system. Experimental validation confirms that the framework maintains SOE estimation errors below 2% and provides realistic, multi-constrained SOP predictions even in the presence of significant initial state errors and under varying dynamic loads.
This work provides a solid algorithmic foundation for enhancing the performance, safety, and longevity of battery energy storage systems, contributing directly to their reliability as a cornerstone technology for the future sustainable energy grid.
