Battery Capacity Estimator (Kalman Filter)
Libraries:
Simscape /
Battery /
BMS /
Estimators
Description
The Battery Capacity Estimator (Kalman Filter) block implements an estimator that calculates the cell capacity of a battery by using the Kalman filter algorithms.
Use this block in conjunction with another block that estimates the state of charge (SOC) of the battery, such as SOC Estimator (Kalman Filter) or SOC Estimator (Adaptive Kalman Filter).
This block supports single-precision and double-precision floating-point simulation.
Note
To enable 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
To estimate the battery capacity, the Battery Capacity Estimator (Kalman Filter) block starts from the equations of the derivative of the capacity and the SOC:
where
SOC is the state of charge.
i is the current of the battery cell.
Q is the capacity in Ampere-hour.
The first equation is the state equation. The second equation is the output equation.
For the Kalman filter algorithms, the Battery Capacity Estimator (Kalman Filter) block uses Q as the state and these process and observation functions:
This diagram shows the structure of the extended Kalman filter (EKF):
The EKF technique relies on a linearization at every time step to approximate the nonlinear system. To linearize the system at every time step, the algorithm computes these Jacobians online:
The EKF is a discrete-time algorithm. After the discretization, the Jacobians for the SOC estimation of the battery are:
where TS is the sample time.
For more information about the implementation of the EKF algorithm steps, see the Extended Kalman Filter section of the SOC Estimator (Kalman Filter) block.
This diagram shows the structure of the extended Kalman-Bucy filter (EKBF):
The EKBF is the continuous-time variant of the Kalman filter. In continuous time, the prediction and correction steps are coupled.
For more information about the implementation of the EKF algorithm steps, see the Extended Kalman-Bucy Filter section of the SOC Estimator (Kalman Filter) block.
This diagram shows the structure of the unscented Kalman filter (UKF):
The EKF locally approximates nonlinear functions with the linear equations obtained from the Taylor expansion by using only the first term of the expansion. In a highly nonlinear system, these solutions are not very accurate.
The UKF uses nonlinear transformations on a set of sigma points that the algorithm chooses deterministically. This technique is called unscented transformation. The mean and the covariance matrix of the transformed points are accurate to the second order of the Taylor series expansion.
For more information about the implementation of the EKF algorithm steps, see the Unscented Kalman Filter section of the SOC Estimator (Kalman Filter) block.
This diagram illustrates the structure of the unscented Kalman-Bucy filter (UKBF):
The derived continuous-time filtering equations of the UKBF are similar to the EKBF equations.
For more information about the implementation of the EKF algorithm steps, see the Unscented Kalman-Bucy Filter section of the SOC Estimator (Kalman Filter) block.
Examples
Ports
Input
Output
Parameters
Extended Capabilities
Version History
Introduced in R2023b