Battery State-of-Health (SOH) Estimation (Coursera)

Battery State-of-Health (SOH) Estimation (Coursera)

This course can also be taken for academic credit as ECEA 5733, part of CU Boulder’s Master of Science in Electrical Engineering degree.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

By the end of the course, you will be able to:

  • Identify the primary degradation mechanisms that occur in lithium-ion cells and understand how they work
  • Execute provided Octave/MATLAB script to estimate total capacity using WLS, WTLS, and AWTLS methods and lab-test data, and to evaluate results
  • Compute confidence intervals on total-capacity estimates
  • Compute estimates of a cell’s equivalent-series resistance using lab-test data
  • Specify the tradeoffs between joint and dual estimation of state and parameters, and steps that must be taken to ensure robust estimates (honors)

What You Will Learn

  • How to implement state-of-health (SOH) estimators for lithium-ion battery cells

Course 4 of 5 in the Algorithms for Battery Management Systems Specialization.

Syllabus

Week 1
How does lithium-ion cell health degrade?
As battery cells age, their total capacities generally decrease and their resistances generally increase. This week, you will learn WHY this happens. You will learn about the specific physical and chemical mechanisms that cause degradation to lithium-ion battery cells. You will also learn why it is relatively simple to estimate and track changes to resistance, but why it is difficult to track changes to total capacity accurately.

Week 2
Total-least-squares battery-cell capacity estimation
Total capacity is often estimated using ordinary-least-squares (OLS) methods. This week, you will learn that this is a fundamentally incorrect approach, and will learn that a total-least-squares (TLS) method should be used instead. You will learn how to derive a weighted OLS solution, to use as a benchmark, and how to derive a weighted TLS solution also.

Week 3
Simplified total-least-squares battery-cell capacity estimates
Unfortunately, the weighted TLS solution you learned in week 2 is not well suited for efficient computation on an embedded system like a BMS. As an intermediate step toward finding an efficient weighted TLS method, you will first learn a proportionally weighted TLS method this week. You will then learn how to generalize this to an "approximate weighted TLS" (AWTLS) method, which gives good estimates, and is feasible to implement on a BMS.

Week 4
How to write code for the different total-capacity estimators
So far this course, you have learned a number of methods for estimating total capacity. This week, you will learn how to implement those methods in Octave code. You will also explore different simulation scenarios to benchmark how well each method works, in comparison with the others. The scenarios are representative of hybrid-electric-vehicle (HEV) and battery-electric-vehicle (BEV) applications, but the principles learned can be extrapolated to other similar application domains.

Week 5
A Kalman-filter approach to total capacity estimation
In the third course of the specialization, you learned how to use extended Kalman filters (EKFs) and sigma-point Kalman filters (SPKFs) to estimate the state of a battery cell. In this honors week, you will learn how to extend those concepts to apply EKF and SPKF to estimating the parameters of a battery-cell model if the state is known, and also how to simultaneously estimate both the state and parameters of a cell model.

