Estimate Battery State of Health Based on Capacity Fade
This example shows how to estimate the battery capacity and state of health (SOH) by using a Kalman filter. The initial state of charge (SOC) of the battery is equal to 0.5. The estimator uses an initial condition for the SOC equal to 0.8. The battery keeps charging and discharging for 50 hours. The example estimates the battery capacity, in ampere-hour, and the SOC by using an extended Kalman Filter. The estimation error for the battery capacity is less than 4%. The SOC is estimated using an extended Kalman filter. When using fixed capacity the estimated SOC value diverges from the true value. To demonstrate the functionality of the estimator and to restrict the duration of the simulation, this example models an increased capacity fade rate.
Model

Simulation Results
This plot shows the real and estimated battery state of charge, estimated capacity, and estimated state of health of the battery.

Results from Real-Time Simulation
This example has been tested on these platforms:
Speedgoat™ Performance real-time target machine with an Intel® 3.5 GHz i7 multi-core CPU and 4 GB RAM.
dSPACE® SCALEXIO LabBox with Intel® Core XEON E3-1275v3 at 3.5GHz and 4 GB RAM.
You can run this model in real time with a step size of 50 microseconds by using the Simscape local solver. For small sample rates, a task overrun might occur during the initial task execution due to a cold cache. To avoid this overrun, if the selected platform supports these options, relax the start-up behavior by specifying a limited number of task overruns or increasing the sample time of periodic tasks during the start-up phase of the real-time application.
See Also
Battery Capacity Estimator (Kalman Filter) | SOH Estimator (Capacity-Based)