Battery Systems

Lithium-Ion Battery Parameter Estimation

Electrochemical and thermal parameter calibration for health monitoring and charging optimization

Introduction

Lithium-ion batteries power electric vehicles, grid storage, and consumer electronics. Accurate state-of-charge (SOC) and state-of-health (SOH) estimation is critical for safety, performance optimization, and warranty prediction. Battery management systems (BMS) rely on models to predict voltage, current, and temperature under dynamic drive or charge cycles.

The key challenge: battery behavior is governed by coupled electrochemical and thermal processes with parameters that drift over time due to aging. How do we estimate diffusion coefficients, internal resistance, effective capacity, and degradation rates from terminal voltage, current, and surface temperature measurements?

Why this matters: Accurate parameter estimation enables predictive maintenance (avoiding thermal runaway), optimized fast-charging protocols (minimizing lithium plating), and residual-value assessment for second-life applications. Poor estimation leads to range anxiety, premature capacity fade, and safety incidents.

Electrochemical Science

A lithium-ion cell consists of three regions: negative electrode (graphite anode), separator, and positive electrode (lithium metal oxide cathode). During discharge:

Mathematical Model: Single-Particle Model with Thermal Coupling

We use a reduced-order single-particle model (SPM) that balances accuracy and computational efficiency for BMS implementation:

States: $$\begin{aligned} c_{s,\text{avg,neg}} &= \text{avg. Li concentration in anode [mol/m}^3\text{]} \\ c_{s,\text{avg,pos}} &= \text{avg. Li concentration in cathode [mol/m}^3\text{]} \\ T &= \text{cell temperature [K]} \\ Q_{\text{loss}} &= \text{irreversible capacity loss [Ah]} \end{aligned}$$ ODEs: $$\begin{aligned} \frac{dc_{s,\text{avg,neg}}}{dt} &= -\frac{3I}{F \cdot A_{s,\text{neg}} \cdot L_{s,\text{neg}} \cdot c_{s,\max,\text{neg}}} \\ \frac{dc_{s,\text{avg,pos}}}{dt} &= +\frac{3I}{F \cdot A_{s,\text{pos}} \cdot L_{s,\text{pos}} \cdot c_{s,\max,\text{pos}}} \\ \frac{dT}{dt} &= \frac{Q_{\text{gen}} - Q_{\text{loss,heat}}}{m \cdot C_p} \\ \frac{dQ_{\text{loss}}}{dt} &= k_{\text{deg}} \cdot |I| \cdot \exp\left(-\frac{E_{a,\text{deg}}}{RT}\right) \end{aligned}$$ Algebraic (terminal voltage): $$\begin{aligned} V &= \text{OCV}_{\text{pos}}(\text{SOC}_{\text{pos}}) - \text{OCV}_{\text{neg}}(\text{SOC}_{\text{neg}}) - I \cdot R_{\text{total}} - \eta_{\text{act}} \\[0.5em] \eta_{\text{act}} &= \frac{RT}{F} \cdot \sinh^{-1}\left(\frac{I}{2 i_0 A_s}\right) \quad \text{[Butler-Volmer overpotential]} \\[0.5em] \text{SOC}_{\text{neg}} &= \frac{c_{s,\text{avg,neg}}}{c_{s,\max,\text{neg}}} \\[0.5em] \text{SOC}_{\text{pos}} &= \frac{c_{s,\text{avg,pos}}}{c_{s,\max,\text{pos}}} \\[0.5em] R_{\text{total}} &= R_{\text{ohm}} + R_{\text{sei}} + R_{\text{ct}} \quad \text{[ohmic + SEI + charge transfer]} \end{aligned}$$ Heat generation: $$\begin{aligned} Q_{\text{gen}} &= I \cdot (\text{OCV} - V) + I \cdot T \cdot \frac{d\text{OCV}}{dT} \quad \text{[Joule + entropic heat]} \\ Q_{\text{loss,heat}} &= h \cdot A_{\text{surf}} \cdot (T - T_{\text{amb}}) \quad \text{[convective cooling]} \end{aligned}$$

Unknown Parameters (10 total)

Parameter Description Units Typical Range
Ds_neg, Ds_posSolid-phase diffusion coefficientsm²/s10⁻¹⁴ – 10⁻¹²
R_ohmOhmic resistanceΩ0.01 – 0.05
R_seiSEI layer resistance (grows with age)Ω0.005 – 0.03
i0_neg, i0_posExchange current densitiesA/m²10 – 100
Q_nomNominal capacity (degrades with cycles)Ah2 – 100
k_degCapacity fade rate constant1/s10⁻⁹ – 10⁻⁷
hConvective heat transfer coefficientW/m²/K5 – 50
SOC_0Initial state of charge0 – 1

Parameter Estimation Challenge

Given measurements from a battery test stand or vehicle:

Estimate the 10 unknown parameters to minimize voltage prediction error:

