SOC EKF 深度 — 状态方程 / OCV 模型 / 调参 / 收敛性
本质与导读
本质 Coulomb counting 会累积电流采样误差、OCV 法准却需静置 30+ min,EKF (Extended Kalman Filter) 把两者融合——Coulomb 沿时间积分预测、V_terminal 经 OCV 模型反向校正——在动态工况下做到 ±1-2% SOC。但 LFP 的 OCV 平台坡度比 NCM 低 5×,EKF 在 30-70% SOC 几乎瞎走,必须叠加 OCV 校准 + 多模型 fallback + plausibility check。
主线坐标:第 2 站 · BMS · ↑ 全景主线
1. EKF 双闭环
EKF 在 BMS 中每 100ms 跑一次,核心是两个步骤交替:Predict 用动力学模型 + 当前电流积分,把状态推到下一时刻;Update 用端电压量测反向修正预测,得到下一步初值。这种交替让动态条件下的估计能从测量误差中收敛,同时避免静态 OCV 法只能离线的局限。
2. 状态向量与系统方程
2.1 为什么 3 阶
最常用是 3 阶状态向量:
其中 是两个 RC 极化电压,代表 Li-ion 电极极化 (Activation polarization) + 浓差极化 (Concentration polarization) 的两个时间尺度:
- 10s — fast (双电层 + Faradaic)
- 1000s — slow (浓差 + SEI)
2 阶简化 (只 1 个 RC) 在低动态够用;4 阶在大功率快充 / 弱化锂电池 (老化) 时更准。EV BMS 99% 用 3 阶。
2.2 状态方程
状态方程把"当前 SOC + 极化电压" 一步推到下一时刻 — SOC 用 Coulomb 积分,RC 极化电压用 RC 衰减 + 当前电流激励叠加,这两项后面构成 Predict 步骤的核心:
参数:
- :库仑效率 (放电 1.0,充电 0.98)
- :额定容量 (Ah)
- 和 :实验拟合,SOC + 温度依赖
2.3 量测方程
量测方程把状态映射成端电压 — 它由开路电压 + 欧姆压降 + 两个极化电压组成。这是 Update 步骤的核心,OCV(SOC) 是非线性项,它在 LFP 平台区斜率 → 0 直接决定 EKF 是否能锁住:
是欧姆内阻 (典型 1-5 mΩ / cell),OCV 是查表函数,温度修正:同 SOC 不同温度 OCV 偏 ±10-30 mV。
3. OCV-SOC 查表 + 温度补偿
OCV (Open Circuit Voltage) 是 EKF 量测方程的核心 — 准 OCV 表准 SOC。
实验测法:
- 离线测试 25℃ 标定 OCV(SOC) 表(典型 21 点,0% → 100% SOC,每 5%)
- 充放电倍率 < C/20 → 平衡后端电压 = OCV
- -20℃ / 0℃ / 25℃ / 45℃ / 60℃ 测 5 个温度 → 二维表
温度修正:
在 SOC 0-100% 间是非线性的 (-1 to +1 mV/℃)。
3.1 LFP 平台坡度问题
NCM 的 OCV-SOC 曲线斜率 1-2 mV / %SOC,EKF 可以从 V_terminal 反推 SOC 误差 < 1%。
LFP 在 30-70% SOC 区间OCV 平台:
- 斜率 < 0.1 mV / %SOC
- ADC 量化噪声 (12-bit @ 5V → 1.2 mV)就够把 SOC 估计漂 ±20%!
LFP 工程对策:
- 充满 + 静置 30+ min 强制 OCV 重置(每周至少 1 次)
- 多模型 fallback:EKF + Coulomb + DVA (Differential Voltage Analysis)
- 提高 ADC 精度到 16-bit + 限制 EKF 在平台区"信任电流积分"(R 调大)
4. EKF 算法步骤
4.1 Predict
Predict 步骤把上一时刻的最佳估计 用状态方程推到当前先验 ,同时把不确定性 P 沿模型方向膨胀(加过程噪声 Q):
是状态雅各比 。
4.2 Update
Update 用端电压量测 校正先验 — 计算量测残差 ,通过 Kalman 增益 把残差按 "model 不确定 / 测量不确定" 比例分配回状态,得到后验:
是量测雅各比 ,关键在 → LFP 平台区 H 几乎 = 0 → K 几乎 = 0 → EKF "失效"。
4.3 计算量
3 阶 EKF / 100ms / 96 cell pack: ~1000 次浮点乘法 / cell / 周期 → 总 100k flop/cycle → MCU 主流 @ 100 MHz 占 1-2% CPU。实战瓶颈不在算力,在调参。
5. Q / R 调参 — 决定 EKF 性格
5.1 Q (Process Noise)
是 3×3 对角矩阵,代表"我对 model 的不信任程度":
- (SOC 过程噪声) — 大 → EKF 相信电压量测多,反应快
- (RC 过程噪声) — 通常 < Q[0,0]
5.2 R (Measurement Noise)
是标量(单量测),代表"我对端电压量测的不信任程度":
- 大 → 不信电压 → 偏向 Coulomb counting
- 小 → 信电压 → 偏向 OCV 查表
5.3 工程调参
实战经验:
- 初值 ,
- 高动态(加速 / 制动)时临时增大 → 加快响应
- LFP 平台区临时增大 → 切换到 Coulomb 主导
- 充满 + 静置 → 减小 → 拉回 OCV 锚定
自适应 EKF (AEKF) 实时调 Q / R,Tesla 在用,代价复杂度 + 测试覆盖率涨。
6. EKF 不收敛的 4 种原因
EKF 不收敛是 BMS 工程师反复 debug 的痛点。下表是 4 个真实碰到的根因 + 修法:
| 不收敛现象 | 物理根因 | 修法 |
|---|---|---|
| SOC 卡在初值 | 太小,K 收不到误差 | 增大 10× |
| SOC 大幅振荡 | 太大 + ADC 噪声 | 减小 ,加 ADC 滤波 |
| LFP 平台区漂 | OCV 斜率 → 0 | 切 Coulomb / DVA fallback |
| 大电流误差不收 | 没 SOC 修正 | 也建二维表 |
7. 安全边界 — plausibility check
EKF 输出不是 BMS 最终 SOC — BMS 还要做 plausibility 检查:
- Coulomb 积分独立追踪 SOC_C,与 EKF 输出 SOC_K 比较
- |SOC_C - SOC_K| > 10% → 阈值告警
- |SOC_C - SOC_K| > 20% → 强制限功率 + 报 DTC
- 充满静置 OCV 后两路同步重置
这种双轨 + 偏离阈值 是功能安全 SG-V+ / V- 的必要条件 — 单一 EKF 输出永远不能直接驱安全态。
8. EKF vs 其它方法
EKF 不是唯一 SOC 方法,实际工程中主流 BMS 都用 EKF + 其它方法 ensemble:
- Coulomb Counting — 简单,短期准,长期累积误差,辅助轨
- OCV-look-up — 静置准,运行无用
- EKF — 动态稳态 ±1-2%,主流主轨
- UKF (Unscented KF) — EKF 非线性近似,稍准但复杂
- Sliding Mode Observer — 鲁棒性好,过冲
- Neural Network / RL — Tesla / 比亚迪研究,需大量训练数据 + 在线学习风险
EV BMS 主流:EKF (主) + Coulomb (验证) + OCV (重置) 三轨融合。
9. 5 个常见陷阱
EKF 失效在 BMS 实战里多数不是数学问题,而是输入数据 + 调参 + fallback 缺失。下表汇总工程师反复踩的 5 个坑 + 预防:
| 陷阱 | 描述 | 预防 |
|---|---|---|
| OCV 表只测 25℃ | 低温 / 高温偏差 ±10% | 5+ 温度二维表 |
| LFP 用纯 EKF | 平台区漂 ±20% | 加 DVA / 重置策略 |
| 用常数 | 温度 / SOC 变化 → 输出偏 | (SOC, T) 二维表 |
| Q / R 调一次永不改 | 高动态 / 老化 → 退化 | AEKF 自适应 |
| EKF 输出直驱安全态 | 单点失效 | plausibility check 双轨 |
核心要点
- EKF = Coulomb (model) + OCV (measurement) 双信源融合 — 动态稳态 ±1-2%。
- 状态向量 3 阶 (SOC + 2 RC 极化) 是主流, + 。
- OCV-SOC 查表必带温度修正 + R0(SOC, T) 二维表。
- LFP 平台区是 EKF 命门(OCV 斜率 → 0),必加 DVA / Coulomb fallback。
- Q / R 调参决定 EKF "性格" — 大 Q 信电压 / 大 R 信电流;自适应 AEKF 动态切。
- 不收敛 4 种工程根因:Q 太小 / Q 太大 / LFP 平台 / R0 没 SOC 修正。
- EKF 不能直驱安全态 — 必须 plausibility check + Coulomb 双轨。
- 主流 BMS 主轨 EKF + 辅 Coulomb + 校 OCV,三轨融合是工程实战标准。
缩写表
只列本页用到的工业标准缩写;通用英语…
只列本页用到的工业标准缩写;通用英语 / 单位 / 月份 / 我们的
层/Lxtag 不列。覆盖不到的术语见正文 inline 注释。
| 缩写 | 全称 | 中文 / 备注 |
|---|---|---|
| BMS | Battery Management System | 电池管理系统 |
| EV | Electric Vehicle | 电动车 |
| ADC | Analog-to-Digital Converter | 模数转换器 |
| MCU | Microcontroller Unit | 微控制器(本页多指车规多核 MCU) |
| DTC | Diagnostic Trouble Code | 诊断故障码(ISO 14229 / SAE J2012) |
| SG | Safety Goal | 安全目标(ISO 26262-3) |
Cross-references
- ← 索引
- SOC 估算总览 — 上位 hub
- BMS overview
- BMS 功能安全 — plausibility check 在 SG 中的角色
- Cell balancing
- OCV / DVA / ICA