Battery Capacity Estimator (Kalman Filter)
库:
Simscape /
Battery /
BMS /
Estimators
描述
Battery Capacity Estimator (Kalman Filter) 模块实现了一个估算器,该估算器利用卡尔曼滤波算法计算电池的电芯容量。
请将此模块与另一个用于估算电池电荷状态 (SOC) 的模块(例如 SOC Estimator (Kalman Filter) 或 SOC Estimator (Adaptive Kalman Filter))配合使用。
此模块支持单精度和双精度浮点仿真。
注意
要启用继承的单精度浮点仿真,除采样时间(-1 表示继承) 参数外,所有输入和参数的数据类型必须为 single。
对于连续时间仿真,将滤波器类型参数设置为扩展卡尔曼-布西滤波器或无迹卡尔曼-布西滤波器。
注意
此模块的连续时间实现仅适用于双精度浮点仿真。如果您提供单精度浮点参数和输入,此模块会将它们转换为双精度浮点值,以防止出现错误。
对于离散时间仿真,将滤波器类型参数设置为扩展卡尔曼滤波器或无迹卡尔曼滤波器,并将采样时间(-1 表示继承) 参数设置为一个正值或 -1。
方程
为了估算电池容量,Battery Capacity Estimator (Kalman Filter) 模块从容量和 SOC 的导数方程出发:
,其中
SOC 是荷电状态。
i 是电池电芯的电流。
Q 表示以安培小时为单位的容量。
第一个方程是状态方程。第二个方程是输出方程。
对于卡尔曼滤波算法,Battery Capacity Estimator (Kalman Filter) 模块使用 Q 作为状态,并采用以下过程函数和观测函数:
该图展示了扩展卡尔曼滤波器 (EKF) 的结构:

EKF 技术依赖于在每个时间步进行线性化,以近似描述非线性系统。为在线实现系统线性化,算法会实时计算以下雅可比矩阵:
EKF 是一种离散时间算法。离散化后,电池 SOC 估计的雅可比矩阵为:
,其中 TS 为采样时间。
有关 EKF 算法各步骤实现的更多信息,请参阅 SOC Estimator (Kalman Filter) 模块中的 Extended Kalman Filter 部分。
该图展示了扩展卡尔曼-布西滤波器 (EKBF) 的结构:

EKBF 是卡尔曼滤波器的连续时间变体。在连续时间中,预测与修正步骤是耦合的。
有关 EKF 算法各步骤实现的更多信息,请参阅 SOC Estimator (Kalman Filter) 模块中的 Extended Kalman-Bucy Filter 部分。
该图展示了无迹卡尔曼滤波器 (UKF) 的结构:

扩展卡尔曼滤波器通过仅使用泰勒展开式的第一项,利用泰勒展开式获得的线性方程对非线性函数进行局部逼近。在高度非线性系统中,这些解的准确性并不高。
UKF 对一组由算法确定性选择的西格玛点集进行非线性变换。该技术被称为无迹变换。变换后点的均值与协方差矩阵精确至泰勒级数展开的二阶项。
有关 EKF 算法各步骤实现的更多信息,请参阅 SOC Estimator (Kalman Filter) 模块中的 Unscented Kalman Filter 部分。
该图说明了无迹卡尔曼-布西滤波器 (UKBF) 的结构:

UKBF 推导出的连续时间滤波方程与 EKBF 方程相似。
有关 EKF 算法各步骤实现的更多信息,请参阅 SOC Estimator (Kalman Filter) 模块中的 Unscented Kalman-Bucy Filter 部分。


