文章目录
📌一、全文前置统一定义(所有算法共用)
1.电池二阶RC ECM模型状态定义
状态向量(三维固定:SOC+快慢极化电压):
x
=
[
S
O
C
U
1
U
2
]
T
\boldsymbol{x}=\begin{bmatrix}SOC & U_1 & U_2\end{bmatrix}^T
x=[SOCU1U2]T
- S O C SOC SOC:电池荷电状态,核心估算量
- U 1 U_1 U1:快速活化极化电压
- U 2 U_2 U2:慢速浓差极化电压
外部输入:充放电采样电流 I I I;观测值:电芯电压传感器实测电压 U m e a s U_{meas} Umeas
2.全局噪声假设
过程噪声:
w
∼
N
(
0
,
Q
)
\boldsymbol{w}\sim N(0,\boldsymbol{Q})
w∼N(0,Q) 模型拟合高斯噪声
观测噪声:
v
∼
N
(
0
,
R
)
v\sim N(0,R)
v∼N(0,R) 电压采样高斯噪声
通用迭代固定架构:时间预测Predict → 观测更新Update
二、标准卡尔曼滤波 KF(Linear Kalman Filter)
1.适用硬性前提
系统完全线性、噪声零均值高斯分布;电池领域不可直接使用,核心原因:锂电池OCV-SOC曲线天生非线性。
2.线性系统标准方程
状态方程:
x
k
=
A
x
k
−
1
+
B
u
k
−
1
+
w
k
−
1
\boldsymbol{x}_k=\boldsymbol{A}\boldsymbol{x}_{k-1}+\boldsymbol{B}u_{k-1}+\boldsymbol{w}_{k-1}
xk=Axk−1+Buk−1+wk−1
观测方程:
z
k
=
H
x
k
+
v
k
\boldsymbol{z}_k=\boldsymbol{H}\boldsymbol{x}_k+v_k
zk=Hxk+vk
3.KF标准五步迭代公式
✅步骤1:状态先验预测
x
^
k
∣
k
−
1
=
A
x
^
k
−
1
∣
k
−
1
+
B
u
k
−
1
\hat{\boldsymbol{x}}_{k|k-1}=\boldsymbol{A}\hat{\boldsymbol{x}}_{k-1|k-1}+\boldsymbol{B}u_{k-1}
x^k∣k−1=Ax^k−1∣k−1+Buk−1
✅步骤2:协方差先验预测
P
k
∣
k
−
1
=
A
P
k
−
1
A
T
+
Q
\boldsymbol{P}_{k|k-1}=\boldsymbol{A}\boldsymbol{P}_{k-1}\boldsymbol{A}^T+\boldsymbol{Q}
Pk∣k−1=APk−1AT+Q
✅步骤3:计算卡尔曼增益(平衡模型/传感器权重)
K
k
=
P
k
∣
k
−
1
H
T
(
H
P
k
∣
k
−
1
H
T
+
R
)
−
1
\boldsymbol{K}_k=\boldsymbol{P}_{k|k-1}\boldsymbol{H}^T(\boldsymbol{H}\boldsymbol{P}_{k|k-1}\boldsymbol{H}^T+R)^{-1}
Kk=Pk∣k−1HT(HPk∣k−1HT+R)−1
✅步骤4:后验状态修正
x
^
k
∣
k
=
x
^
k
∣
k
−
1
+
K
k
(
z
k
−
H
x
^
k
∣
k
−
1
)
\hat{\boldsymbol{x}}_{k|k}=\hat{\boldsymbol{x}}_{k|k-1}+\boldsymbol{K}_k(\boldsymbol{z}_k-\boldsymbol{H}\hat{\boldsymbol{x}}_{k|k-1})
x^k∣k=x^k∣k−1+Kk(zk−Hx^k∣k−1)
✅步骤5:后验协方差更新
P
k
∣
k
=
(
I
−
K
k
H
)
P
k
∣
k
−
1
\boldsymbol{P}_{k|k}=(\boldsymbol{I}-\boldsymbol{K}_k\boldsymbol{H})\boldsymbol{P}_{k|k-1}
Pk∣k=(I−KkH)Pk∣k−1
4.优缺点总结
✅优点:计算量极小、代码极简、嵌入式MCU零算力压力、线性场景估计最优
❌缺点:仅适配纯线性系统,完全无法适配锂电池SOC估算
5.落地适用场景
匀速惯性导航、模拟量线性降噪、简易工控采样;BMS行业直接跳过。
三、扩展卡尔曼滤波 EKF(Extended Kalman Filter)
1.核心原理
针对非线性电池系统,对状态函数 f ( x ) f(x) f(x)、观测函数 h ( x ) h(x) h(x)做一阶泰勒展开局部线性化,舍弃高阶非线性项;求解雅可比矩阵,替代KF固定A/H矩阵,复用KF全套迭代逻辑。
2.电池非线性系统方程+雅可比矩阵
系统方程:
{
x
k
=
f
(
x
k
−
1
,
I
k
−
1
)
+
w
k
−
1
z
k
=
h
(
x
k
)
+
v
k
\begin{cases}\boldsymbol{x}_k=f(\boldsymbol{x}_{k-1},I_{k-1})+\boldsymbol{w}_{k-1}\\z_k=h(\boldsymbol{x}_k)+v_k\end{cases}
{xk=f(xk−1,Ik−1)+wk−1zk=h(xk)+vk
✅状态雅可比(二阶RC固定矩阵,无需实时求导):
F
=
[
1
0
0
0
e
−
Δ
t
/
τ
1
0
0
0
e
−
Δ
t
/
τ
2
]
\boldsymbol{F}=\begin{bmatrix}1 & 0 & 0\\0 & e^{-\Delta t/\tau_1} & 0\\0 & 0 & e^{-\Delta t/\tau_2}\end{bmatrix}
F=
1000e−Δt/τ1000e−Δt/τ2
✅观测雅可比(核心:OCV对SOC求导):
H
=
[
d
O
C
V
d
S
O
C
−
1
−
1
]
\boldsymbol{H}=\begin{bmatrix}\dfrac{dOCV}{dSOC} & -1 & -1\end{bmatrix}
H=[dSOCdOCV−1−1]
3.EKF全套迭代公式
✅1.先验状态预测:
x
^
k
∣
k
−
1
=
f
(
x
^
k
−
1
,
I
k
−
1
)
\hat{\boldsymbol{x}}_{k|k-1}=f(\hat{\boldsymbol{x}}_{k-1},I_{k-1})
x^k∣k−1=f(x^k−1,Ik−1)
✅2.先验协方差预测:
P
k
∣
k
−
1
=
F
P
k
−
1
F
T
+
Q
\boldsymbol{P}_{k|k-1}=\boldsymbol{F}\boldsymbol{P}_{k-1}\boldsymbol{F}^T+\boldsymbol{Q}
Pk∣k−1=FPk−1FT+Q
✅3.卡尔曼增益:
K
k
=
P
k
∣
k
−
1
H
T
(
H
P
k
∣
k
−
1
H
T
+
R
)
−
1
\boldsymbol{K}_k=\boldsymbol{P}_{k|k-1}\boldsymbol{H}^T(\boldsymbol{H}\boldsymbol{P}_{k|k-1}\boldsymbol{H}^T+R)^{-1}
Kk=Pk∣k−1HT(HPk∣k−1HT+R)−1
✅4.状态修正:
x
^
k
∣
k
=
x
^
k
∣
k
−
1
+
K
k
(
z
k
−
h
(
x
^
k
∣
k
−
1
)
)
\hat{\boldsymbol{x}}_{k|k}=\hat{\boldsymbol{x}}_{k|k-1}+\boldsymbol{K}_k(z_k-h(\hat{\boldsymbol{x}}_{k|k-1}))
x^k∣k=x^k∣k−1+Kk(zk−h(x^k∣k−1))
✅5.协方差更新:
P
k
∣
k
=
(
I
−
K
k
H
)
P
k
∣
k
−
1
\boldsymbol{P}_{k|k}=(\boldsymbol{I}-\boldsymbol{K}_k\boldsymbol{H})\boldsymbol{P}_{k|k-1}
Pk∣k=(I−KkH)Pk∣k−1
4.优缺点总结
✅优点:
- 适配电池弱非线性,代码量产成熟、算力低,车载MCU原生适配
- 二阶RC雅可比固定,线下求导一次即可,运行无需实时求导
- 调参简单,仅标定固定Q、R两个矩阵
❌缺点:
- 一阶泰勒截断误差,0-10%、90~100%高低SOC、低温大倍率SOC误差偏大
- 修改电池模型,必须重新手动推导雅可比矩阵
- Q、R固定不可变,电池老化、工况切换极易SOC漂移、滤波发散
5.落地适用场景
两轮电动车BMS、低成本储能、常温平稳工况、低端算力MCU、新电池低老化场景。
四、无迹卡尔曼滤波 UKF(Unscented Kalman Filter)
1.核心原理(解决EKF线性化误差)
放弃泰勒线性化,全程无需求解雅可比矩阵;采用无迹变换UT,基于当前状态均值+协方差,生成固定Sigma采样点,点对点经过非线性方程传播,加权重构状态分布,拟合二阶非线性,精度远高于EKF。
三维电池状态固定采样数量: 2 n + 1 = 7 2n+1=7 2n+1=7个Sigma点。
2.工程固定调参(电池直接复用,无需改动)
n = 3 , α = 0.001 , β = 2 , κ = 0 , λ = α 2 ( n + κ ) − n n=3,\alpha=0.001,\beta=2,\kappa=0,\lambda=\alpha^2(n+\kappa)-n n=3,α=0.001,β=2,κ=0,λ=α2(n+κ)−n
- α \alpha α:采样扩散系数,常规0.001,快充可微调至0.01
- β = 2 \beta=2 β=2:高斯分布最优修正值,固定不可改
- κ = 0 \kappa=0 κ=0:辅助缩放系数,三维电池固定为0
3.UKF全套迭代公式
✅前置:生成Sigma采样点 + 权重公式
中心点:
χ
0
=
x
^
\boldsymbol{\chi}_0=\hat{\boldsymbol{x}}
χ0=x^
正负偏移点:
χ
i
=
x
^
±
(
n
+
λ
)
P
i
\boldsymbol{\chi}_i=\hat{\boldsymbol{x}}\pm\sqrt{(n+\lambda)\boldsymbol{P}}_i
χi=x^±(n+λ)Pi
均值/协方差权重:
W
m
(
0
)
=
λ
n
+
λ
,
W
c
(
0
)
=
λ
n
+
λ
+
1
−
α
2
+
β
W_m^{(0)}=\dfrac{\lambda}{n+\lambda},W_c^{(0)}=\dfrac{\lambda}{n+\lambda}+1-\alpha^2+\beta
Wm(0)=n+λλ,Wc(0)=n+λλ+1−α2+β
W
m
(
i
)
=
W
c
(
i
)
=
1
2
(
n
+
λ
)
W_m^{(i)}=W_c^{(i)}=\dfrac{1}{2(n+\lambda)}
Wm(i)=Wc(i)=2(n+λ)1
✅1.预测步:Sigma点代入状态方程传播,加权得到先验状态、协方差
✅2.观测步:Sigma点代入电压方程,加权得到预测端电压
✅3.互协方差求解:
P
x
z
=
∑
W
c
(
χ
i
−
x
^
)
(
Z
i
−
z
^
)
T
\boldsymbol{P}_{xz}=\sum W_c(\boldsymbol{\chi}_i-\hat{\boldsymbol{x}})(Z_i-\hat{z})^T
Pxz=∑Wc(χi−x^)(Zi−z^)T
✅4.卡尔曼增益:
K
k
=
P
x
z
P
z
z
−
1
\boldsymbol{K}_k=\boldsymbol{P}_{xz}\boldsymbol{P}_{zz}^{-1}
Kk=PxzPzz−1
✅5.状态+协方差更新:迭代逻辑同EKF
4.优缺点总结
✅优点:
- 完全不用推导雅可比,迭代开发效率极高
- 二阶非线性拟合,高低SOC、低温快充SOC精度大幅提升
- 动态大电流工况不易发散,鲁棒性优于EKF
❌缺点:
- 计算量为EKF 2~3倍,低端8位MCU算力不足
- 新增三组权重参数,调参门槛高于EKF
- 依旧固定Q、R,电池长期老化后依旧存在SOC漂移
5.落地适用场景
中高端乘用车BMS、大功率快充、高低温储能、高精度SOC估算、32位高性能车载MCU平台。
五、AEKF自适应扩展卡尔曼滤波
1.核心痛点+原理
痛点:EKF/UKF噪声矩阵Q、R固定,无法适配电池老化、电压毛刺动态变化。
原理:依托**电压残差(创新序列)**滑动窗口统计真实噪声,在线自适应更新Q、R,自动平衡模型可信度、电压采样可信度。
💡补齐时序漏洞
- 本帧自适应 R k R_k Rk:本帧直接生效,参与本帧SOC修正
- 本帧自适应 Q k Q_k Qk:延迟一帧生效,下一帧预测步使用,无法回溯修改本帧协方差
2.AEKF迭代公式
输入缓存:上一帧后验 x ^ k − 1 , P k − 1 \hat{\boldsymbol{x}}_{k-1},\boldsymbol{P}_{k-1} x^k−1,Pk−1,历史噪声 Q k − 1 , R k − 1 \boldsymbol{Q}_{k-1},R_{k-1} Qk−1,Rk−1
✅步骤1:时间预测(使用上一帧旧噪声
Q
k
−
1
\boldsymbol{Q}_{k-1}
Qk−1)
x
^
k
∣
k
−
1
=
f
(
x
^
k
−
1
,
I
)
\hat{\boldsymbol{x}}_{k|k-1}=f(\hat{\boldsymbol{x}}_{k-1},I)
x^k∣k−1=f(x^k−1,I)
P
k
∣
k
−
1
=
F
P
k
−
1
F
T
+
Q
k
−
1
\boldsymbol{P}_{k|k-1}=\boldsymbol{F}\boldsymbol{P}_{k-1}\boldsymbol{F}^T+\boldsymbol{Q}_{k-1}
Pk∣k−1=FPk−1FT+Qk−1
✅步骤2:求解电压残差
e
k
=
U
m
e
a
s
−
h
(
x
^
k
∣
k
−
1
)
e_k=U_{meas}-h(\hat{\boldsymbol{x}}_{k|k-1})
ek=Umeas−h(x^k∣k−1)
✅步骤3:滑动窗口更新观测噪声
R
k
R_k
Rk
工程窗口默认长度:
L
=
20
L=20
L=20,计算窗口残差协方差
C
^
e
\hat{C}_e
C^e
R
k
=
C
^
e
−
H
P
k
∣
k
−
1
H
T
R_k=\hat{C}_e-\boldsymbol{H}\boldsymbol{P}_{k|k-1}\boldsymbol{H}^T
Rk=C^e−HPk∣k−1HT
限幅保护:
R
m
i
n
≤
R
k
≤
R
m
a
x
R_{min}\le R_k \le R_{max}
Rmin≤Rk≤Rmax,计算为负则保留上一帧
R
k
−
1
R_{k-1}
Rk−1
✅步骤4:计算临时增益
K
t
e
m
p
\boldsymbol{K}_{temp}
Ktemp(仅用来求Q,不修正SOC)
S
t
e
m
p
=
H
P
k
∣
k
−
1
H
T
+
R
k
\boldsymbol{S}_{temp}=\boldsymbol{H}\boldsymbol{P}_{k|k-1}\boldsymbol{H}^T+R_k
Stemp=HPk∣k−1HT+Rk
K
t
e
m
p
=
P
k
∣
k
−
1
H
T
S
t
e
m
p
−
1
\boldsymbol{K}_{temp}=\boldsymbol{P}_{k|k-1}\boldsymbol{H}^T \boldsymbol{S}_{temp}^{-1}
Ktemp=Pk∣k−1HTStemp−1
✅步骤5:自适应更新过程噪声
Q
k
\boldsymbol{Q}_k
Qk
Q
k
=
K
t
e
m
p
C
^
e
K
t
e
m
p
T
\boldsymbol{Q}_k=\boldsymbol{K}_{temp}\hat{C}_e\boldsymbol{K}_{temp}^T
Qk=KtempC^eKtempT
限幅保护:
Q
m
i
n
≤
Q
k
≤
Q
m
a
x
\boldsymbol{Q}_{min}\le \boldsymbol{Q}_k \le \boldsymbol{Q}_{max}
Qmin≤Qk≤Qmax
✅步骤6:观测更新(仅用新
R
k
R_k
Rk,
Q
k
Q_k
Qk下一帧生效)
S
k
=
H
P
k
∣
k
−
1
H
T
+
R
k
\boldsymbol{S}_k=\boldsymbol{H}\boldsymbol{P}_{k|k-1}\boldsymbol{H}^T+R_k
Sk=HPk∣k−1HT+Rk
K
k
=
P
k
∣
k
−
1
H
T
S
k
−
1
\boldsymbol{K}_k=\boldsymbol{P}_{k|k-1}\boldsymbol{H}^T\boldsymbol{S}_k^{-1}
Kk=Pk∣k−1HTSk−1
x
^
k
∣
k
=
x
^
k
∣
k
−
1
+
K
k
e
k
\hat{\boldsymbol{x}}_{k|k}=\hat{\boldsymbol{x}}_{k|k-1}+\boldsymbol{K}_k e_k
x^k∣k=x^k∣k−1+Kkek
P
k
∣
k
=
(
I
−
K
k
H
)
P
k
∣
k
−
1
\boldsymbol{P}_{k|k}=(\boldsymbol{I}-\boldsymbol{K}_k\boldsymbol{H})\boldsymbol{P}_{k|k-1}
Pk∣k=(I−KkH)Pk∣k−1
✅步骤7:缓存
Q
k
、
R
k
\boldsymbol{Q}_k、R_k
Qk、Rk,迭代下一帧
3.优缺点总结
✅优点:
- 噪声自适应,无需多工况线下标定全套Q、R参数
- 适配电池全生命周期老化,内阻漂移自动放大Q,杜绝SOC长期漂移
- 电压毛刺大自动放大R,抑制SOC抖动,工况适配性极强
- 基于EKF架构,算力远低于UKF,车载MCU极易量产落地
❌缺点:
- 依旧一阶线性化,极致非线性工况精度弱于UKF
- 新增滑动窗口L调参量,需要平衡收敛速度与平滑度
- 依赖高斯残差,高压脉冲干扰会导致Q/R异常震荡
4.落地适用场景
新能源整车BMS、大型储能电站、电池全生命周期SOC估算、高低温变工况、电芯老化在线辨识。
六、四大滤波算法横向选型对照表(面试直接背)
| 算法名称 | 非线性适配 | 是否需雅可比 | Q/R特性 | 算力消耗 | SOC估算精度 | 量产最优场景 |
|---|---|---|---|---|---|---|
| KF | 纯线性 | 不需要 | 固定噪声 | 极小 | 不可用 | 线性传感器降噪 |
| EKF | 弱非线性 | 必须手动推导 | 固定噪声 | 小 | 中等 | 低成本两轮车BMS |
| UKF | 强非线性 | 完全不需要 | 固定噪声 | 偏大 | 高 | 快充高低温高精度估算 |
| AEKF | 弱非线性 | 需要手动推导 | 在线自适应更新 | 中等 | 较高 | 整车量产、全生命周期SOC |
七、进阶衍生滤波算法
- AUKF自适应无迹卡尔曼:融合UKF非线性拟合+AEKF自适应噪声,高端储能最优算法,算力最高,极少车载低端MCU落地
- PF粒子滤波:适配非高斯噪声、极致非线性工况,算力开销极大,车载BMS基本不使用
- RLS+EKF联合算法:遗忘因子最小二乘法在线辨识RC内阻,搭配EKF估算SOC,实现老化辨识+状态估算双功能
4665

被折叠的 条评论
为什么被折叠?



