Kalman Filtering for Li-ion SOC Estimation
Welcome back! Part 5
Quick Recap?:
We have discussed on the basic fundamentals of SOC estimation ( Voltage based and Coulomb counting) and we also understood its not enough for accuracy level required for the applications. There are methods to improve the accuracy of SOC estimation, one of the method is Kalman Filtering.
What is Kalman Filter?
Kalman Filtering is an optimal estimator algorithm in control system terms, mathematically a linear quadratic estimator. It a recursive filter estimates the internal state of a linear dynamic system with noisy measurement data.
HEY HOLD ON! Its boring right! yes it is.
But if we get it to the fundamentals, we can see the beauty of its concept and its intuitiveness.
Surprisingly this filtering is not a new to us as humans, In day to day life we make a similar(some cases exactly) filtering in our decision making progress.
So, before we go discuss anything about the filter design or its state equation or robustness or its use-case for SOC estimation, We are going to few upcoming articles which will be helping us understand better the fundamentals of this filter.
For example, we have given with following set of cases, where we will be given with different vehicle speed data measured thru speed sensor for each case.
Case 1:
Below is the vehicle data ( vehicle speed vs time), Do we see anything interesting?
Psst! Its easy, around 150s we lost a data or having a incorrect (0 kmph) data.
The fundamental reasoning, is that vehicle can’t be going to 0 kmph(from 110kmph) for one second and come back( to 108kmph)
Great!
But we still don’t know what type of vehicle and its power capability. Do you still think our reasoning is okay, if its a bus or truck or sports car or F1 race car or even world fastest car?
Now we may have to do some math, to reassure our reasoning.
In our data, lets assume no miss of data and 0 kmph is a valid signal, then the acceleration of 0 to 110kmph in less than a second.
The fastest car today, Dodge Challenger SRT Demon 170, takes 1.66 seconds to reach ( 0–96kmph). Insane right.
Even a fastest car can't match the acceleration in the data.
Hence proved, this must be loss of data.
Case 2 :
Now we got a new set of data from same vehicle as below, lets see if there is an observation with the data.
Around 150s, there is 0 kmph for 10 seconds, now we know this is miss of data(i.e., still 0–110 kmph happen in a second).
But what to do with this missing data? Shall we skip delete the data, simplest of all. In some cases, yes its okay to skip or delete data. But in most cases we cant skip or just delete the data, as its crucial part of data or there are many instances of similar loss due to measurement limitation or noise.
Problem Statement : We have estimate the missing data as close to actual value possible? there are multiple possibilities, of vehicle speed say as below,
领英推荐
Let say we come up with two possible estimates( it can be many ) for missed vehicle speed data during 150–160s.
Estimate 1 : say filtered estimate of vehicle speed stays near the 110 kmph. (blue line)
Estimate 2: say filtered estimate of vehicle speed goes to 0 kmph and comes back to 110 kmph. (red line)
My intuition says blue( estimate 1) seems to be practical one. But now we have missing data for 10s, we can’t surely say the vehicle speed didn’t go to 0 kmph and came back to 110 kmph.
A typical mid range sedanor entry luxury vehicle (say BMW 2-series gran coupe) can achieve the 110 to 0 and back 110 in 10 seconds.
Now, we cant decide without knowing more about the vehicle.
Lets reveal one more data of the vehicle, its a mid size sedan with very low power capacity of 50kW (~ 67hp).
110 to 0 kmph and back 110 kmph is not possible with this vehicle power (67hp) and body type practically.
So, we can take the estimate 1(blue line) as best one and estimate 2 is not possible with this vehicle specifications.
Case 3:
Now let say we have third estimate (Yellow) from different filter as below.
Zooming to area of concern
Now we can’t surely say blue( estimate 1) or yellow (estimate 3).
In estimate 1 : vehicle speed is reducing or coasting but speed never increased.
In estimate 3 : vehicle speed is increasing for 3–4 seconds (150–154s) and then reducing quickly.
Now only by knowing user accelerator pedal and brake pedal input we can determine which is correct estimation.
Key take away : While estimating the missing (or incorrect or noisy) data, more the information we have about the system( here the vehicle), better we are at the estimation.
In the control system terms the system for which we are trying to estimate is also called as the plant. So we know more about the plant, we can model this better and can estimate better.
In Kalman Filtering, plant( battery system) modeling is a key aspect, for optimal estimation of the State of Charge (SOC).
We will further see fundamentals on critical aspects of kalman filtering in upcoming articles, before deep dive into its application in SOC estimation.
Stay Tuned!
Pls feel free to share to your colleagues, friends who might find this article useful.
HILs | XiL Testing | dSpace | Vector | MATLAB - MBD, Plant Model Development | PHEV | Power-Train | BMS | ADAS | an ex-TCS'er
1 年A Good Read!! Waiting for the next one
Assistant System Engineer at Tata Consultancy Services
1 年Good article. Waiting for the next one