VOOZH about

URL: https://www.coursera.org/learn/battery-state-of-charge

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


Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Battery State-of-Charge (SOC) Estimation

21,129 already enrolled

Included with

β€’

Learn more

Ask Coursera

Gain insight into a topic and learn the fundamentals.
4.7

254 reviews

Intermediate level
Some related experience required
Flexible schedule
3 weeks at 10 hours a week
Learn at your own pace
94%
Most learners liked this course

Gain insight into a topic and learn the fundamentals.
4.7

254 reviews

Intermediate level
Some related experience required
Flexible schedule
3 weeks at 10 hours a week
Learn at your own pace
94%
Most learners liked this course

What you'll learn

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

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

37 assignments

Taught in English

Build your subject-matter expertise

This course is part of the Algorithms for Battery Management Systems Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 7 modules in this course

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

In this course, you will learn how to implement different state-of-charge estimation methods and to evaluate their relative merits. 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 a sigma-point Kalman filter on lab-test data and evaluate results - Implement method to detect and discard faulty voltage-sensor measurements

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.

What's included

8 videos17 readings7 assignments1 discussion prompt1 ungraded lab

8 videosβ€’Total 120 minutes
  • 3.1.1: Welcome to the Course!β€’9 minutes
  • 3.1.2: What Is the Importance of a Good SOC Estimator?β€’8 minutes
  • 3.1.3: How Do We Define SOC Carefully?β€’17 minutes
  • 3.1.4: What Are Some Approaches to Estimating Battery Cell SOC?β€’26 minutes
  • 3.1.5: Understanding Uncertainty via Mean and Covarianceβ€’17 minutes
  • 3.1.6: Understanding Joint Uncertainty of Two Unknown Quantitiesβ€’16 minutes
  • 3.1.7: Understanding Time-Varying Uncertain Quantitiesβ€’23 minutes
  • 3.1.8: Summary of "The Importance of a Good SOC Estimator" and Next Stepsβ€’4 minutes
17 readingsβ€’Total 56 minutes
  • Course Updates and Accessibility Supportβ€’1 minute
  • Non-Credit Students: Welcome and Where to Find Helpβ€’10 minutes
  • Get help and meet other learners in this course. Join your discussion forums!β€’2 minutes
  • Notes for Lesson 3.1.1β€’1 minute
  • Frequently asked questionsβ€’5 minutes
  • Course Resourcesβ€’5 minutes
  • How to use Discussion Forumsβ€’5 minutes
  • Earn a course certificateβ€’5 minutes
  • Are you interested in earning an MSEE degree?β€’5 minutes
  • Notes for Lesson 3.1.2β€’1 minute
  • Notes for Lesson 3.1.3β€’1 minute
  • Notes for Lesson 3.1.4β€’1 minute
  • Introducing a New Element to the Course!β€’10 minutes
  • Notes for Lesson 3.1.5β€’1 minute
  • Notes for Lesson 3.1.6β€’1 minute
  • Notes for Lesson 3.1.7β€’1 minute
  • Notes for Lesson 3.1.8β€’1 minute
7 assignmentsβ€’Total 125 minutes
  • Quiz for Week 1 β€’40 minutes
  • Practice Quiz for Lesson 3.1.2 β€’10 minutes
  • Practice Quiz for Lesson 3.1.3 β€’10 minutes
  • Practice quiz for lesson 3.1.4 β€’10 minutes
  • Practice Quiz for Lesson 3.1.5 β€’15 minutes
  • Practice Quiz for Lesson 3.1.6β€’10 minutes
  • Practice Quiz for Lesson 3.1.7β€’30 minutes
1 discussion promptβ€’Total 10 minutes
  • Introduce Yourselfβ€’10 minutes
1 ungraded labβ€’Total 15 minutes
  • Notebook to run before attempting practice quizβ€’15 minutes

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.

What's included

6 videos6 readings6 assignments

6 videosβ€’Total 97 minutes
  • 3.2.1: Predict/correct mechanism of sequential probabilistic inferenceβ€’24 minutes
  • 3.2.2: The Kalman-filter gain factorβ€’24 minutes
  • 3.2.3: Summarizing the six steps of generic probabilistic inferenceβ€’9 minutes
  • 3.2.4: Deriving the three Kalman-filter prediction stepsβ€’22 minutes
  • 3.2.5: Deriving the three Kalman-filter correction stepsβ€’16 minutes
  • 3.2.6: Summary of "Introducing the linear KF as a state estimator" and next stepsβ€’2 minutes
6 readingsβ€’Total 6 minutes
  • Notes for lesson 3.2.1β€’1 minute
  • Notes for lesson 3.2.2β€’1 minute
  • Notes for lesson 3.2.3β€’1 minute
  • Notes for lesson 3.2.4β€’1 minute
  • Notes for lesson 3.2.5β€’1 minute
  • Notes for lesson 3.2.6β€’1 minute
