news 2026/4/17 18:14:49

基于二阶RC等效电路模型的FFRLS + UKF联合SOC估计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于二阶RC等效电路模型的FFRLS + UKF联合SOC估计

基于二阶RC等效电路模型的FFRLS+UKF的联合SOC估计 具体思路:基于动态工况,采用遗忘因子最小二乘法估计电池参数,并将辨识结果导入到无迹卡尔曼滤波算法UKF算法中,实现FFRLS+UKF的联合估计,基于动态工况 能保证运行,simulink模型和仿真结果可见展示图片,估计效果能完全跟随soc的变化 内容:simulink模型、电池数据、参考文献,详细遗忘因子最小二乘法、UKF估计电池soc原理

在电池管理系统(BMS)中,准确估计电池的荷电状态(SOC)至关重要。今天咱们就来聊聊基于二阶RC等效电路模型的FFRLS + UKF联合SOC估计方法。

一、二阶RC等效电路模型

二阶RC等效电路模型能较好地反映电池的动态特性。它一般由一个电压源 \(E0\)、一个欧姆内阻 \(R0\) 以及两个RC环节(\(R1 - C1\) 和 \(R2 - C2\))组成。这个模型可以描述电池在充放电过程中的电压变化等特性。

二、遗忘因子最小二乘法(FFRLS)原理

遗忘因子最小二乘法是用于估计电池参数的重要方法。其核心思想是给新数据赋予更大的权重,而对旧数据逐渐“遗忘”。

假设我们有观测数据 \(y(k)\),它与参数向量 \(\theta\) 和输入向量 \(\varphi(k)\) 满足线性关系:\(y(k) = \varphi^T(k)\theta + v(k)\),其中 \(v(k)\) 是噪声。

FFRLS 的递推公式如下:

# 假设已经初始化参数 P = np.eye(n) # 协方差矩阵初始化 theta_hat = np.zeros((n, 1)) # 参数估计值初始化 lambda_ = 0.98 # 遗忘因子 for k in range(len(data)): phi_k = data[k, 1:].reshape(-1, 1) # 输入向量 y_k = data[k, 0] # 观测值 K_k = P.dot(phi_k) / (lambda_ + phi_k.T.dot(P).dot(phi_k)) theta_hat = theta_hat + K_k * (y_k - phi_k.T.dot(theta_hat)) P = (1 / lambda_) * (P - K_k.dot(phi_k.T).dot(P))

这里,\(P\) 是协方差矩阵,\(\theta_hat\) 是参数估计值,\(\lambda\) 是遗忘因子。每一次迭代,我们根据新的观测数据更新参数估计值。通过这种方式,能够更好地跟踪电池参数随时间和工况的变化。

三、UKF估计电池SOC原理

无迹卡尔曼滤波(UKF)通过选择一组Sigma点来近似状态分布。对于电池SOC估计,假设系统状态方程为 \(x{k + 1} = f(xk, uk) + wk\),观测方程为 \(yk = h(xk) + v_k\),其中 \(x\) 是状态变量(这里包含SOC等),\(u\) 是输入(如电流),\(w\) 和 \(v\) 分别是过程噪声和观测噪声。

UKF 的步骤大致如下:

  1. 初始化:设定初始状态估计 \(\hat{x}0\) 和协方差 \(P0\)。
  2. 计算Sigma点:根据初始状态和协方差计算一组Sigma点 \(\chi_{i,k - 1}\)。
  3. 时间更新:将Sigma点通过状态转移函数 \(f\) 得到预测的Sigma点 \(\chi{i,k|k - 1}\),进而计算预测状态 \(\hat{x}{k|k - 1}\) 和预测协方差 \(P_{k|k - 1}\)。
  4. 测量更新:将预测的Sigma点通过观测函数 \(h\) 得到预测观测值 \(\gamma{i,k|k - 1}\),计算卡尔曼增益 \(Kk\),然后更新状态估计 \(\hat{x}k\) 和协方差 \(Pk\)。

以下是简化的Python代码示意:

