Main Content

SOH Estimator

State of health estimator

Since R2022b

Libraries:
Simscape / Battery / BMS / Estimators

Description

This block implements an estimator that calculates the state of health (SOH) of a battery. The SOH reflects the condition of a battery relative to its ideal conditions. Health variations imply that the capacity and power of the battery fade over time.

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 must be single.

This diagram shows the structure of the block:

Equations

The terminal resistance R0 is an important indicator of the aging of a battery. You can estimate the terminal resistance by using the SOC Estimator (Adaptive Kalman Filter) block. The SOH Estimator block computes the SOH as a function of the terminal resistance R0:

SOH=REOLR0REOLR0,new

where REOL is the end-of-life resistance and R0,new is the terminal resistance when the battery is new.

Examples

Ports

Input

expand all

State-of-charge of the battery, specified as a scalar or vector of entries in the range [0, 1]. The size of this input port must be equal to the size of the Temperature and R0 input ports.

Temperature of a battery cell, specified as a scalar for a single cell or a vector for multiple cells. The size of this input port must be equal to the size of the SOC and R0 input ports.

Terminal resistance, specified as a scalar for a single cell or a vector for multiple cells. The size of this input port must be equal to the size of the SOC and Temperature input ports.

Output

expand all

State-of-health of the battery, returned as a scalar or vector of entries in the range [0, 1]. The size of this output port is equal to the size of the vectors at the input ports.

Parameters

expand all

Vector of SOC breakpoints defining the points at which you specify lookup data. This vector must be strictly ascending.

Vector of temperature breakpoints defining the points at which you specify lookup data. This vector must be strictly ascending and greater than 0 K. The physical unit of this parameter must be the same as the physical unit of the Temperature input port.

Terminal resistance when the battery cell is new, in ohm. The number of rows of this matrix is equal to the size of the Vector of state-of-charge values, SOC (-) parameter. The number of columns of this matrix is equal to the size of the Vector of temperatures, T parameter.

Terminal resistance when the battery is at the end of its life, in ohm. The number of rows of this matrix is equal to the size of the Vector of state-of-charge values, SOC (-) parameter. The number of columns of this matrix is equal to the size of the Vector of temperatures, T parameter.

References

[1] Noura, Nassim, Loïc Boulon, and Samir Jemeï. “A Review of Battery State of Health Estimation Methods: Hybrid Electric Vehicle Challenges.” World Electric Vehicle Journal 11, no. 4 (October 16, 2020): 66. https://doi.org/10.3390/wevj11040066.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2022b