基于麻雀搜索算法优化SVR的锂电池寿命预测研究( 二)

文章详细描述了如何从四块电池的放电至截止电压时间和平均温度数据中提取特征,作为预测锂电池剩余使用寿命的备选健康因子。通过Pearson相关性分析评估了这些特征与容量的关系,最终选定放电截止电压时间作为主要预测因子。
摘要由CSDN通过智能技术生成

 特征提取(2)

        其次,提取的是四块电池的放电至截止电压的时间数据,它将作为预测锂电池的剩余使用寿命的备选健康因子。下图所示,B0005、B0006、B0007、B0018四块电池的放电时间数据经过循环次数的增加而大体上呈下降趋势,与容量退化趋势有一定的相关性。

提取电池放电至截止电压的时间数据如下:

%% 清空环境
clear;%清工作区
clc;%清命令
close all;%关闭所有的Figure窗口 
format compact;%压缩空格
tic;%开始计时
%% 005号电池
load('B0005.mat');
j = 0 ;                                                                                                 
for i=1:length(B0005.cycle)
    
     cycle_type = B0005.cycle(i).type;                            
     data_type = 'discharge';
     value = strcmp(cycle_type,data_type);                      
        
     if value
  
       j=j+1;
       [m,n]= min(B0005.cycle(i).data.Voltage_measured); 
       B0005_Voltage_Data_Time=B0005.cycle(i).data.Time;
       A(j,1) =B0005_Voltage_Data_Time(1,n);
       
       

     end
end
%% 006号电池
load('B0006.mat');
j = 0 ;                                                                                                 
for i=1:length(B0006.cycle)
    
     cycle_type = B0006.cycle(i).type;                            
     data_type = 'discharge';
     value = strcmp(cycle_type,data_type);                      
        
     if value
  
       j=j+1;
       [m,n]= min(B0006.cycle(i).data.Voltage_measured); 
       B0006_Voltage_Data_Time=B0006.cycle(i).data.Time;
       B(j,1) =B0006_Voltage_Data_Time(1,n);
       
       

     end
end
%% 007号电池
load('B0007.mat');
j = 0 ;                                                                                                 
for i=1:length(B0007.cycle)
    
     cycle_type = B0007.cycle(i).type;                            
     data_type = 'discharge';
     value = strcmp(cycle_type,data_type);                      
        
     if value
  
       j=j+1;
       [m,n]= min(B0007.cycle(i).data.Voltage_measured); 
       B0007_Voltage_Data_Time=B0007.cycle(i).data.Time;
       C(j,1) =B0007_Voltage_Data_Time(1,n);
       
       

     end
end
%% 018号电池
load('B0018.mat');
j = 0 ;                                                                                                 
for i=1:length(B0018.cycle)
    
     cycle_type = B0018.cycle(i).type;                            
     data_type = 'discharge';
     value = strcmp(cycle_type,data_type);                      
        
     if value
  
       j=j+1;
       [m,n]= min(B0018.cycle(i).data.Voltage_measured); 
       B0018_Voltage_Data_Time=B0018.cycle(i).data.Time;
       D(j,1) =B0018_Voltage_Data_Time(1,n);
       
       

     end
end
%% 绘图
figure;
plot(A)
hold on;
plot(B)
plot(C)
plot(D)
legend('5号电池','6号电池','7号电池','18号电池');
title('放电至截止电压的时间周期图','FontSize',12);
xlabel('循环周期','FontSize',12);
ylabel('时间/s','FontSize',12);
grid on;
toc;
%% 另存为mat文件
save('data.mat','A')

 其中data.mat中的数据为5号电池的提取的备选健康因子的具体数据。

 特征提取(3)

提取电池平均温度数据如下:

%% 清空环境
clear;%清工作区
clc;%清命令
%close all;%关闭所有的Figure窗口 
format compact;%压缩空格
tic;%开始计时
%% 005号电池
load('B0005.mat');
j = 0 ;                                                                                                 
for i=1:length(B0005.cycle)
    
     cycle_type = B0005.cycle(i).type;                            
     data_type = 'discharge';
     value = strcmp(cycle_type,data_type);                      
        
     if value
  
       j=j+1;
       [m,n]= max(B0005.cycle(i).data.Temperature_measured); 
       B0006_Voltage_Data_Tem=B0005.cycle(i).data.Temperature_measured;
       A(j,1) =(B0006_Voltage_Data_Tem(1,n)-B0006_Voltage_Data_Tem(1,1))/n;
       
       

     end
