Real-Time Implementation of an Extended Kalman Filter and a PI Observer for State Estimation of Rechargeable Li-Ion Batteries in Hybrid Electric Vehicle Applications—A Case Study
Bibliographic record
Abstract
The Li-Ion battery state-of-charge estimation is an essential task in a continuous dynamic automotive industry for large-scale and successful marketing of hybrid electric vehicles. Also, the state-of-charge of any rechargeable battery, regardless of its chemistry, is an essential condition parameter for battery management systems of hybrid electric vehicles. In this study, we share from our accumulated experience in the control system applications field some preliminary results, especially in modeling, control and state estimation techniques. We investigate the design and effectiveness of two state-of-charge estimators, namely an extended Kalman filter and a proportional integral observer, implemented in a real-time MATLAB environment for a particular Li-Ion battery. Definitely, the aim of this work is to find the most suitable estimator in terms of estimation accuracy and robustness to changes in initial conditions (i.e., the initial guess value of battery state-of-charge) and changes in process and measurement noise levels. By a rigorous performance analysis of MATLAB simulation results, the potential estimator choice is revealed. The performance comparison can be done visually on similar graphs if the information gathered provides a good insight, otherwise, it can be done statistically based on the calculus of statistic errors, in terms of root mean square error, mean absolute error and mean square error.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.001 | 0.002 |
| Meta-epidemiology (narrow) | 0.001 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.000 |
| Bibliometrics | 0.000 | 0.000 |
| Science and technology studies | 0.000 | 0.000 |
| Scholarly communication | 0.001 | 0.001 |
| Open science | 0.001 | 0.000 |
| Research integrity | 0.001 | 0.001 |
| Insufficient payload (model declined to judge) | 0.002 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".