6 assignmentsβ€’Total 82 minutes
  • Quiz for week 2β€’30 minutes
  • Practice quiz for lesson 3.2.1β€’12 minutes
  • Practice quiz for lesson 3.2.2β€’10 minutes
  • Practice quiz for lesson 3.2.3β€’10 minutes
  • Practice quiz for lesson 3.2.4β€’10 minutes
  • Practice quiz for lesson 3.2.5β€’10 minutes

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.

What's included

7 videos7 readings7 assignments2 ungraded labs

7 videosβ€’Total 86 minutes
  • 3.3.1: Visualizing the Kalman filter with a linearized cell modelβ€’21 minutes
  • 3.3.2: Introducing Octave code to generate correlated random numbersβ€’15 minutes
  • 3.3.3: Introducing Octave code to implement KF for linearized cell modelβ€’10 minutes
  • 3.3.4: How do we improve numeric robustness of Kalman filter?β€’11 minutes
  • 3.3.5: Can we automatically detect bad measurements with a Kalman filter?β€’14 minutes
  • 3.3.6: How do I initialize and tune a Kalman filter?β€’13 minutes
  • 3.3.7: Summary of "Coming to understand the linear KF" and next stepsβ€’3 minutes
7 readingsβ€’Total 7 minutes
  • Notes for lesson 3.3.1β€’1 minute
  • Notes for lesson 3.3.2β€’1 minute
  • Notes for lesson 3.3.3β€’1 minute
  • Notes for lesson 3.3.4β€’1 minute
  • Notes for lesson 3.3.5β€’1 minute
  • Notes for lesson 3.3.6β€’1 minute
  • Notes for lesson 3.3.7β€’1 minute
7 assignmentsβ€’Total 90 minutes
  • Quiz for week 3β€’30 minutes
  • Practice quiz for lesson 3.3.1β€’10 minutes
  • Practice quiz for lesson 3.3.2β€’10 minutes
  • Practice quiz for lesson 3.3.3β€’10 minutes
  • Practice quiz for lesson 3.3.4β€’10 minutes
  • Practice quiz for lesson 3.3.5β€’10 minutes
  • Practice quiz for lesson 3.3.6β€’10 minutes
2 ungraded labsβ€’Total 30 minutes
  • Generating correlated random vectorsβ€’15 minutes
  • Sample code implementing linear Kalman filterβ€’15 minutes

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.

What's included

8 videos8 readings7 assignments3 ungraded labs

8 videosβ€’Total 101 minutes
  • 3.4.1: Introducing nonlinear variations to Kalman filtersβ€’11 minutes
  • 3.4.2: Deriving the three extended-Kalman-filter prediction stepsβ€’15 minutes
  • 3.4.3: Deriving the three extended-Kalman-filter correction stepsβ€’6 minutes
  • 3.4.4: Introducing a simple EKF example, with Octave codeβ€’15 minutes
  • 3.4.5: Preparing to implement EKF on an ECMβ€’20 minutes
  • 3.4.6: Introducing Octave code to initialize and control EKF for SOC estimationβ€’14 minutes
  • 3.4.7: Introducing Octave code to update EKF for SOC estimationβ€’17 minutes
  • 3.4.8: Summary of "Cell SOC estimation using an EKF" and next stepsβ€’3 minutes
8 readingsβ€’Total 8 minutes
  • Notes for lesson 3.4.1β€’1 minute
  • Notes for lesson 3.4.2β€’1 minute
  • Notes for lesson 3.4.3β€’1 minute
  • Notes for lesson 3.4.4β€’1 minute
  • Notes for lesson 3.4.5β€’1 minute
  • Notes for lesson 3.4.6β€’1 minute
  • Notes for lesson 3.4.7β€’1 minute
  • Notes for lesson 3.4.8β€’1 minute
7 assignmentsβ€’Total 90 minutes
  • Quiz for week 4β€’30 minutes
  • Practice quiz for lesson 3.4.1β€’10 minutes
  • Practice quiz for lesson 3.4.2β€’10 minutes
  • Practice quiz for lesson 3.4.3β€’10 minutes
  • Practice quiz for lesson 3.4.4β€’10 minutes
  • Practice quiz for lesson 3.4.5β€’10 minutes
  • Practice quiz for lesson 3.4.7β€’10 minutes
3 ungraded labsβ€’Total 65 minutes
  • Simple EKF exampleβ€’20 minutes
  • Sample workspace for evaluating quiz answersβ€’15 minutes
  • Octave implementation of EKF to estimate SOCβ€’30 minutes

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.

What's included