end
%% 006号电池
load('B0006.mat');
j = 0 ;                                                                                                 
for i=1:length(B0006.cycle)
    
     cycle_type = B0006.cycle(i).type;                            
     data_type = 'discharge';
     value = strcmp(cycle_type,data_type);                      
        
     if value
  
       j=j+1;
       [m,n]= max(B0006.cycle(i).data.Temperature_measured); 
       B0006_Voltage_Data_Tem=B0006.cycle(i).data.Temperature_measured;
       B(j,1) =(B0006_Voltage_Data_Tem(1,n)-B0006_Voltage_Data_Tem(1,1))/n;
       
       

     end
end
%% 007号电池
load('B0007.mat');
j = 0 ;                                                                                                 
for i=1:length(B0007.cycle)
    
     cycle_type = B0007.cycle(i).type;                            
     data_type = 'discharge';
     value = strcmp(cycle_type,data_type);                      
        
     if value
  
       j=j+1;
       [m,n]= max(B0007.cycle(i).data.Temperature_measured); 
       B0007_Voltage_Data_Tem=B0007.cycle(i).data.Temperature_measured;
       C(j,1) =(B0007_Voltage_Data_Tem(1,n)-B0007_Voltage_Data_Tem(1,1))/n;
       
       

     end
end
%% 018号电池
load('B0018.mat');
j = 0 ;                                                                                                 
for i=1:length(B0018.cycle)
    
     cycle_type = B0018.cycle(i).type;                            
     data_type = 'discharge';
     value = strcmp(cycle_type,data_type);                      
        
     if value
  
      j=j+1;
       [m,n]= max(B0018.cycle(i).data.Temperature_measured); 
       B0018_Voltage_Data_Tem=B0018.cycle(i).data.Temperature_measured;
       D(j,1) =(B0018_Voltage_Data_Tem(1,n)-B0018_Voltage_Data_Tem(1,1))/n;
       

     end
end
%% 绘图
figure;
plot(A)
hold on;
plot(B)
plot(C)
plot(D)
legend('5号电池','6号电池','7号电池','18号电池');
title('放电平均温度值的时间周期图','FontSize',13);
xlabel('循环周期','FontSize',12);
ylabel('放电平均温度','FontSize',12);
grid on;
toc;

        最后,提取的是四块电池的从初始温度到最高点的平均温度数据,它将作为预测锂电池的剩余使用寿命的备选健康因子。如下图所示,B0005、B0006、B0007、B0018四块电池的放电平均温度数据经过循环次数的增加而大体上呈增加趋势,与容量退化曲线呈一定程度上的负相关。

 相关性分析

        上一节中从相关数据中提取备选健康指标,本节通过运用Pearson相关性分析法来探讨温度特征、电压特征与电池容量间的关联关系,做好锂电池剩余使用寿命的准确预测的准备工作。

        Pearson 相关性分析法是一种用于衡量两个变量之间线性关系强度和方向的统计方法,可以用于定量分析锂电池的两组特征数据间的相似程度及相关度高低。 那么 Pearson 相关系数的计算公式如下:
        
        上式 中, \alpha\beta 分别为需比较的两个向量或变量数组,在本文指的是提取的健康因子与容量的相关性分析。其值介于-1 1 之间。当 Pearson 相关系数为正时,表示两个变量呈正相关;当 Pearson 相关系数为负时,表示两个变量呈负相关;当 Pearson 相关系数为 0 时,表示两个变量之间没有线性关系。
        通过对温度特性、电压特性的分析,本文提取了放电平均温度 和从初始电压下降至截止电压的时间这两组数据作为备选健康因子,来预测锂电池的剩余使用寿命。下表为各备选健康因子与电池容量的关联程度,计算了两者之间的 Pearson 相关系数。
        相关计算方式可以自行搜索,反正CSDN上一堆(不是懒,嘿嘿)
        再贴个其他论文作者的相关性分析比较的截图~~~

 

 


        通过对各备选健康因子的比较和分析,我们最终选择放电截止电压时间作为锂电池的健康因子,并使用其作为预测模型的输入来预测锂电池的剩余使用寿命。

结尾

        前置工作完成,数据全部处理完成,后面将是RUL预测的功能实现。如果有没能成功运行的话,我会把处理后的数据集发在评论区。

结束了喵!

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌新躺好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值