基于自适应神经网络模糊推理系统的蓄电池SOH预测
铅酸蓄电池是一个复杂的电化学系统,其健康状况SOH(State of Health)受电解液离子导电性、电解液浓度、蓄电池内阻、自放电特性、环境温度等多种因素影响,老化失效机理复杂,很难建立数学模型对蓄电池的SOH进行准确预测[1]。
模糊神经网络技术是目前用于复杂系统测试的有效方法,它可以建立在对被测对象的不完整或不正确认识的基础上。单一神经元网络仅仅是一个黑盒系统,不能给蓄电池的SOH预测提供启发式的知识。单一的模糊预测可以简单实现启发式的知识学习,但不能得到精确的预测结果。两者的结合成为自适应神经网络模糊推理系统ANFIS(Adaptive Neural Fuzzy Inference System),用该系统预测蓄电池SOH可以同时具有两者的优点,实现准确预测[2]。
1 自适应神经网络模糊推理系统
简单的自适应模糊推理系统有2个输入和1个输出,对于一阶Sugeno模糊模型,其通用的规则由以下两个if-then判断分支组成[3-4]:
规则1:如果(x是A1)和(y是B1)则(z1=p1x+q1x+r1)
规则2:如果(x是A2)和(y是B2)则(z2=p2x+q2x+r2)
其中,x和y是输入值,Ai和Bi都是模糊集,zi为在模糊规则下论域中的输出值。其余参数是在具体的模型中确定的设计参数。该模型系统结构如图1所示。
在图1所示的五层结构中,第一层全部为自适应节点,每个节点的输出与输入向量的成员隶属度函数相关。第二层为固定节点,仅仅作为一个乘法器,将输入节点隶属度函数加权相乘。第三层也是固定节点,将前一层输出进行正则化处理。第四层为自适应节点,将第三层输出与一阶多项式相乘得到输出。第五层只有一个输出节点,用于将前一层输出加权平均,得到最终预测结果。在第二层和第四层需要确定相关的权值参数,一旦最优参数被确定,反向修正阶段开始,在这个阶段动态最优调整预设参数值,并在前向传播过程中计算神经模型系统的输出值。ANFIS为一种通用的逼近器,在对模糊推理数量不限制的情况下,可以逼近任意非线性函数[5]。
2 蓄电池SOH建模
2.1 模型输入选择
ANFIS模型存在输入选择和输入空间划分的问题,预测过程可以看做从输入空间到输出空间的一个映射。依靠放电特性对SOH进行预测,需要选择可以充分反映蓄电池SOH的样本数据作为输入,并为每个输入确定隶属度函数。
对于一组特定的蓄电池,其电池规格、工作温度、自放电特性及电解液浓度在短时间放电过程中是大致恒定的,可以不作为输入选择。蓄电池内阻与SOH密切相关,但蓄电池内阻不仅受劣化程度影响,还受其他因素影响,因此不宜作为输入选择。放电电压间的差异可以反映SOH,但其差值不是常数且放电电压依赖于放电电流,因此也不宜作为输入量。总结比较分析,可以选择输出的能量和放电深度作为模型的输入[6]。
2.2 蓄电池SOH预测模型建模
为了使模型输出能量不受不同个体和型号的影响,首先对输出能量进行归一化处理。以输出能量最高者为参考,每个电池的输出能量与最高输出能量比值为归一化数据样本。对蓄电池SOH进行预测建模,得到Sugeno模糊推理系统模型,如图2所示。
确定输入变量后,以蓄电池SOH作为输出构造一阶Sugeno模糊系统模型,如图2所示。对每个输入分别使用4个隶属度函数进行训练,训练后对数据进行测试以检验训练后模型。
3 蓄电池SOH模型的MATLAB仿真
3.1 数据选择
以装甲车辆铅酸蓄电池为例,在实际测试过程中,由于放电深度和放电终止电压的限制,对蓄电池SOH的计算一般采用放电深度为5%~20%的短时间部分放电数据。
装甲车辆铅酸蓄电池在使用过程中,随着放电的进行,端电压下降,密度降低,但为防止极板产生硫化而对蓄电池造成损害,密度不能长时间低于1.11 g/cm3。因此装甲车辆铅酸蓄电池的输出能量需保证在一定的范围内。本模型采用输出能量范围为80%~100%的短时间测量数据作为ANFIS模型的输入。
蓄电池的实际容量可以根据容量计算公式,通过核对性放电测试方法得到。本文对一组某型号装甲车辆铅酸蓄电池进行测试,选择在放电深度为5%、10%、20%情况下的100组数据对ANFIS模型进行仿真。ANFIS模型的双输入分别为x(放电深度)和y(输出能量),单输出为f(预测容量)。
3.2 模型MATLAB仿真
本实验采用的软件为MATLAB 7.8.0(R2009a),仿真环境为toolboxes中的anfisedit工具。蓄电池SOH的MATLAB仿真步骤如下[7]:
(1)在软件主窗口中输入数据[x y f]。
(2)调用anfisedit工具载入实际测试数据[x y f],以100组数据作为训练数据,以100组数据中偶数的数据作为测试数据。
(3)生成初始FIS,结构如图3所示,模糊系统有2个输入量,1个输出量,覆盖每个输入量的都是4个模糊子集,每一个规则都有4个输出,共有16个,最终所有模糊子集都被清晰化为1个输出量。
- 超级电容在太阳能路灯设计中的应用(02-23)
- MATLAB对AC/DC/AC电源的死区效应谐波仿真(12-12)
- MATLAB/SIMULINK的永磁同步电机矢量控制系统仿真研究(12-09)
- 对Matlab单边带信号处理得到生动的仿真模型(12-09)
- MATLAB GUI的数字信号处理仿真平台的设计(12-09)
- Matlab的孤立逆变源的设计方案(12-08)