7 videos7 readings6 assignments2 ungraded labs

7 videosβ€’Total 116 minutes
  • 3.5.1: Problems with EKF that are improved with sigma-point methodsβ€’12 minutes
  • 3.5.2: Approximating uncertain variables using sigma pointsβ€’31 minutes
  • 3.5.3: Deriving the six sigma-point-Kalman-filter stepsβ€’17 minutes
  • 3.5.4: Introducing a simple SPKF example with Octave codeβ€’20 minutes
  • 3.5.5: Introducing Octave code to initialize and control SPKF for SOC estimationβ€’10 minutes
  • 3.5.6: Introducing Octave code to update SPKF for SOC estimationβ€’19 minutes
  • 3.5.7: Summary of "Cell SOC estimation using a SPFK" and next stepsβ€’7 minutes
7 readingsβ€’Total 7 minutes
  • Notes for lesson 3.5.1β€’1 minute
  • Notes for lesson 3.5.2β€’1 minute
  • Notes for lesson 3.5.3β€’1 minute
  • Notes for lesson 3.5.4β€’1 minute
  • Notes for lesson 3.5.5β€’1 minute
  • Notes for lesson 3.5.6β€’1 minute
  • Notes for lesson 3.5.7β€’1 minute
6 assignmentsβ€’Total 100 minutes
  • Quiz for week 5β€’30 minutes
  • Practice quiz for lesson 3.5.1β€’10 minutes
  • Practice quiz for lesson 3.5.2β€’10 minutes
  • Practice quiz for lesson 3.5.3β€’10 minutes
  • Practice quiz for lesson 3.5.4β€’30 minutes
  • Practice quiz for lesson 3.5.6β€’10 minutes
2 ungraded labsβ€’Total 50 minutes
  • Simple SPKF exampleβ€’20 minutes
  • Octave implementation of SPKF to estimate SOCβ€’30 minutes

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.

What's included

5 videos6 readings4 assignments1 ungraded lab

5 videosβ€’Total 71 minutes
  • 3.6.1: Why do we need to be clever when estimating SOC for battery packs?β€’25 minutes
  • 3.6.2: Developing a "bar" filter using an ECMβ€’7 minutes
  • 3.6.3: Developing the "delta" filters using an ECMβ€’15 minutes
  • 3.6.4: Introducing "desktop validation" as a method for predicting performanceβ€’22 minutes
  • 3.6.5: Summary of "Improving computational efficiency using the bar-delta method" and next stepsβ€’2 minutes
6 readingsβ€’Total 15 minutes
  • New Coursera policy on Honors badgesβ€’10 minutes
  • Notes for lesson 3.6.1β€’1 minute
  • Notes for lesson 3.6.2β€’1 minute
  • Notes for lesson 3.6.3β€’1 minute
  • Notes for lesson 3.6.4β€’1 minute
  • Notes for lesson 3.6.5β€’1 minute
4 assignmentsβ€’Total 50 minutes
  • Quiz for lesson 3.6.1β€’15 minutes
  • Quiz for lesson 3.6.2β€’10 minutes
  • Quiz for lesson 3.6.3β€’10 minutes
  • Quiz for lessons 3.6.4 and 3.6.5β€’15 minutes
1 ungraded labβ€’Total 30 minutes
  • Octave implementation of a bar-delta filterβ€’30 minutes

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.

What's included

2 programming assignments2 ungraded labs

2 programming assignmentsβ€’Total 30 minutes
  • Part 1: Tuning an EKF for SOC estimationβ€’15 minutes
  • Part 2: Tuning an SPKF for SOC estimationβ€’15 minutes
2 ungraded labsβ€’Total 240 minutes
  • Jupyter notebook for capstone project, Part 1β€’120 minutes
  • Jupyter notebook for capstone project, Part 2β€’120 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Build toward a degree

This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.ΒΉ

Instructor

Instructor ratings
4.8 (83 ratings)
University of Colorado System
9 Coursesβ€’85,362 learners

Explore more from Electrical Engineering

Why people choose Coursera for their career

πŸ‘ Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
πŸ‘ Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
πŸ‘ Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
πŸ‘ Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

  • 5 stars

    79.92%

  • 4 stars

    16.92%

  • 3 stars

    1.96%

  • 2 stars

    0.39%

  • 1 star

    0.78%

Showing 3 of 254

AA
Β·

Reviewed on Nov 28, 2020

Sir Gregory plett is an excellent Professor Ever and thanks to Coursera for such valuable plateform.

SS
Β·

Reviewed on Sep 15, 2020

Great course!!! I got hands on experience with all types of kalman filter for battery state estimation.

RS
Β·

Reviewed on Feb 23, 2022

Useful to understand Kalman Filters and continue with the Battery Management System specialization.

Frequently asked questions

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,