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

Physics 102 - Magnetic Fields and Faraday's Law (Coursera) Coursera
Rice University

Physics 102 - Magnetic Fields and Faraday's Law (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. The course follows the typical progression of topics of a first-semester university physics course: charges, electric forces, electric fields potential, magnetic fields, currents, magnetic moments, electromagnetic induction, and circuits.

Sep 14th 2026
4 Weeks
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.

Sep 14th 2026
4 Weeks
In the Trenches: Security Operations Center (Coursera) Coursera
EC-Council

In the Trenches: Security Operations Center (Coursera)

Cyber-attacks, breaches, and incidents continue to grow. The sophistication and complexity of these attacks continue to evolve. More than ever organizations need to plan, prepare, and defend against a potential cyber incident. Security Operation Centers (SOCs) act as an organization's front-line defense against cyber incidents. SOC analyst accomplishes this by monitoring and responding to network and host anomalies, performing an in-depth analysis of suspicious events, and when necessary, aiding in forensic investigations.

Sep 28th 2026
4 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.

Sep 21st 2026
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
Introduction to Semiconductor Devices 2 (Coursera) Coursera
Korea Advanced Institute of Science and Technology - KAIST

Introduction to Semiconductor Devices 2 (Coursera)

This course aims to provide a general understanding of semiconductor devices. This coures covers the Metal-Semiconductor Contact, Metal-Oxide-Semiconductor (MOS) capapcitor, Metal-Oxide-Semiconductor Field Effect Transistors(MOSFETs), CMOS, Metal-Semiconductor Field Effect Transistors(MESFETs), Memory and Bipolar Junction Transistor (BJT) to improve the overall knowledge of semiconductor industry.

Sep 21st 2026
5-12 Weeks
Palo Alto Networks Security Operations Fundamentals (Coursera) Coursera
Palo Alto Networks

Palo Alto Networks Security Operations Fundamentals (Coursera)

In this Security Operations Fundamentals course you will gain an understanding of Security Operations (SecOps) and the role it plays in protecting our digital way of life, for businesses and customers. You will focus on continuous improvement processes to collect high-fidelity intelligence, contextual data, and automated prevention workflows that quickly identify and respond to fast-evolving threats.

Aug 10th 2026
4 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.

Sep 28th 2026
5-12 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.

Sep 14th 2026
5-12 Weeks