Case Study / Energy Storage & BMS

OCV–SOC Battery Modelling for EV State-of-Charge Estimation

A MATLAB/Simulink battery framework that maps open-circuit voltage to state of charge, then drives the pack with real EPA velocity schedules to quantify current demand, SOC depletion, energy consumption and achievable range across two cell formats.

  • MATLAB
  • Simulink
  • OCV–SOC Mapping
  • EV Drive Cycles
  • Battery Modelling
Peak power
≈80 kW
Drive cycles
UDDS · US06
Packs compared
2170 / 4680
Start SOC
80 %
View repository on GitHub ↗

02 / Method

Modelling workflow

From road-load physics to a coulomb-counted SOC trace validated against the OCV–SOC curve.

  1. 01 — Road-load demand

    Vehicle power P(t) is assembled from grade, rolling resistance, aerodynamic drag and inertia terms evaluated against the EPA velocity trace at 1 Hz.

    P = (m·g·sinθ + cr·m·g·cosθ + ½ρ·cd·Af·v² + m·a)·v
  2. 02 — Pack current

    Demand is divided by the series pack voltage to obtain instantaneous pack current, the input to both the OCV–SOC lookup and coulomb counting.

    I = P / (S · Vcell)
  3. 03 — SOC estimation

    SOC is integrated from the pack current and cross-checked against the OCV–SOC characterisation so terminal voltage and estimated charge stay consistent.

    s(t) = s₀ − (1/Qpack)·∫I dt / 3600

03 / Parameters

Vehicle & pack parameters

Two cell formats sized to near-identical vehicle mass so the comparison isolates chemistry and packaging.

Vehicle dynamics
Glider mass1300 kgVehicle without pack
Rolling resistance cr0.013Constant, level road (θ = 0°)
Frontal area Af2.65 m²Aerodynamic drag term
Drag coefficient cd0.23Air density ρ = 1.2 kg/m³
Drivetrain efficiency η0.80Applied to both traction and regen
Auxiliary factor ca0.12Accessory / thermal overhead
Initial SOC s₀0.80Coulomb counting start point
Battery pack configurations
ParameterTesla 2170Tesla 4680
Configuration96S 46P92S 9P
Cell voltage3.65 V3.6 V
Cell capacity4.6 Ah22 Ah
Pack voltage350.4 V331.2 V
Pack capacity211.6 Ah198.0 Ah
Pack energy74.1 kWh65.6 kWh
Pack weight68.6 kg358 kg
Vehicle total1590 kg1596 kg

04 / Results

Drive-cycle simulation gallery

Switch cycle and pack to compare duty-cycle power, pack current and SOC depletion computed from the same road-load model.

Velocity trace — UDDS — urban

  • v(t) (m/s)
0.010.020.030.040.00.00342.25684.501026.751369.00Time (s)Velocity (m/s)
1369 s schedule sampled at 1 Hz and converted from mph to m/s before differentiation for acceleration.

Duty-cycle power — Tesla 2170

  • P(t) (kW)
-60.0-20.020.060.01000.00342.25684.501026.751369.0037 kW peakTime (s)Power (kW)
Traction demand peaks at 37 kW; negative excursions are regenerative braking energy recovered at 80% efficiency.

Pack current — Tesla 2170

  • I(t) (A)
-200-75.050.01753000.00342.25684.501026.751369.00Time (s)Current (A)
Pack current follows power divided by the 350.4 V string, peaking near 106 A during hard acceleration.

State of charge — Tesla 2170

  • SOC (fraction)
0.60.70.70.80.80.00342.25684.501026.751369.00Time (s)SOC
Coulomb-counted SOC falls from 0.80 to 0.795 over the cycle, giving 461 Wh/km and an estimated 161 km range.
MATLAB figure for Tesla 2170 on UDDS: duty cycle power, pack current and SOC versus time
Original MATLAB figure — Tesla 2170 · UDDS. Reported range for this pair: 325.2132 km.
UDDS — urban — pack comparison
PackPack energyPeak powerPeak currentFinal SOCConsumptionEst. rangeMATLAB range
Tesla 217074.1 kWh37 kW106 A0.795461 Wh/km161 km325.2132 km
Tesla 468065.6 kWh37 kW113 A0.794463 Wh/km142 km286.5945 km

05 / Findings

Key takeaways

What the study established about SOC estimation and pack sizing for electric vehicles.

  • OCV–SOC characterisation

    Mapping open-circuit voltage to state of charge anchors the coulomb-counting integrator, keeping the estimate from drifting as current is integrated across a full cycle.

  • Drive-cycle sensitivity

    US06 highway driving pushes traction demand to roughly 80 kW and depletes charge far faster than urban UDDS operation, where regenerative braking recovers a meaningful share of the energy.

  • Pack design trade-offs

    The 96S46P 2170 and 92S9P 4680 packs land at near-identical vehicle mass but differ in usable energy and current loading, directly shifting Wh/km and achievable range.