Minimize: $$J(\theta) = \sum_{t} \left[ (V_{\text{meas}}(t) - V_{\text{model}}(t; \theta))^2 \right] + \lambda \cdot ||\theta - \theta_{\text{prior}}||^2$$ Where: $$\begin{aligned} \theta &= [D_{s,\text{neg}}, D_{s,\text{pos}}, R_{\text{ohm}}, R_{\text{sei}}, i_{0,\text{neg}}, i_{0,\text{pos}}, Q_{\text{nom}}, k_{\text{deg}}, h, \text{SOC}_0] \\ V_{\text{model}}(t; \theta) &= \text{terminal voltage from SPM integration} \\ \lambda &= \text{regularization weight (Tikhonov to prevent overfitting)} \\ \theta_{\text{prior}} &= \text{manufacturer datasheet values or previous estimates} \end{aligned}$$
Identifiability challenge: Voltage alone cannot uniquely distinguish all parameters. For example, increased R_ohm and decreased Q_nom both reduce voltage under load. Multi-rate experiments (C/10, C/2, 1C, 2C) and rest periods are essential for identifiability.

Simulation Design

Generate synthetic drive/charge cycles for calibration:

  1. Urban Dynamometer Driving Schedule (UDDS): Realistic EV current profile with frequent acceleration/braking
  2. Constant-current constant-voltage (CCCV) charging: 1C charge to 4.2V, then hold until taper current
  3. Pulse tests: 10-second discharge pulses at multiple C-rates with 30-second rests
  4. Temperature sweep: Repeat at 5°C, 25°C, 45°C to capture thermal effects
  5. Aging simulation: Increment cycle counter and apply capacity/resistance degradation models

Add realistic measurement noise: ±5 mV voltage noise, ±0.5°C temperature noise, ±0.1% current sensor error.

Estimation Methods

1. Batch Least Squares with Adjoint Gradients

For offline parameter estimation from complete drive cycles:

2. Extended Kalman Filter (EKF)

For online SOC/SOH estimation in BMS:

$$\begin{aligned} \text{Augmented state: } & x = [c_{s,\text{avg,neg}}, c_{s,\text{avg,pos}}, T, Q_{\text{nom}}, R_{\text{sei}}, \text{SOC}_0] \\ \text{Measurement: } & y = [V, T] \\[1em] \text{Prediction: } & \hat{x}_{k+1|k} = f(\hat{x}_{k|k}, I_k, \Delta t) \\ \text{Linearization: } & F_k = \left.\frac{\partial f}{\partial x}\right|_{\hat{x}_{k|k}} \\ \text{Covariance: } & P_{k+1|k} = F_k P_{k|k} F_k^T + Q \\[1em] \text{Update: } & K_k = P_{k|k-1} H^T (H P_{k|k-1} H^T + R)^{-1} \\ & \hat{x}_{k|k} = \hat{x}_{k|k-1} + K_k (y_k - h(\hat{x}_{k|k-1})) \\[1em] H &= \frac{\partial V}{\partial x} \quad \text{[voltage sensitivity to states/parameters]} \end{aligned}$$

3. Unscented Kalman Filter (UKF)

Recommended for SPM due to strong nonlinearity in Butler-Volmer kinetics. Sigma-point transform avoids linearization errors, improving SOC accuracy from ±5% (EKF) to ±2% (UKF).

4. Particle Filter

For multi-modal distributions (e.g., unknown initial SOC) or non-Gaussian noise (e.g., sensor faults). Uses Monte Carlo sampling to represent posterior distribution p(x | y_1:t).

Identifiability and Observability

Key insights from sensitivity analysis:

Identifiability conditions:

Experiment design recommendation: Perform weekly "characterization cycles" with controlled current profiles (pulse tests + CCCV charge + rest) to maintain parameter observability during normal vehicle operation.

Validation Strategy

Validation Test Method Acceptance Criterion
Voltage prediction Hold-out test cycle (unseen drive profile) RMSE < 20 mV
SOC estimation Compare EKF SOC to coulomb-counting reference |Error| < 2%
Temperature prediction Thermal model validation at 3 ambient temps RMSE < 2°C
Capacity tracking Compare Q_nom estimate to periodic capacity check |Error| < 3%
Long-term drift Monitor EKF covariance for 6 months No covariance divergence

Operational Impact

Accurate parameter estimation enables:

Case study: A fleet operator implemented UKF-based SOH estimation and reduced premature pack replacements by 40%, saving $3M annually across 5000 vehicles. The improved SOC accuracy also reduced "false low-battery" warnings by 70%, improving driver satisfaction.

Try ProcessLM

ProcessLM simplifies battery model calibration: describe your cell chemistry and test profile in plain language, and it generates the SPM model, runs parameter estimation across multiple cycles, and produces SOH tracking dashboards—no MATLAB Battery Toolbox required.

Request Early Access