Battery knowledge · State estimation

OCV–SOC curve

The characteristic relation between a cell’s open-circuit voltage and its state of charge, measured once at low current and stored in the BMS. A steep curve, as for NMC, makes SOC easy to read from voltage; LFP’s flat curve does not. [1]

Example

Voltage under load

5 A through 20 mΩ gives 0.1 V ohmic drop.

Chosen OCV curve; no chemistry calibration, hysteresis or voltage cutoff.

Explore the graph

Discharge current creates an ohmic drop below open-circuit voltage.

Illustrative OCV and loaded voltage
Illustrative OCV and loaded voltageSOC (%) versus Voltage (V). Open circuit; Under load. Interpretation follows the graphs.1.802.42253.05503.67754.3100SOC (%)Voltage (V)
Open circuitUnder load (dashed)

5 A through 20 mΩ gives 0.1 V ohmic drop.

V_terminal = OCV − I_discharge R

Illustrative model. Chosen OCV curve; no chemistry calibration, hysteresis or voltage cutoff.

Use in Lemonergy

Lemonergy Studio blocks

Cell-delta SOC EKF worked example

Estimates deviation from a supplied average. Average-error variance enters voltage uncertainty under an explicit independent-error assumption.

Blocks to use

  1. Cell-delta SOC EKF

    Estimates the target cell SOC deviation from a supplied pack average. The variable-resistance version accepts the target resistance as an input. Average-estimate variance enters the voltage uncertainty under an independent-error assumption.

    Inputs & settings
    • Use the parameter values in the block reference.
    • Bundled example verified on the production release of 28 October 2026.

This overview identifies the components to use. Follow the example in Lemonergy for their connections and settings.

  1. Review the block inputs, units and model limits.
  2. Open the Studio example and run its bundled model.
  3. Compare the output channels with the numerical checks; change one input and run again.

Example. Use the defaults below with Series current = 1 A, Measured cell voltage = 3.73 V, Average SOC = 0.8 1 (fraction), Average SOC variance = 0 1, Aligned measurements valid = 1 true / false, Reset = 0 true / false. At 0 s, SOC deviation from average is -0.01 1. Additional checks are listed below.

Observe. Inspect the outputs and numerical checks on the block reference page.

One-state extended Kalman observers, without an unscented transform, RC polarization states or automatic cell identification. SOE requires its own energy-fraction-to-OCV calibration. Synthetic filter settings are not accuracy guarantees. No jointly estimated correlated covariance between the average and the cell deviation. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.

Open Studio example →

Lemonergy Studio blocks

Cell-delta SOC EKF with resistance input worked example

Estimates deviation from a supplied average. Average-error variance enters voltage uncertainty under an explicit independent-error assumption.

Blocks to use

  1. Cell-delta SOC EKF with resistance input

    Estimates the target cell SOC deviation from a supplied pack average. The variable-resistance version accepts the target resistance as an input. Average-estimate variance enters the voltage uncertainty under an independent-error assumption.

    Inputs & settings
    • Use the parameter values in the block reference.
    • Bundled example verified on the production release of 28 October 2026.

This overview identifies the components to use. Follow the example in Lemonergy for their connections and settings.

  1. Review the block inputs, units and model limits.
  2. Open the Studio example and run its bundled model.
  3. Compare the output channels with the numerical checks; change one input and run again.

Example. Use the defaults below with Series current = 1 A, Measured cell voltage = 3.73 V, Average SOC = 0.8 1 (fraction), Average SOC variance = 0 1, Aligned measurements valid = 1 true / false, Reset = 0 true / false, Cell resistance (ohm) = 0.05 1. At 0 s, SOC deviation from average is -0.01 1. Additional checks are listed below.

Observe. Inspect the outputs and numerical checks on the block reference page.

One-state extended Kalman observers, without an unscented transform, RC polarization states or automatic cell identification. SOE requires its own energy-fraction-to-OCV calibration. Synthetic filter settings are not accuracy guarantees. No jointly estimated correlated covariance between the average and the cell deviation. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.

Open Studio example →

Lemonergy Studio blocks

Electrothermal ECM cell worked example

Causal current-to-voltage model with charge and thermal states. Conserving ports are not yet included.

Blocks to use

  1. Electrothermal ECM cell

    Accepts signed discharge current, ambient temperature and external heat. Charge balance drives SOC; an OCV table sets equilibrium voltage. The ECM adds two RC polarization states. Both variants include an ohmic loss and a lumped temperature state.

    Inputs & settings
    • Use the parameter values in the block reference.
    • Bundled example verified on the production release of 28 October 2026.

This overview identifies the components to use. Follow the example in Lemonergy for their connections and settings.

  1. Review the block inputs, units and model limits.
  2. Open the Studio example and run its bundled model.
  3. Compare the output channels with the numerical checks; change one input and run again.

Example. Use the defaults below with Signed cell current (discharge positive) = 2 A, Ambient temperature = 298.15 K, External heat flow = 0 W. At 0 s, Terminal voltage is 3.68 V. Additional checks are listed below.

Observe. Inspect the outputs and numerical checks on the block reference page.

The external interface is causal current-to-voltage, without conserving terminals. Parameters are constant except the one-dimensional SOC-to-OCV table. No hysteresis, aging, reversible entropic heat or automatic parameter identification. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.

Open Studio example →
All connected Lemonergy block references

References & further reading

Technical references

  1. Extended Kalman filtering for battery management systems of LiPB-based HEV battery packs: Part 2. Modeling and identification

    Gregory L. Plett · Journal of Power Sources · 2004

    Technical reference · Battery charge balance, open-circuit voltage, ohmic loss, polarization dynamics and model identification; parameters require cell-specific data.

Further reading on this topic

These sources provide broader context; they are not presented as citations for every statement in this entry.

  1. Extended Kalman filtering for battery management systems of LiPB-based HEV battery packs: Part 3. State and parameter estimation

    Gregory L. Plett · Journal of Power Sources · 2004

    Topic background · Model-based battery state-of-charge and parameter estimation with extended Kalman filtering, including uncertainty and model dependence.