Battery State-of-Charge (SOC) Estimation (Coursera)

Battery State-of-Charge (SOC) Estimation (Coursera)

This course can also be taken for academic credit as ECEA 5732, 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:

  • Implement simple voltage-based and current-based state-of-charge estimators and understand their limitations
  • Explain the purpose of each step in the sequential-probabilistic-inference solution
  • Execute provided Octave/MATLAB script for a linear Kalman filter and evaluate results
  • Execute provided Octave/MATLAB script for state-of-charge estimation using an extended Kalman filter on lab-test data and evaluate results
  • Execute provided Octave/MATLAB script for state-of-charge estimation using an sigma-point Kalman filter on lab-test data and evaluate results
  • Implement method to detect and discard faulty voltage-sensor measurements

What You Will Learn

  • How to implement state-of-charge (SOC) estimators for lithium-ion battery cells

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

Syllabus

Week 1
The importance of a good SOC estimator
This week, you will learn some rigorous definitions needed when discussing SOC estimation and some simple but poor methods to estimate SOC. As background to learning some better methods, we will review concepts from probability theory that are needed to be able to deal with the impact of uncertain noises on a system's internal state and measurements made by a BMS.

Week 2
Introducing the linear Kalman filter as a state estimator
This week, you will learn how to derive the steps of the Gaussian sequential probabilistic inference solution, which is the basis for all Kalman-filtering style state estimators. While this content is highly theoretical, it is important to have a solid foundational understanding of these topics in practice, since real applications often violate some of the assumptions that are made in the derivation, and we must understand the implication this has on the process. By the end of the week, you will know how to derive the linear Kalman filter.

Week 3
Coming to understand the linear Kalman filter
The steps of a Kalman filter may appear abstract and mysterious. This week, you will learn different ways to think about and visualize the operation of the linear Kalman filter to give better intuition regarding how it operates. You will also learn how to implement a linear Kalman filter in Octave code, and how to evaluate outputs from the Kalman filter.

Week 4
Cell SOC estimation using an extended Kalman filter
A linear Kalman filter can be used to estimate the internal state of a linear system. But, battery cells are nonlinear systems. This week, you will learn how to approximate the steps of the Gaussian sequential probabilistic inference solution for nonlinear systems, resulting in the "extended Kalman filter" (EKF). You will learn how to implement the EKF in Octave code, and how to use the EKF to estimate battery-cell SOC.

Week 5
Cell SOC estimation using a sigma-point Kalman filter
The EKF is the best known and most widely used nonlinear Kalman filter. But, it has some fundamental limitations that limit its performance for "very nonlinear" systems. This week, you will learn how to derive the sigma-point Kalman filter (sometimes called an "unscented Kalman filter") from the Gaussian sequential probabilistic inference steps. You will also learn how to implement this filter in Octave code and how to use it to estimate battery cell SOC.

Week 6
Improving computational efficiency using the bar-delta method
Kalman filtering requires that noises have zero mean. What do we do if the current-sensor has a dc bias error, as is often the case? How can we implement Kalman-filter type SOC estimators in a computationally efficient way for a battery pack comprising many cells? This week you will learn how to compensate for current-sensor bias error and how to implement the bar-delta method for computational efficiency. You will also learn about desktop validation as an approach for initial testing and tuning of BMS algorithms.

Week 7
Capstone project
You have already learned that Kalman filters must be "tuned" by adjusting their process-noise, sensor-noise, and initial state-estimate covariance matrices in order to give acceptable performance over a wide range of operating scenarios. This final course module will give you some experience hand-tuning both an EKF and SPKF for SOC estimation.

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

Related Courses

Internet of Things: Multimedia Technologies (Coursera) Coursera
University of California, San Diego

Internet of Things: Multimedia Technologies (Coursera)

Content is an eminent example of the features that contributed to the success of wireless Internet. Mobile platforms such as the Snapdragon™ processor have special hardware and software capabilities to make acquisition, processing and rendering of multimedia content efficient and cost-effective.

