一种基于时频双流特征表征的锂电池健康状态估计方法
未命名
08-18
阅读:139
评论:0

1.本发明属于电池技术领域,特别涉及一种基于时频双流特征表征的锂电池健康状态(soh,state of health)估计方法。
背景技术:
2.目前,针对电池的安全解决方案,一般分为三种:本征安全,被动安全,主动安全。其中,主动安全就是通过智能算法做到提前预警,寿命评估等。电池管理系统(bms)的作用之一即实现对电池的监控与管理,因电池老化过程中受到温度、电压等因素的影响,会产生一系列复杂的化学变化,而这个过程中存在一些隐藏的安全隐患,soh(state of health)与电池的安全性紧密相关,利用bms对电池soh进行快速且准确的估计是十分重要而具有意义的。
3.目前对电池健康容量的估计方法,分为了基于经验的方法和基于性能的方法,包括了开路电压法、安时积分法、卡尔曼滤波、神经网络法,不同的方法具有不同的优势与局限。其中,开路电压法,算法简单,硬件成本低,但是受到运行环境的影响,而在放电末期误差大,精度也不够准确;安时积分法算法简单、硬件成本低,但是抗干扰能力弱,精度也一般;卡尔曼滤波精度较高,可以实现在线动态估计,计算量小,但是对其使用的等效电路模型要求较高,很难与真实情况完全匹配;神经网络法拟合能力强,精度较高,但会产生较高的计算开销。
4.通过检索,有如下较为接近的soh预测技术文献:
5.文献1:a hybrid neural network model with improved input for state of charge estimation of lithium-ion battery at low temperatures
6.文献2:deep evidential regression
7.文献1提出一种基于cnn-bwgru网络的混合算法,该方法通过“多矩输入”结构和双向网络优化了电池信息对结果的影响。卷积神经网络(cnn)用于学习输入中的特征参数,双向加权门控循环单元(bwgru)可以通过改变权重来提高网络在低温下的拟合性能。该网络具有较强的泛化能力、估计精度和鲁棒性。
8.文献2提出了一个新的非贝叶斯神经网络估计连续目标及对应证据的新方法,并量化认知和任意不确定性。
9.以文献1为代表,目前原始时域信号对电池soh估计的方法近年来以及被学者们广泛的探索,并且达到了相对理想的性能,已经验证了在时域信号上预测电池soh的合理性和有效性。
10.文献2指出了目前神经网络越来越多地部署在安全关键领域,在这些领域中,经过校准、稳健且有效的不确定性测量是至关重要的。而在电池领域,置信区间估计的实际应用价值很大,如电池安全预警、异常数据检测等。
11.结合对文献1、文献2的思考,总结目前数据驱动算法存在以下问题:首先,大都使用电池数据的方法仅仅从时域信号方面考虑,未对其频域信息进行有效利用,但电池数据
中的电压、电流具有周期性特征,即在频域领域有待挖掘的信息,故目前的方法考虑的信息还不全面;其次,在电池soh估计中,如果直接对其进行预测,实际上(在概率视角下),是对其均值进行直接回归,并没有考虑问题本身存在的不确定性,无法得到对于模型预测值的置信度,或soh的置信区间。而仅仅将单一的预测值作为锂离子电池健康状态的预测结果是不够准确,也不够科学的。
技术实现要素:
12.为了克服上述现有技术的缺点,本发明的目的在于提供一种基于时频双流特征表征的锂电池健康状态估计方法,从时域、频域对电池数据的局部信息以及全局信息均进行挖掘,然后利用时、频域特征融合模块,对局部信息和全局信息进行融合,最终更够更精准的预测soh的结构,并且将数据以及模型的不确定性引入soh的估计中,增加了锂电池的健康状态预测结果的可信度。本发明提出的技术方案能够更全面的提取特征,并且提高预测soh结果的精确性。
13.为了实现上述目的,本发明采用的技术方案是:
14.一种基于时频双流特征表征的锂电池健康状态估计方法,包括如下步骤:
15.步骤1,获取电池数据集,对其中的电池数据进行预处理,即去除异常值并进行标准化;
16.步骤2,对预处理后的电池数据,提取与电池健康容量相关的数据;
17.步骤3,构建sff block模块,所述sff block模块包括时域组件、频域组件和融合组件,将提取的数据分别输入时域组件、频域组件以及残差连接;在时域组件,利用cnn-bgru网络初步提取局部信息;在频域组件,利用快速离散傅立叶变换得到幅值和相角分量,再进行卷积,提取全局频率信息;在融合组件,将时域组件和频域组件的输出进行时域、频域特征融合,得到融合特征;所述残差连接布置于所述融合特征的输出位置;
18.步骤4,将多个所述sff block模块堆叠构建sffnet,在sffnet后增加证据深度学习模块,构建sffnet uncertainty;分别训练sffnet和sffnet uncertainty,sffnet的输出为健康状态的预测区间,sffnet uncertainty的输出为健康状态的置信区间。
19.在一个实施例中,所述步骤1,电池数据包括时间、电流、电压、阻抗、温度以及容量;所述步骤2,提取的与电池健康容量相关的数据包括电池充放电时电池电流、电压、温度以及容量。
20.在一个实施例中,所述去除异常值,方法为:
21.对于数据x1、x2、
…
、xn,计算其算数平均值以及每个数据的剩余误差,并算出标准偏差σ,若某个数据xi的剩余误差vi满足下式:
[0022][0023]
则认为xi是含有粗大误差的异常值,将其去除;其中,n是电池数据集中的数据个数,1≤i≤n;
[0024]
所述标准化是将数据进行最小-最大标准化,将所有的数值映射到[0.0,1.0]的范围内,转换公式如下:
[0025]
[0026]
其中,x和x
*
分别表示数据在最小-最大标准化之前和之后的值,max和min表示所有电池数据的最大值和最小值。
[0027]
在一个实施例中,所述步骤3,在时域组件,首先利用cnn沿时间维度滑动对时域特征进行处理,然后将处理后的数据输入双向gru学习到双向相关性,完成对局部信息的初步提取;在频域组件,首先对数据进行快速离散傅立叶变换得到原始数据对应的频域信号,每一个频域信号代表了其对应复指数谐波分量的复数权重,即将原始数据分解为若干个复指数谐波分量的加权求和,以反映原始数据多尺度的周期性;然后使用cnn对得到的频域信号的幅值和相角进行卷积操作,并在多层卷积后,对得到的数据进行快速逆傅立叶变换,得到时域信号;在融合组件,利用cbam对时域组件和频域组件的输出进行融合,所述cbam包括空间注意力机制和通道注意力机制,通过以下式子得到全局信息g和融合后的信息i:
[0028]
g=spatialattention(t-f)
[0029]
i=channelattention(g+t)
[0030]
其中t为时域组件提取到的特征,f为频域组件提取到的特征,spatialattention、channelattention分别代表空间注意力机制和通道注意力机制。
[0031]
在一个实施例中,所述时域组件,cnn中的卷积模版有多个;双向gru中,更新门的控制系数z
t
和重置门的控制系数r
t
表示如下
[0032]zt
=sigmoid(w
(z)
x
t
+u
(z)ht-1
)
[0033]rt
=sigmoid(w
(r)
x
t
+u
(r)ht-1
)
[0034]
其中,x
t
是当前时刻的输入,h
t-1
为上一时刻的隐藏状态,w
(z)
、u
(z)
为更新门中线性映射的权重矩阵,w
(r)
、u
(r)
为重置门中线性映射的权重矩阵
[0035]
更新门和重置门的作用表示为:
[0036]h′
t
=tanh(wx
t
+r
t
⊙
uh
t-1
)
[0037]ht
=(1-z
t
)
⊙ht-1
+z
t
⊙h′
t
[0038]
其中,h
′
t
是经过输入调整后的新的隐藏状态,h
t
是上一时刻隐藏状态和当前时刻新的隐藏状态的加权求和,
⊙
表示逐项乘积,即两个矩阵的对应元素相乘,z
t
表示控制系数,越接近1,代表记忆下来的数据越多;而越接近0则代表遗忘的越多,w、u为中候选隐藏状态的权重矩阵。
[0039]
在一个实施例中,所述频域组件,对于一个长度为t的信号序列s
t
,t=0,...,t-1,快速离散傅立叶变换如下:
[0040][0041]
通过上式将时域信号转化为频域信号,然后利用机器学习方法在频域信号上提取特征;对于一个复数a+j
·
b,其幅值a和相角θ由以下公式计算得到:
[0042][0043][0044]
其中j指虚数单位;
[0045]
对得到的幅值序列和相角序列分别进行卷积操作,在通过多层卷积后,将变换后
的幅值序列和相角序列重新合并为一个虚数序列;
[0046]
对得到的虚数序列进行快速逆傅立叶变换,将其变为时域信号,快速逆傅立叶变换如下:
[0047][0048]
在一个实施例中,所述通道注意力机制由下式表示:
[0049]
i=sigmoid(wc(avgpooling(t-f))+wc(maxpooling(t-f)))
[0050]
其中,wc是通道注意力机制中的线性映射权重矩阵,用来表示建模通道间的相关性;avgpooling和maxpooling分别指平均池化层和最大池化层,在通道注意力机制中,池化是在时间维度进行的;
[0051]
所述空间注意力机制由下式表示:
[0052]
g=sigmoid(cnn([avgpooling(t-f),maxpooling(t-f)]))
[0053]
在空间注意力机制中,池化是在通道维度进行的。
[0054]
在一个实施例中,在sffnet训练过程中,使用均方误差作为损失函数,描述预测健康状态与真实健康状态之间的差异大小;使用平均绝对误差和均方根误差描述预测健康状态的精度;在sffnet uncertainty训练过程中,使用证据深度学习,损失函数由似然项和证据项两部分组成,似然项越小代表着越拟合数据的分布,证据项越小代表着误差对应分布的不确定性更大;预测的健康状态使用四个分布参数描述,即一个分布区间;使用平均绝对误差和均方根误差描述预测健康状态的精度。
[0055]
在一个实施例中,所述sffnet uncertainty,将经过sffnet后的输出值利用证据深度学习方法,对预测结果的不确定性进行显式建模,实现预测结果的不确定性表达。
[0056]
与现有技术相比,本发明的有益效果是:
[0057]
(1)本发明不再只是单独使用电池数据中的时域信息,而是提出了包含时域、频域处理及融合部分的sffnet模块。其中,提出的sffnet模块,包含了时域组件、频域组件和时域、频域融合部分三个组件,首先对电池数据的时域、频域方面信息进行提取,然后将提取到的信息输入到融合模块,融合模块可以将两个分支中学到的全局信息以及局部信息进行融合,处于训练时梯度保留以及防止数据在网络处理过程中信息丢失的角度,再了添加残差结构。最后,经过多个sffnet模块的处理,数据达到了对全局信息以及局部信息进行利用的目的。
[0058]
(2)本发明不再仅仅用单一的预测输出值作为预测结果,而是利用证据深度学习方法,将先验放在模型输出上,对预测结果的不确定性进行显式建模,直接得到soh的预测分布。最终更够更精准的预测soh的结构,增加了预测结果的可信度。本发明提出的技术方案能够更全面的提取特征,并且提高预测soh结果的精确性。
附图说明
[0059]
图1为本发明整体框架流程图。
[0060]
图2为本发明网络整体结构图。
[0061]
图3为本发明电池数据预处理流程图。
[0062]
图4为本发明sff block具体结构图。
[0063]
图5为本发明网络训练流程图。
[0064]
图6为本发明电池soh预测流程图。
具体实施方式
[0065]
下面结合附图和实施例详细说明本发明的实施方式。
[0066]
如图1所示,本发明一种基于时频双流特征表征的锂电池健康状态估计方法,包括如下步骤:
[0067]
步骤1,获取电池数据集,对其中的电池数据进行预处理,即去除异常值并进行标准化。
[0068]
本步骤中,电池数据可来自于不同的实验,采集获得。主要包括时间、电流、电压、阻抗、温度以及容量等。由于电池的充放电过程是一个周期性过程,从信号分析的角度,这种周期性使得这类数据往往在频域上存在一些明显的规律,所以电池数据的频域中也存在大量的信息有待探索,故可以进一步对电池数据进行挖掘。
[0069]
步骤2,对预处理后的电池数据,提取与电池健康容量相关的数据。
[0070]
与本发明的目的匹配,所提取的与电池健康容量相关的数据包括电池充放电时电池电流、电压、温度以及容量。
[0071]
步骤3,构建sff block模块,所述sff block模块包括时域组件、频域组件和融合组件,将提取的数据分别输入时域组件、频域组件以及残差连接。在时域组件,利用cnn-bgru网络初步提取局部信息。在频域组件,利用快速离散傅立叶变换得到幅值和相角分量,再进行卷积,提取全局频率信息。在融合组件,将时域组件和频域组件的输出进行时域、频域特征融合,得到融合特征。所述残差连接布置于所述融合特征的输出位置。
[0072]
sff block模块从时域、频域两方面提取电池数据的局部信息以及全局信息,并将提取到的特征进行进一步的加工处理和融合,得到最终的融合特征。sff block模块共三个输入分支,输入均为从电池数据中提取到的与电池健康容量相关的数据,其中,输入的两个分支为时域组件和频域组件,第三个分支为构建的残差连接。
[0073]
本步骤中,充分利用电池数据中的不同模态信息(时域、频域信息)以及合理融合,从特征提取的角度,在时域上,利用卷积或循环神经网络对原始信号进行提取,此时所进行的特征提取对应的是原始信号的局部信息。在频域上,对通过快速离散傅立叶变换得到原始数据得到的幅值和相角进行卷积操作,此时所进行的特征提取对应的是原始信号的全局信息,从而达到对时域提取的局部特征进行全局特征的补充的目的。
[0074]
步骤4,将多个所述sff block模块堆叠构建sffnet,在sffnet后增加证据深度学习模块,构建sffnet uncertainty。分别训练sffnet和sffnet uncertainty,sffnet的输出为健康状态的预测区间,sffnet uncertainty的输出为健康状态的置信区间,实现最终的soh估计。
[0075]
本步骤中,进行了不确定性建模,考虑数据以及模型的不确定性,得到soh的置信区间,提升模型的表征能力,从而更精确地预测电池soh。进一步地,通过sffnet uncertainty,将经过sffnet后的输出值利用证据深度学习方法,对预测结果的不确定性进行显式建模,实现预测结果的不确定性表达。该部分利用证据深度学习方法,更好的考虑了
现实生产中由于信息掌握不全面或测试是遇到训练集分布外的数据带来的不确定性,对不确定性进行了显式建模,输出的结果为soh的置信区间,实现电池健康状态的预测结果的不确定性表达,提升模型的表征能力,增加了预测结果的可信度。本发明的整体网络结构如图2所示。
[0076]
在本发明的实施例中,参考图3,所述的步骤1,对收集到的数据做数据预处理,检查其中是否存在异常值,若存在,则对该异常值数据进行处理。处理完异常值后,对数据进行标准化。
[0077]
本实施例利用拉依达准则对数据进行异常值去除,可以描述为:
[0078]
对于数据x1、x2、
…
、xn,计算其算数平均值以及每个数据的剩余误差,并按贝塞尔公式等方式算出标准偏差σ,若某个数据xi的剩余误差vi满足下式:
[0079][0080]
则认为xi是含有粗大误差的异常值,将其去除。其中,n是电池数据集中的数据个数,1≤i≤n。
[0081]
所述标准化是将数据进行最小-最大标准化,将所有的数值映射到[0.0,1.0]的范围内。对去除异常值后得到的数据进行最小-最大标准化,转换公式如下:
[0082][0083]
其中,x和x
*
分别表示数据在最小-最大标准化之前和之后的值,max和min表示所有电池数据的最大值和最小值
[0084]
在本发明的实施例中,参考图4,所述的步骤3,在时域组件,使用cnn和双向gru模型对电池数据的局部信息进行提取。首先利用cnn沿时间维度滑动对时域特征进行处理,滑动的cnn可以更全面的学习输入数据中的连续模式,然后将处理后的数据输入双向gru学习到双向相关性,完成对局部信息的初步提取。
[0085]
本发明选择gru而不是更加复杂的长短时记忆神经网络(lstm:long-short term memory)的原因有两点。第一,相比于lstm来说,gru的结构更简单,可以更好的适应移动计算等算力较弱的硬件设备;第二,同等设置下gru的参数量比lstm更少,这种设定使得时域特征模型参数量较小,从而在减小过拟合的前提下,给频域上的特征提取留出一定的参数空间。
[0086]
进一步地,在时域组件,cnn卷积的具体细节为:
[0087]
具体来说,对于长度为n的一维度卷积模版gi,i=0,...,n-1,cnn中的一次卷积操作可以由以下式子表示,
[0088][0089]
其中根据不同的设定,cnn中的卷积模版可以有多个,其个数成为通道数。理论上讲,每一个模版可以对数据的一种模式进行建模,多个模版的优势即在于可以对数据中混叠的若干中模型进行建模。在利用多通道cnn对数据卷积并且升维后,将处理后的数据输入gru从而实现对原始数据的时域特征提取。
[0090]
双向gru网络的具体细节为:
[0091]
gru是一种基于隐马尔可夫假设的循环神经网络,包括:更新门、重置门两个门控环节,更新门的控制系数z
t
和重置门的控制系数r
t
表示如下:
[0092]zt
=sigmoid(w
(z)
x
t
+u
(z)ht-1
)
[0093]rt
=sigmoid(w
(r)
x
t
+u
(r)ht-1
)
[0094]
其中,x
t
是当前时刻的输入,h
t-1
为上一时刻的隐藏状态,w
(z)
、u
(z)
为更新门中线性映射的权重矩阵,w
(r)
、u
(r)
为重置门中线性映射的权重矩阵。更新门帮助模型决定到底要将多少过去的信息传递到未来,另一方面利用更新门模型能决定从过去复制所有的信息以减少梯度消失的风险。重置门主要决定了到底有多少过去的信息需要遗忘,可以使用以下表达式计算。具体来说,两个门控的作用可以表示为:
[0095]h′
t
=tanh(wx
t
+r
t
⊙
uh
t-1
)
[0096]ht
=(1-z
t
)
⊙ht-1
+z
t
⊙h′
t
[0097]
其中,h
′
t
是经过输入调整后的新的隐藏状态,h
t
是上一时刻隐藏状态和当前时刻新的隐藏状态的加权求和,
⊙
表示逐项乘积,即两个矩阵的对应元素相乘,z
t
表示控制系数,越接近1,代表记忆下来的数据越多。而越接近0则代表遗忘的越多,w、u为中候选隐藏状态的权重矩阵。因此,更新门决定了新旧隐藏状态对当前隐藏状态的影响比重,重置门决定了过去的隐藏状态对新隐藏状态影响的大小。
[0098]
在频域组件,首先对数据进行快速离散傅立叶变换得到原始数据对应的频域信号,每一个频域信号代表了其对应复指数谐波分量的复数权重,即将原始数据分解为若干个复指数谐波分量的加权求和,从而反映原始数据多尺度的周期性。然后使用cnn对得到的频域信号的幅值和相角进行卷积操作,并在多层卷积后,对得到的数据进行快速逆傅立叶变换,得到时域信号,以方便之后的时、频域融合结构对来自时域和频域的信息进行融合。
[0099]
进一步地,在频域组件,对于一个长度为t的信号序列s
t
,t=0,
…
,t-1,快速离散傅立叶变换如下:
[0100][0101]
通过上式将时域信号转化为频域信号,然后利用机器学习方法在频域信号上提取特征。由于频域信号是复数信号,不方便对其进行直接处理,在得到频域信号后,首先计算其对应的幅值和相角。对于一个复数a+j
·
b,其幅值a和相角θ由以下公式计算得到:
[0102][0103][0104]
其中j指虚数单位。
[0105]
对得到的幅值序列和相角序列分别进行卷积操作,在通过多层卷积后,将变换后的幅值序列和相角序列重新合并为一个虚数序列。
[0106]
为方便之后的融合模块对提取的特征进行融合,需要对得到的虚数序列进行快速逆傅立叶变换,将其变为时域信号,快速逆傅立叶变换如下:
[0107][0108]
将变换后的数据作为模型所提取的频域特征。值得一提的是,在很多情况下,在频域上做卷积等价于在时域上做乘积,这一理论支撑了利用在频域上做卷积提取全局特征对时域中提取的局部特征补充的合理性。
[0109]
得到了时频域的特征后,将二者直接相加/相减的形式显然过于粗糙,虽然期望二者提取不同的特征(两个特征解耦),但实际上二者所提取的特征大概率是存在混叠冗余信息的,所以本发明采用更先进的方法。即,在融合组件,利用cbam对时域组件和频域组件的输出进行融合,cbam包括两个模块:空间注意力机制(spatial attention mechanism)和通道注意力机制(channel attention mechanism),通过以下式子得到全局信息g(global)和融合后的信息i(information):
[0110]
g=spatialattention(t-f)
[0111]
i=channelattention(g+t)
[0112]
其中t为时域组件提取到的特征(time),f为频域组件提取到的特征(frequency),spatialattention、channelattention分别代表空间注意力机制和通道注意力机制。本发明利用t-f除去频域特征中的冗余信息,然后通过空间注意力机制提取全局特征g。然后再将全局特征g与时域特征t相加后,利用通道注意力机制进行调整从而得到综合全局特征和局部特征的更具有表征能力的综合特征。
[0113]
进一步地,在融合组件,通道注意力机制中,得到了每一个特征通道的权重后,可以将该权重用于原来的各个通道,这样可以学习到不同通道的重要性。通道注意力机制可由下式表示:
[0114]
i=sigmoid(wc(avgpooling(t-f))+wc(maxpooling(t-f)))
[0115]
其中,wc是通道注意力机制中的线性映射权重矩阵,用来表示建模通道间的相关性。avgpooling和maxpooling分别指平均池化层和最大池化层。首先将各通道的全局空间特征作为该通道的表示,即对输入的特征进行平均池化层和最大池化层;然后将池化结果送入多层感知机mlp中学习,学习到各通道的依赖程度,并根据依赖程度对不同的特征进行调整;然后将输出的两分支相加后使用sigmoid函数映射处理,最终得到通道注意力值。在通道注意力机制中,池化是在时间维度进行的。
[0116]
空间注意力机制能够捕获到最重要的特征区域,可由下式表示:
[0117]
g=sigmoid(cnn([avgpooling(t-f),maxpooling(t-f)]))
[0118]
首先对输入的特征压缩通道大小,以便学习空间的特征,即对输入的特征进行平均池化层和最大池化层,然后按照通道将两个池化的结果拼接起来,再对拼接后的结果进行卷积操作。与通道注意力机制不同的是,在空间注意力机制中,池化是在通道维度进行的。
[0119]
在本发明的实施例中,步骤4,整体上采取sff block堆叠的方式构建sffnet,并且处于训练时梯度保留以及防止数据在网络处理过程中信息丢失的角度,在每个sff block间加入了残差连接。
[0120]
sffnet与sffnet uncertainty网络的训练过程,具体包括以下步骤:
[0121]
step1:训练数据准备
[0122]
由于不同的电池的数据集中可用的与电池健康容量相关数据是不同的,首先对使用的数据集进行预处理,查看是否存在异常值,若存在,则对异常值进行处理;随后,筛选与电池健康容量相关数据(一般为温度、电路、电压数据),并将选择的数据进行归一化到[0.0,1.0]之间。在训练时,输入的变量分别输入到了三个部分,分别为时域组件、频域组件以及用来建立残差连接。
[0123]
step2:损失函数设置(损失函数、参数更新规则)
[0124]
在sffnet训练过程中,使用均方误差(mse,mean squared error)作为损失函数,描述预测健康状态与真实健康状态之间的差异大小。使用平均绝对误差(mae,mean absolute error)和均方根误差(rmse,root mean squared error)描述预测健康状态的精度。
[0125]
在sffnet uncertainty训练过程中,使用证据深度学习,损失函数由似然项和证据项两部分组成,似然项越小代表着越拟合数据的分布,证据项越小代表着误差对应分布的不确定性更大。预测的健康状态使用四个分布参数描述,即一个分布区间,并使用平均绝对误差和均方根误差描述预测健康状态的精度。
[0126]
损失函数mse描述的是模型预测值与样本真实值之间的距离平方的平均值,具体计算公式如下:
[0127][0128]
其中,f(x)为sffnet预测的soh,yi为真实的soh大小,n为样本个数。
[0129]
sffnet uncertainty损失函数由似然项和证据项两部分组成,具体公式如下:
[0130]
l=l
nll
+λlr[0131]
平均绝对误差mae描述的是模型预测值与样本真实值之间的距离的平均值,具体计算公式如下:
[0132][0133]
其中,f(x)为sffnet预测的soh,yi为真实的soh大小,n为样本个数。
[0134]
均方根误差rmse描述的是模型预测值与样本真实值之间的距离的平均值,具体计算公式如下:
[0135][0136]
step3:网络参数设置
[0137]
训练过程中,sffnet使用3个sff block模块的堆叠,每个sff block模块含有时域组件、频域组件和时、频域融合三个组件。在时域组件中,cnn含有6个通道数,卷积核大小设置为7,bgru中神经元个数为32个;在频域组件中,cnn含有6个通道数,卷积核大小设置为7。
网络训练时所使用的优化算法对于提高深度学习网络的训练速度和收敛性非常重要,故本发明在训练中使用adam优化器,初始学习率设置为1e-5,反向传播时所使用的训练数据的batch_size设置为64。
[0138]
本发明进一步的改进在于,预测结果不确定性显式建模具体包括以下步骤:
[0139]
本发明同时考虑了数据本身的不确定性,以及(贝叶斯视角下)模型的不确定性。数据不确定性旨在对电池soh本身的分布进行建模,模型不确定性旨在对模型预测的置信度进行建模。从贝叶斯视角,数据不确定性相当于对似然函数进行估计,模型不确定性相当于对先验进行估计。接下来具体地对建模方式进行阐述。
[0140]
由大数定理,不失一般性的,假设电池的soh为y,服从一个高斯分布n(
·
|μ,σ2)。并且利用全概率展开p(μ,σ2)=p(μ|σ2)p(σ2),假设其标准差σ和均值μ分别服逆伽马分布和另一高斯分布:
[0141]
σ2~γ-1
(
·
|α,β)
[0142]
μ~n(
·
|γ,σ2v-1
)
[0143]
其中α,β和γ,σ2v-1
分别是逆伽马分布和高斯分布的参数。这样假设的原因是由于这种先验概率与对应后验概率是共轭分布,这将大大简化推导的难度,使得其具有相同的分布类型。最终可以将p(μ,σ2)的概率密度函数写为标准逆伽马分布(nig:normal inverse-gamma distribution)
[0144][0145]
这里由于分布方差的性质,假设证据为φ=2ν+α,这一证据项将在后续损失函数设计中使用。进一步由上述联合分布,将数据的分布以及其分布参数的分布刻画m=[α,β,γ,v],可以得到以下结论:
[0146]
e[μ]=γ
[0147][0148][0149]
由此数据的不确定性可以由e[σ2]衡量,模型的不确定性可以由var[μ]衡量。综上,可以将sffnet中最后一层全联接层预测一个均值μ修改为预测四个分布参数m,并且把损失函数换成似然项l
nll
和证据项lr加权的形式,其中似然项是指数据的负对数似然可以直接通过对似然函数求对数变号得到,证据项和最终损失如下所示,
[0150]
lr=\y-γ\φ
[0151]
l=l
nll
+λlr[0152]
具体来说,最小化负对数似然使得模型拟合数据的分布,最小化证据项使得误差对应分布的不确定性更大。综上,通过对电池soh的分布进行假设,并通过设计损失函数的形式,把数据以及模型的不确定性引入soh的估计中,更好的考虑了现实生产中由于信息掌握不全面或测试是遇到训练集分布外的数据带来的不确定性,更有实用价值。
[0153]
本发明在进行测试前,首先对测试集中的电池数据做与训练集一样的预处理,即
异常值处理和标准化。然后将与电池健康度有关的变量输入训练好的sffnet网络中进行预测,得到每时刻对应的预测soh结果。而在不确定性建模中,sffnet uncertainty网络得到的是soh的置信区间。
[0154]
在本发明的一个具体实施例中,选取的电池数据来自美国马里兰大学计算机辅助产品寿命周期工程(calce)公布的cs2电池循环测试数据集,该类电池为钴酸锂电池,额定容量为1100mah。选用在室温下(23℃),1c的恒流循环的cs2_35、cs2_36、cs2_37、cs2_38数据,进行训练测试,每次选择3个数据集进行训练集,1个数据集作为测试集。
[0155]
数据预处理的过程如下:
[0156]
calce数据集中所有cs2电池都经历了相同的充电曲线,遵循一种标准的恒流/恒压协议,恒流速率0.5c直到电压达到4.2v,然后维持4.2v,直到充电电流降至0.05a以下。放电时的截止电压为2.7v,然后随机命名,第n个编号的cs2单元格命名为“cs2_n”。
[0157]
每个cs2电池在表中与其名称相邻的条件下多次循环。每个单元格的数据文件包含测试生成的记录数据的excel文件。使用的数据cs2_35、cs2_36、cs2_37、cs2_38均使用arbin电池测试仪进行测试。包含的数据信息有时间、电流、电压、放电容量、充电容量等17个变量。在该数据集中,选择电流、电流两个变量作为预测soh的变量。共进行四次实验,每次实验选择3个数据集进行训练集,1个数据集作为测试集。(例,cs2_35、cs2_36、cs2_37作为训练集,cs2_38数据作为测试集)。
[0158]
sffnet网络构建及训练过程如图5,其使用3个sff block模块的堆叠,每个sff block模块含有时域组件、频域组件和融合组件。在时域组件中,cnn含有6个通道数,卷积核大小设置为7,bgru中神经元个数为32个;在频域组件中,cnn含有6个通道数,卷积核大小设置为7。
[0159]
网络采用反向传播算法,网络训练时所使用的优化算法对于提高深度学习网络的训练速度和收敛性非常重要,故本发明在训练中使用adam优化器,初始学习率设置为1e-5,反向传播时所使用的训练数据的batch_size设置为64,训练次数为300次,保存在验证集上表现最好的模型参数,作为最终的训练模型。
[0160]
使用calce数据集中的cs2_35、cs2_36、cs2_37、cs2_38数据,本次使用cs2_35、cs2_36、cs2_38作为训练集,cs2_37作为测试集,如图6,下面具体介绍进行测试的步骤:
[0161]
对测试集的数据进行与训练集相同的预处理,即异常值处理、标准化。将测试集中的电流电压作为预测电池的soh变量输入到训练好的网络进行测试,得到每时刻电流电压数据对应的预测soh值。得到所有时刻电流电压对应的soh值之后,与此时刻真实的soh值进行比较,计算其的mae和rmse。mae和rmse值越小,说明模型的预测精度越高。
[0162]
与cnn-bgru方法、transformer方法进行比较,评估模型效果,结果如表1。由结果可以看出,本发明sffnet uncertainty模型可以得到相较于其他模型更好的预测效果。
[0163]
表1
[0164][0165]
本领域的技术人员容易理解,以上所述仅为本发明的方法实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于时频双流特征表征的锂电池健康状态估计方法,其特征在于,包括如下步骤:步骤1,获取电池数据集,对其中的电池数据进行预处理,即去除异常值并进行标准化;步骤2,对预处理后的电池数据,提取与电池健康容量相关的数据;步骤3,构建sff block模块,所述sff block模块包括时域组件、频域组件和融合组件,将提取的数据分别输入时域组件、频域组件以及残差连接;在时域组件,利用cnn-bgru网络初步提取局部信息;在频域组件,利用快速离散傅立叶变换得到幅值和相角分量,再进行卷积,提取全局频率信息;在融合组件,将时域组件和频域组件的输出进行时域、频域特征融合,得到融合特征;所述残差连接布置于所述融合特征的输出位置;步骤4,将多个所述sff block模块堆叠构建sffnet,在sffnet后增加证据深度学习模块,构建sffnet uncertainty;分别训练sffnet和sffnet uncertainty,sffnet的输出为健康状态的预测区间,sffnet uncertainty的输出为健康状态的置信区间。2.根据权利要求1所述基于时频双流特征表征的锂电池健康状态估计方法,其特征在于,所述步骤1,电池数据包括时间、电流、电压、阻抗、温度以及容量;所述步骤2,提取的与电池健康容量相关的数据包括电池充放电时电池电流、电压、温度以及容量。3.根据权利要求1所述基于时频双流特征表征的锂电池健康状态估计方法,其特征在于,所述去除异常值,方法为:对于数据x1、x2、
…
、x
n
,计算其算数平均值以及每个数据的剩余误差,并算出标准偏差σ,若某个数据x
i
的剩余误差v
i
满足下式:则认为x
i
是含有粗大误差的异常值,将其去除;其中,n是电池数据集中的数据个数,1≤i≤n;所述标准化是将数据进行最小-最大标准化,将所有的数值映射到[0.0,1.0]的范围内,转换公式如下:其中,x和x
*
分别表示数据在最小-最大标准化之前和之后的值,max和min表示所有电池数据的最大值和最小值。4.根据权利要求1所述基于时频双流特征表征的锂电池健康状态估计方法,其特征在于,所述步骤3,在时域组件,首先利用cnn沿时间维度滑动对时域特征进行处理,然后将处理后的数据输入双向gru学习到双向相关性,完成对局部信息的初步提取;在频域组件,首先对数据进行快速离散傅立叶变换得到原始数据对应的频域信号,每一个频域信号代表了其对应复指数谐波分量的复数权重,即将原始数据分解为若干个复指数谐波分量的加权求和,以反映原始数据多尺度的周期性;然后使用cnn对得到的频域信号的幅值和相角进行卷积操作,并在多层卷积后,对得到的数据进行快速逆傅立叶变换,得到时域信号;在融合组件,利用cbam对时域组件和频域组件的输出进行融合,所述cbam包括空间注意力机制和通道注意力机制,通过以下式子得到全局信息g和融合后的信息i:g=spatialattention(t-f)
i=channelattention(g+t)其中t为时域组件提取到的特征,f为频域组件提取到的特征,spatialattention、channelattention分别代表空间注意力机制和通道注意力机制。5.根据权利要求4所述基于时频双流特征表征的锂电池健康状态估计方法,其特征在于,所述时域组件,cnn中的卷积模版有多个;双向gru中,更新门的控制系数z
t
和重置门的控制系数r
t
表示如下z
t
=sigmoid(w
(z)
x
t
+u
(z)
h
t-1
)r
t
=sigmoid(w
(r)
x
t
+u
(r)
h
t-1
)其中,x
t
是当前时刻的输入,h
t-1
为上一时刻的隐藏状态,w
(z)
、u
(z)
为更新门中线性映射的权重矩阵,w
(r)
、u
(r)
为重置门中线性映射的权重矩阵更新门和重置门的作用表示为:h
′
t
=tanh(wx
t
+r
t
⊙
uh
t-1
)h
t
=(1-z
t
)
⊙
h
t-1
+z
t
⊙
h
′
t
其中,h
′
t
是经过输入调整后的新的隐藏状态,h
t
是上一时刻隐藏状态和当前时刻新的隐藏状态的加权求和,
⊙
表示逐项乘积,即两个矩阵的对应元素相乘,z
t
表示控制系数,越接近1,代表记忆下来的数据越多;而越接近0则代表遗忘的越多,w、u为中候选隐藏状态的权重矩阵。6.根据权利要求4所述基于时频双流特征表征的锂电池健康状态估计方法,其特征在于,所述频域组件,对于一个长度为t的信号序列s
t
,t=0,...,t-1,快速离散傅立叶变换如下:通过上式将时域信号转化为频域信号,然后利用机器学习方法在频域信号上提取特征;对于一个复数a+j
·
b,其幅值a和相角θ由以下公式计算得到:b,其幅值a和相角θ由以下公式计算得到:其中j指虚数单位;对得到的幅值序列和相角序列分别进行卷积操作,在通过多层卷积后,将变换后的幅值序列和相角序列重新合并为一个虚数序列;对得到的虚数序列进行快速逆傅立叶变换,将其变为时域信号,快速逆傅立叶变换如下:7.根据权利要求4所述基于时频双流特征表征的锂电池健康状态估计方法,其特征在于,所述通道注意力机制由下式表示:i=sigmoid(w
c
(avgpooling(t-f))+w
c
(maxpooling(t-f)))
其中,w
c
是通道注意力机制中的线性映射权重矩阵,用来表示建模通道间的相关性;avgpooling和maxpooling分别指平均池化层和最大池化层,在通道注意力机制中,池化是在时间维度进行的;所述空间注意力机制由下式表示:g=sigmoid(cnn([avgpooling(t-f),maxpooling(t-f)]))在空间注意力机制中,池化是在通道维度进行的。8.根据权利要求4所述基于时频双流特征表征的锂电池健康状态估计方法,其特征在于,在sffnet训练过程中,使用均方误差作为损失函数,描述预测健康状态与真实健康状态之间的差异大小;使用平均绝对误差和均方根误差描述预测健康状态的精度;在sffnet uncertainty训练过程中,使用证据深度学习,损失函数由似然项和证据项两部分组成,似然项越小代表着越拟合数据的分布,证据项越小代表着误差对应分布的不确定性更大;预测的健康状态使用四个分布参数描述,即一个分布区间;使用平均绝对误差和均方根误差描述预测健康状态的精度。9.根据权利要求4所述基于时频双流特征表征的锂电池健康状态估计方法,其特征在于,所述sffnet uncertainty,将经过sffnet后的输出值利用证据深度学习方法,对预测结果的不确定性进行显式建模,实现预测结果的不确定性表达。
技术总结
一种基于时频双流特征表征的锂电池健康状态估计方法,获取电池数据集,提取与电池健康容量相关的数据;构建SFF Block模块,包括时域组件、频域组件和融合组件,将提取的数据分别输入时域组件、频域组件以及残差连接;在时域组件,利用CNN-BGRU网络初步提取局部信息;在频域组件,利用快速离散傅立叶变换和卷积,提取全局频率信息;在融合组件,将时域组件和频域组件的输出进行时域、频域特征融合,得到融合特征;残差连接布置于融合特征的输出位置;将多个SFF Block模块堆叠构建SFFNet,在SFFNet后增加证据深度学习模块,构建SFFNet Uncertainty,分别输出健康状态的预测区间和置信区间。置信区间。置信区间。
技术研发人员:曹相湧 吴雪龙 张友鹏 王启舟 肖文者 祝泽宇 舒程勇 孟德宇
受保护的技术使用者:西安交通大学
技术研发日:2023.05.16
技术公布日:2023/8/16

版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/