# 假设已经初始化相关参数 # 状态转移函数 f def f(x, u, dt): # 这里简单示意,实际需根据电池模型调整 return x + u * dt # 观测函数 h def h(x): return x # UKF主循环 for k in range(len(measurements)): # 时间更新 chi = get_sigma_points(x_hat, P) chi_f = np.array([f(c, u[k], dt) for c in chi]) x_hat_minus = np.average(chi_f, axis = 0, weights = Wm) P_minus = np.zeros((n, n)) for i in range(2 * n + 1): dx = chi_f[i] - x_hat_minus P_minus += Wc[i] * np.outer(dx, dx) P_minus += Q # 测量更新 gamma = np.array([h(c) for c in chi_f]) y_hat = np.average(gamma, axis = 0, weights = Wm) P_yy = np.zeros((m, m)) P_xy = np.zeros((n, m)) for i in range(2 * n + 1): dy = gamma[i] - y_hat dx = chi_f[i] - x_hat_minus P_yy += Wc[i] * np.outer(dy, dy) P_xy += Wc[i] * np.outer(dx, dy) P_yy += R K = P_xy.dot(np.linalg.inv(P_yy)) x_hat = x_hat_minus + K.dot(measurements[k] - y_hat) P = P_minus - K.dot(P_yy).dot(K.T)

四、联合估计思路

基于动态工况,我们首先采用FFRLS估计电池参数,比如 \(R0\)、\(R1\)、\(C_1\) 等。将这些辨识结果导入到UKF算法中。在动态工况下,电池的工作状态不断变化,FFRLS能实时跟踪参数变化,而UKF则利用这些更新后的参数更准确地估计SOC。

五、Simulink模型

在Simulink中搭建模型时,我们可以按照以下思路。首先构建二阶RC等效电路模型模块,实现电池电压的计算。然后搭建FFRLS模块,用于估计电池参数。再将FFRLS估计得到的参数输入到UKF模块中,最终输出SOC估计值。

具体搭建过程中,需要注意各个模块之间的信号连接和参数设置。比如在FFRLS模块中设置合适的遗忘因子,在UKF模块中合理初始化状态和协方差等。

六、电池数据

为了进行仿真,我们需要真实的电池数据,一般包含不同工况下的充放电电流、电压等信息。这些数据可以通过实验测量获取,比如在实验室环境下对特定型号的电池进行不同倍率的充放电实验,并记录相应的数据。

七、参考文献

[此处可列出相关的参考文献,比如相关的学术论文、书籍等,如:[1] Li, S., & Chen, J. (2019). A novel SOC estimation method based on FFRLS and UKF for lithium - ion batteries. Journal of Power Sources, 425, 110 - 118.]

通过上述的基于二阶RC等效电路模型的FFRLS + UKF联合SOC估计方法,从仿真结果展示图片中可以看到,其估计效果能完全跟随SOC的变化,在动态工况下也能保证较好的运行,为电池管理系统提供了较为可靠的SOC估计方案。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 1:49:19

Wan2.2-T2V-A14B对中文语境下文本理解的优化表现

Wan2.2-T2V-A14B对中文语境下文本理解的优化表现 你有没有遇到过这样的场景:脑中浮现出一段极具画面感的中文描述——“暴雨夜,穿旗袍的女人撑着红伞走过老上海石库门巷口,身后是昏黄路灯下斑驳的雨影”——但当你把它输入某个AI视频生成工具…

作者头像 李华
网站建设 2026/4/16 5:16:22

JavaWeb

文章目录1.Http1.1常用的HTTP方法1.2注意事项1.3Https1.4Http消息结构1.4.1请求消息1.4.2响应消息1.4.3例子1.5常见状态码1.6.Http content-type1.7.MIME类型2.Web服务器3.XML3.1文档声明3.2元素3.3.属性3.4注释3.5特殊字符转义3.6 Dom4j 解析 XML1.Http Http,被称为…

作者头像 李华
网站建设 2026/4/4 7:42:31

SEM + GEO优化系统:付费推广与区域定位双引擎,驱动精准获客与ROI提升

在数字营销竞争日益激烈的今天,如何让每一分广告预算都花在刀刃上?答案在于SEM与GEO系统的深度结合——通过付费推广的精准投放与区域定位的智能匹配,实现营销效果的最大化。一、为什么SEM需要结合GEO定位?传统SEM投放往往面临两大…

作者头像 李华
网站建设 2026/4/10 22:38:51

告别局域网束缚,FastSend+cpolar 让文件传输自由起来

文章目录前言【视频教程】1.关于FastSend2.Docker部署3.简单使用FastSend4.安装cpolar内网穿透5. 配置公网地址6. 配置固定公网地址总结FastSend 与 cpolar 的结合,扩展了文件传输的使用场景,让跨网络共享变得简单高效,适合需要频繁交换大文件…

作者头像 李华
网站建设 2026/4/15 11:53:15

AI如何自动生成内网通积分系统?5步实现智能管理

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个企业内网积分管理系统,包含以下功能:1.员工积分账户管理 2.积分发放/扣除规则配置 3.积分兑换商城 4.积分排行榜 5.数据可视化报表。使用React前端N…

作者头像 李华