May 25th 2026
3 Weeks
Fundamentals of Audio and Music Engineering: Part 1 Musical Sound & Electronics (Coursera) Coursera
University of Rochester

Fundamentals of Audio and Music Engineering: Part 1 Musical Sound & Electronics (Coursera)

In this course students learn the basic concepts of acoustics and electronics and how they can applied to understand musical sound and make music with electronic instruments. Topics include: sound waves, musical sound, basic electronics, and applications of these basic principles in amplifiers and speaker design.

Jun 8th 2026
5-12 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
State Estimation and Localization for Self-Driving Cars (Coursera) Coursera
University of Toronto

State Estimation and Localization for Self-Driving Cars (Coursera)

Welcome to State Estimation and Localization for Self-Driving Cars, the second course in University of Toronto’s Self-Driving Cars Specialization. We recommend you take the first course in the Specialization prior to taking this course. This course will introduce you to the different sensors and how we can use them for state estimation and localization in a self-driving car.

Jun 1st 2026
5-12 Weeks
Rapid Prototyping of Embedded Interface Designs (Coursera) Coursera
University of Colorado Boulder

Rapid Prototyping of Embedded Interface Designs (Coursera)

Rapid Prototyping is the second of three classes in the Embedded Interface Design (EID) specialization, an online version of the on-campus EID class taught in graduate embedded systems design. This course is focused on rapid prototyping of devices and systems and the related methods, practices, and principles that will help ensure your embedded interface designs are what your users both need and want.

Jun 1st 2026
4 Weeks
Digital Systems: From Logic Gates to Processors (Coursera) Coursera
Universitat Autònoma de Barcelona

Digital Systems: From Logic Gates to Processors (Coursera)

This course gives you a complete insight into the modern design of digital systems fundamentals from an eminently practical point of view. Unlike other more "classic" digital circuits courses, our interest focuses more on the system than on the electronics that support it. This approach will allow us to lay the foundation for the design of complex digital systems.

Jun 8th 2026
5-12 Weeks
Introduction to Satellite Communications (Coursera) Coursera
Institut Mines-Telecom

Introduction to Satellite Communications (Coursera)

How is a satellite built? How do they fly? How do they communicate and how does the network operate? You will get all the answers in this course from teachers and researchers from three schools associated with Institut Mines-Télécom. The course is made of : teaching videos, equipment demonstrations and simulation programs. They will guide you through the discovery of satellite communications. Professionals in the space field will share there vocation for this scientific and technical sector.

No sessions available
5-12 Weeks
Building Arduino robots and devices (Coursera) Coursera
Moscow Institute of Physics and Technology

Building Arduino robots and devices (Coursera)

For many years now, people have been improving their tools, studying the forces of nature and bringing them under control, using the energy of the nature to operate their machines. Last century is noted for the creation of machines which can operate other machines. Nowadays the creation of devices that interact with the physical world is available to anyone. Our course consists of a series of practical problems on making things that work independently: they make their own decisions, act, move, communicate with each other and people around, and control other devices. We will demonstrate how to assemble such devices and programme them using the Arduino platform as a basis.

May 9th 2022
5-12 Weeks
Equivalent Circuit Cell Model Simulation (Coursera) Coursera
University of Colorado Boulder,University of Colorado System

Equivalent Circuit Cell Model Simulation (Coursera)

In this course, you will learn the purpose of each component in an equivalent-circuit model of a lithium-ion battery cell, how to determine their parameter values from lab-test data, and how to use them to simulate cell behaviors under different load profiles.

Jun 1st 2026
5-12 Weeks
Industrial Applications of AI (Coursera) Coursera
L&T EduTech

Industrial Applications of AI (Coursera)

The course Embarks on a transformative learning journey exploring the power of Artificial Intelligence across diverse fields such as electrical, mechanical, civil, and general applications. This course elevates the learner’s insight on AI towards the real-world practices by bridging the gap between theory and practical applications. It also provides hands-on experience of applying AI algorithms into potential applications.

Jun 1st 2026
5-12 Weeks