clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
rng('default')
C1 = 1000;
C2 = 2500;
R1 = .015;
R2 = .0015;
% R0 = .02402;
R0 = .001;
alpha = .65;
Cbat = 5*3600;
Tau1 = C1*R1;
Tau2 = C2*R2;
dt = .1;
% Continuous Time Model:
A_c = [0 0 0 ; ...
0 (-1/(R1*C1)) 0 ;...
0 0 (-1/(R2*C2))];
B_c = [(-1/Cbat); (1/C1); (1/C2)];
C_c = [alpha -1 -1 ];
D_c = [-R0];
sys = ss(A_c,B_c,C_c,D_c);
sys_d= c2d(sys,dt);
% Discrete Time Model:
Ad = [1 0 0 ; ...
0 exp(-dt/Tau1) 0 ; ...
0 0 exp(-dt/Tau2)];
Bd = [(-dt/Cbat); (R1)*(1-exp(-dt/Tau1)); (R2)*(1-exp(-dt/Tau2))];
Cd = C_c;
Dd = D_c;
wk_mean = 0;
Q = 2.5*10^-7;
vk_mean = 0;
R = 1*10^-4;
Wp = 2.5*10^-9;
% Wp = 2.5*10^-6;
A_ek = 1 ;
E_ek = 1;
F_ek = 1;
% Load Battery Measurements
load('mat\OCV_table.mat')
load('mat\OCV_slope_table.mat')
load('mat\Sim_Truth_ThirdOrder_with_CurrentBias.mat')
% Initial Conditions:
P(1) = 0; % Covariance
PT(1) =0 ; % Parameter Covariance
x1(1) = .98; % SOC - Battery Fully Charged
x2(1) = 0; % Vc1
x3(1) = 0; % Vc2
x1_hat(1) = x1(1);
theta_hat(1) = 0;
CT_ek(1) =0;
for k = 2:1:length(t)
x1(k) = Ad(1,1)*x1(k-1) + Bd(1,1)*I(k-1); % soc
x2(k) = Ad(2,2)*x2(k-1) + Bd(2,1)*I(k-1); % Vc1
x3(k) = Ad(3,3)*x3(k-1) + Bd(3,1)*I(k-1); % Vc2
% Model Prediction:
x1_hat_prev = Ad(1,1)*x1_hat(k-1) + Bd(1,1)*I(k-1);
theta_hat_prev = theta_hat(k-1);
P_prev = A_ek*P(k-1)*A_ek'+ E_ek*Q*E_ek';
PT_prev = PT(k-1)+ E_ek*Wp*E_ek';
if(x1_hat_prev >1)
x1_hat_prev = 1;
end
C_ek = interp1(soc_intpts_OCV_slope', OCV_slope_intpts, x1_hat_prev);
% Measurement Update:
V_hat(k) = interp1(soc_intpts_OCV',OCV_intpts,x1_hat_prev) - I(k)*R0 - x2(k) - x3(k)+ theta_hat_prev;
%Kalman Gains
L = P_prev*C_ek'*inv(C_ek*P_prev*C_ek'+ F_ek*R*F_ek');
CT_ek(k) = -R0+C_ek*(-dt/Cbat+Ad(1,1)*(-dt/Cbat-L*CT_ek(k-1)));
LT = PT_prev*CT_ek(k)'*inv(CT_ek(k)*PT_prev*CT_ek(k)'+ F_ek*R*F_ek');
x1_hat(k) = x1_hat_prev + L*(V(k)-V_hat(k));
theta_hat(k) = theta_hat_prev + LT*(V(k)-V_hat(k));
P(k) = P_prev - L*C_ek*P_prev;
PT(k) = PT_prev - LT*CT_ek(k)*PT_prev;
end
figure(1);
hold on
plot(t,SOC_act)
plot(t,x1_hat)
plot(t,x1)
title('扩展卡尔曼滤波器: SOC');
xlabel('时间');
ylabel('充电状态(SOC)');
legend('SOC 真实值','SOC 估计值','SOC OL');
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1.版本:matlab2022A,包含仿真操作录像,操作录像使用windows media player播放。 2.领域:电池SOC估计 3.仿真效果:仿真效果可以参考博客同名文章《基于EKF扩展卡尔曼滤波的电池SOC估计算法matlab仿真》 4.内容:基于EKF扩展卡尔曼滤波的电池SOC估计算法matlab仿真。基于扩展卡尔曼滤波(EKF)的电池SOC(State of Charge,即电荷状态)估计算法是一种用于估算电池剩余电量的有效方法。这种方法主要适用于非线性系统,如锂电池等,其电量状态与电压、电流等参数之间存在复杂的非线性关系。 5.注意事项:注意MATLAB左侧当前文件夹路径,必须是程序所在文件夹位置,具体可以参考视频录。
资源推荐
资源详情
资源评论
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/MP4.png)
共 16 条
- 1
![avatar](https://profile-avatar.csdnimg.cn/6534a49295004b5796c3956cb3f87481_ccsss22.jpg!1)
![avatar-vip](https://csdnimg.cn/release/downloadcmsfe/public/img/user-vip.1c89f3c5.png)
fpga和matlab
- 粉丝: 16w+
- 资源: 2596
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 打包和分发Rust工具.pdf
- SQL中的CREATE LOGFILE GROUP 语句.pdf
- C语言-leetcode题解之第172题阶乘后的零.zip
- C语言-leetcode题解之第171题Excel列表序号.zip
- C语言-leetcode题解之第169题多数元素.zip
- ocr-图像识别资源ocr-图像识别资源
- 图像识别:基于Resnet50 + VGG16模型融合的人体细胞癌症分类模型实现-图像识别资源
- C语言-leetcode题解之第168题Excel列表名称.zip
- C语言-leetcode题解之第167题两数之和II-输入有序数组.zip
- C语言-leetcode题解之第166题分数到小数.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
- 1
- 2
前往页