卡尔曼滤波方法原理大全(KF、EKF、UKF、AEKF)

📌一、全文前置统一定义(所有算法共用)

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}) wN(0,Q) 模型拟合高斯噪声
观测噪声: v ∼ N ( 0 , R ) v\sim N(0,R) vN(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=Axk1+Buk1+wk1
观测方程:
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^kk1=Ax^k1∣k1+Buk1
✅步骤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} Pkk1=APk1AT+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=Pkk1HT(HPkk1HT+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^kk=x^kk1+Kk(zkHx^kk1)
✅步骤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} Pkk=(IKkH)Pkk1

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(xk1,Ik1)+wk1zk=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=[dSOCdOCV11]

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^kk1=f(x^k1,Ik1)
✅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} Pkk1=FPk1FT+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=Pkk1HT(HPkk1HT+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^kk=x^kk1+Kk(zkh(x^kk1))
✅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} Pkk=(IKkH)Pkk1

4.优缺点总结

✅优点:

  1. 适配电池弱非线性,代码量产成熟、算力低,车载MCU原生适配
  2. 二阶RC雅可比固定,线下求导一次即可,运行无需实时求导
  3. 调参简单,仅标定固定Q、R两个矩阵

❌缺点:

  1. 一阶泰勒截断误差,0-10%、90~100%高低SOC、低温大倍率SOC误差偏大
  2. 修改电池模型,必须重新手动推导雅可比矩阵
  3. 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+λ)P i
均值/协方差权重:
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(χix^)(Ziz^)T
✅4.卡尔曼增益:
K k = P x z P z z − 1 \boldsymbol{K}_k=\boldsymbol{P}_{xz}\boldsymbol{P}_{zz}^{-1} Kk=PxzPzz1
✅5.状态+协方差更新:迭代逻辑同EKF

4.优缺点总结

✅优点:

  1. 完全不用推导雅可比,迭代开发效率极高
  2. 二阶非线性拟合,高低SOC、低温快充SOC精度大幅提升
  3. 动态大电流工况不易发散,鲁棒性优于EKF

❌缺点:

  1. 计算量为EKF 2~3倍,低端8位MCU算力不足
  2. 新增三组权重参数,调参门槛高于EKF
  3. 依旧固定Q、R,电池长期老化后依旧存在SOC漂移

5.落地适用场景

中高端乘用车BMS、大功率快充、高低温储能、高精度SOC估算、32位高性能车载MCU平台。


五、AEKF自适应扩展卡尔曼滤波

1.核心痛点+原理

痛点:EKF/UKF噪声矩阵Q、R固定,无法适配电池老化、电压毛刺动态变化。
原理:依托**电压残差(创新序列)**滑动窗口统计真实噪声,在线自适应更新Q、R,自动平衡模型可信度、电压采样可信度。

💡补齐时序漏洞

  1. 本帧自适应 R k R_k Rk:本帧直接生效,参与本帧SOC修正
  2. 本帧自适应 Q k Q_k Qk:延迟一帧生效,下一帧预测步使用,无法回溯修改本帧协方差

2.AEKF迭代公式

输入缓存:上一帧后验 x ^ k − 1 , P k − 1 \hat{\boldsymbol{x}}_{k-1},\boldsymbol{P}_{k-1} x^k1,Pk1,历史噪声 Q k − 1 , R k − 1 \boldsymbol{Q}_{k-1},R_{k-1} Qk1,Rk1

✅步骤1:时间预测(使用上一帧旧噪声 Q k − 1 \boldsymbol{Q}_{k-1} Qk1
x ^ k ∣ k − 1 = f ( x ^ k − 1 , I ) \hat{\boldsymbol{x}}_{k|k-1}=f(\hat{\boldsymbol{x}}_{k-1},I) x^kk1=f(x^k1,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} Pkk1=FPk1FT+Qk1
✅步骤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=Umeash(x^kk1)
✅步骤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^eHPkk1HT
限幅保护: R m i n ≤ R k ≤ R m a x R_{min}\le R_k \le R_{max} RminRkRmax,计算为负则保留上一帧 R k − 1 R_{k-1} Rk1
✅步骤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=HPkk1HT+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=Pkk1HTStemp1
✅步骤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} QminQkQmax
✅步骤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=HPkk1HT+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=Pkk1HTSk1
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^kk=x^kk1+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} Pkk=(IKkH)Pkk1
✅步骤7:缓存 Q k 、 R k \boldsymbol{Q}_k、R_k QkRk,迭代下一帧

3.优缺点总结

✅优点:

  1. 噪声自适应,无需多工况线下标定全套Q、R参数
  2. 适配电池全生命周期老化,内阻漂移自动放大Q,杜绝SOC长期漂移
  3. 电压毛刺大自动放大R,抑制SOC抖动,工况适配性极强
  4. 基于EKF架构,算力远低于UKF,车载MCU极易量产落地

❌缺点:

  1. 依旧一阶线性化,极致非线性工况精度弱于UKF
  2. 新增滑动窗口L调参量,需要平衡收敛速度与平滑度
  3. 依赖高斯残差,高压脉冲干扰会导致Q/R异常震荡

4.落地适用场景

新能源整车BMS、大型储能电站、电池全生命周期SOC估算、高低温变工况、电芯老化在线辨识。


六、四大滤波算法横向选型对照表(面试直接背)

算法名称非线性适配是否需雅可比Q/R特性算力消耗SOC估算精度量产最优场景
KF纯线性不需要固定噪声极小不可用线性传感器降噪
EKF弱非线性必须手动推导固定噪声中等低成本两轮车BMS
UKF强非线性完全不需要固定噪声偏大快充高低温高精度估算
AEKF弱非线性需要手动推导在线自适应更新中等较高整车量产、全生命周期SOC

七、进阶衍生滤波算法

  1. AUKF自适应无迹卡尔曼:融合UKF非线性拟合+AEKF自适应噪声,高端储能最优算法,算力最高,极少车载低端MCU落地
  2. PF粒子滤波:适配非高斯噪声、极致非线性工况,算力开销极大,车载BMS基本不使用
  3. RLS+EKF联合算法:遗忘因子最小二乘法在线辨识RC内阻,搭配EKF估算SOC,实现老化辨识+状态估算双功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值