Pack Bar SOC Estimator (Kalman Filter)
Libraries:
Simscape /
Battery /
BMS /
Estimators
Description
The Pack Bar SOC Estimator (Kalman Filter) block implements an estimator that calculates the average state of charge (SOC) of a battery pack by using the Kalman filter algorithms. The average state of charge and polarization voltage are the internal estimator states, the current is the control input, and the average pack voltage is the measurement.
This block supports single-precision and double-precision floating-point simulation.
Note
To enable inherited single-precision floating-point simulation, the data type of all
inputs and parameters, except for the Sample time (-1 for
inherited) parameter, must be single
.
For continuous-time simulation, set the Filter type parameter to
Extended Kalman-Bucy filter
or Unscented Kalman-Bucy
filter
.
Note
Continuous-time implementation of this block works only in a double-precision floating-point simulation. If you provide single-precision floating-point parameters and inputs, this block casts them to double-precision floating-point values to prevent errors.
For discrete-time simulation, set the Filter type parameter to
Extended Kalman filter
or Unscented Kalman
filter
and the Sample time (-1 for inherited) parameter
to a positive value or -1
.
Equations
The bar filter technique estimates the average states of the battery pack. The equations for the average mathematical model for a battery pack with two time-constant dynamics are:
where:
is the average state of charge of the battery pack.
i is the current.
V0 is the no-load voltage.
is the average terminal voltage of the battery pack.
is the average ampere-hour rating of the battery pack.
is the terminal resistance of the battery pack.
R1 is the first polarization resistance.
C1 is the first parallel RC capacitance.
R2 is the second polarization resistance.
C2 is the second parallel RC capacitance.
is the average temperature of the battery pack.
is the polarization voltage over the first RC network.
is the polarization voltage over the second RC network.
A time constant τ1 for the first parallel section relates the first polarization resistance R1 and the first parallel RC capacitance C1 using the relationship
A time constant τ2 for the second parallel section relates the second polarization resistance R2 and the second parallel RC capacitance C2 using the relationship
For series-connected cells, the cell currents are equal. When balancing the battery, the cell currents might not be equal and the currents must be averaged.
The outputs from the bar filter are the estimated average state of charge of the battery pack, , and the average dynamic overpotential voltage, .
To learn more about the internal implementation and equations of each Kalman filter algorithm of this block, see the Equations section of the SOC Estimator (Kalman Filter) block.
Examples
Assumptions and Limitations
The process and SOC noises are independent, zero mean, Gaussian noises.
Ports
Input
Output
Parameters
References
[1] Plett, Gregory L. "Efficient Battery Pack State Estimation Using Bar-Delta Filtering,” 2009. https://api.semanticscholar.org/CorpusID:54178271.
Extended Capabilities
Version History
Introduced in R2025a