Week 6
Capstone project
You have learned several different total-capacity estimation methods. Some of these methods work better than others in general, but any method is only as good as the data you give it. In this project, you will explore a different way to determine the "x" and "y" data you use as input to the total-capacity estimation methods.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introdução ao Controle Moderno (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

Introdução ao Controle Moderno (Coursera)

Este curso lhe dará a base necessária para entender técnicas mais avançadas de controle moderno. Você aprenderá como representar a dinâmica de um sistema no espaço de estados, como analisar um sistema no espaço de estados, como projetar uma realimentação de estado e como projetar um observador de estado.

Jun 1st 2026
5-12 Weeks
Signals and Systems, Part 1 (edX) EdX
IIT Bombay,IITBombayX

Signals and Systems, Part 1 (edX)

This course provides the basic toolkit for any signal processing application - the abstraction of signals and systems, from the point of view of analysis and characterization. We encounter signals and systems extensively in our day-to-day lives, from making a phone call, listening to a song, editing photos, manipulating audio files, using speech recognition softwares like Siri and Google now, to taking EEGs, ECGs and X-Ray images.

No sessions available
5-12 Weeks
Battery Storage Technology: Opportunities and Uses (FutureLearn) FutureLearn
EIT InnoEnergy

Battery Storage Technology: Opportunities and Uses (FutureLearn)

Explore battery storage technology - how and why it works, and how it could revolutionise the European energy landscape. Could battery storage technology be the answer to energy demands? Imbalances in power supply, combined with rising energy demands pose a growing risk. But the emerging field of ‘battery storage’ could be the solution.

No sessions available
3 Weeks
Haptics: Introduction to Haptics (Stanford Online) Lagunita Stanford Online
Stanford University

Haptics: Introduction to Haptics (Stanford Online)

Participants in this class will learn how to build, program, and control haptic devices, which are mechatronic devices that allow users to feel virtual or remote environments. In the process, participants will gain an appreciation for the capabilities and limitations of human touch, develop an intuitive connection between equations that describe physical interactions and how they feel, and gain practical interdisciplinary engineering skills related to robotics, mechanical engineering, electrical engineering, bioengineering, and computer science.

Self Paced
Self-Paced
Interfacing with the Arduino (Coursera) Coursera
University of California, Irvine

Interfacing with the Arduino (Coursera)

Arduino senses the environment by receiving inputs from add-on devices such as sensors, and can control the world around it by adjusting lights, motors, and other actuators. In this class you will learn how and when to use the different types of sensors and how to connect them to the Arduino. Since the external world uses continuous or analog signals and the hardware is digital you will learn how these signals are converted back-and-forth and how this must be considered as you program your device. You'll also learn about the use of Arduino-specific shields and the shields software libraries to interface with the real world.

Jun 8th 2026
4 Weeks
Real-Time Mission-Critical Systems Design (Coursera) Coursera
University of Colorado Boulder

Real-Time Mission-Critical Systems Design (Coursera)

Upon completion of this course the learner will know the difference between systems you can bet your life on (mission critical) and those which provide predictable response and quality of service (reliable). This will be achieved not only by study of design methods and patterns for mission critical systems, but also through implementation of soft real-time systems and comparison to hard real-time. Methods of verification to determine ability to meet mission critical as well as soft real-time requirements will be learned so that the learner can properly assess risk, reliability and impact of failure in real-time systems.

Jun 15th 2026
4 Weeks
Physics 102 - Electric Potential and DC Circuits (Coursera) Coursera
Rice University

Physics 102 - Electric Potential and DC Circuits (Coursera)

This course serves as an introduction to the physics of electricity and magnetism. Upon completion, learners will have an understanding of how the forces between electric charges are described by fields, and how these fields are related to electrical circuits. They will gain experience in solving physics problems with tools such as graphical analysis, algebra, vector analysis, and calculus.

Jun 8th 2026
3 Weeks
Outsmarting intermittency (Coursera) Coursera
École Polytechnique

Outsmarting intermittency (Coursera)

Solar and wind offer clean and renewable ways to produce large amounts of electricity. They have boomed over the last few years, evolving from an eco-daydream to a major market and showing unprecedented growth rates. Yet, installing solar panels and wind turbines is by no means the end of the story. The electrical grid, which connects production means to the end-users’ sockets, is not a simple electron pipe. It is the beating heart of our electricity system and ensures its stability. Solar and wind raise specific challenges for the grid, and these challenges will have to be tackled if we want to deploy larger amounts of renewable sources.

Jun 8th 2026
4 Weeks
Light Emitting Diodes and Semiconductor Lasers (Coursera) Coursera
University of Colorado Boulder

Light Emitting Diodes and Semiconductor Lasers (Coursera)

You will learn about semiconductor light emitting diodes (LEDs) and lasers, and the important rules for their analysis, planning, design, and implementation. You will also apply your knowledge through challenging homework problem sets to cement your understanding of the material and prepare you to apply in your career.

Jun 8th 2026
5-12 Weeks
Linux System Programming and Introduction to Buildroot (Coursera) Coursera
University of Colorado Boulder

Linux System Programming and Introduction to Buildroot (Coursera)

This course provides an overview of System Programming for the Linux operating system, or software which is interfacing directly with the Linux Kernel and C library. The basic components of a Linux Embedded System, including kernel and root filesystem details are discussed. The Buildroot build system is introduced, which students use to build their own custom Embedded Linux system through programming assignments.

Jun 15th 2026
4 Weeks