改进鸟群算法优化PF的双馈发电机故障诊断

2020-09-15 04:48赵伟吉王进花
计算机工程与应用 2020年18期
关键词:双馈鸟群步长

曹 洁,赵伟吉 ,余 萍,王进花

1.兰州理工大学 电气工程与信息工程学院,兰州 730050

2.兰州理工大学 计算机与通信学院,兰州 730050

1 引言

在海上和陆地风电机组中双馈发电机被广泛应用[1]。随着风电装机容量的增加,对双馈发电机的可靠性有了更高的要求[2-3]。在双馈发电机长期工作过程中,电流、电压等传感器均会发生故障。其中定子电流传感器故障能够使得输出功率丧失控制,导致系统失去控制。因此,研究风力发电机组双馈发电机定子电流传感器的故障诊断对提升机组运行可靠性和利用率具有重要的实际意义[3-4]。

双馈发电机故障诊断的方法主要有基于模型[5-8]、基于知识[9]和数据驱动[10]。其中,后两种方法对双馈发电机故障诊断已有许多的研究工作,利用大量输入输出历史离线数据(包含正常和故障数据)对故障进行快速检测,但是,在输入、噪声和工作点发生变化时造成系统出现误报情况,并且单一故障也可以造成系统多个信号超越阈值,故障区分困难。而粒子滤波算法不受非线性系统和噪声的影响,更加适合处理双馈发电机这种处于复杂噪声环境中的非线性、强耦合系统故障诊断问题。粒子滤波算法存在粒子贫化问题,导致故障诊断准确度不高[8]是制约此方法运用于双馈发电机故障诊断的重要缺陷。针对样本贫化问题,国内外学者已经完成了一系列研究。文献[11-13]提出的改进方法是基于传统重采样的架构,没有能够彻底改善粒子贫化的问题。

近些年,将群体智能优化算法与粒子滤波结合是粒子滤波发展的一个新思路[14]。国内外学者已经成功地将蚁群算法[15]、遗传算法[16]、萤火虫算法[17]、蝙蝠算法[18]、粒子群算法[19]等群智能优化算法与粒子滤波进行结合,并且在此基础上提出各种改进算法。Tian 等[20]运用人工鱼群算法优化无迹粒子滤波的采样过程,克服粒子贫化问题。韩锟等[14]将交叉、变异操作应用到果蝇算法中和粒子滤波结合,利用果蝇算法优化粒子滤波的重采样过程,改善粒子贫化问题。Zhang 等[21]提出鸟群算法的粒子滤波,但该算法只是对飞行行为的位置更新公式引入levy飞行解决陷入局部最优问题,未考虑觅食行为位置更新公式存在缺陷。白晓波等[22]首先将FWA的高斯函数改进为混合高斯变异算子,再改进了FWA 烟花选择策略,最后利用改进的FWA优化粒子滤波,有效地解决粒子权值退化和粒子贫化问题。昝孟恩等[23]针对粒子滤波算法存在的跟踪精度差、实时性不高等问题,从特征融合、算法融合和自适应粒子滤波三个方面介绍了国内外学者提出的改进方法的基本思想,展望了粒子滤波算法在目标跟踪领域的发展方向。

本文结合鸟群优化算法的寻优机制和粒子滤波的特点,引入自适应系数和自适应步长对鸟群算法的位置更新公式优化,并将改进的鸟群算法和粒子滤波进行融合,提出改进鸟群算法优化粒子滤波(IBSA-PF)算法。在增加粒子多样性的同时,提高粒子滤波算法精确度。在此基础上,对双馈发电机系统的故障诊断进行仿真分析。

2 粒子滤波算法

式中,δ(x)是狄拉克函数,xk是k时刻的状态值,y1:k为1到k时刻的观测值。因为直接从后验概率密度函数中采样是特别不容易,所以选择从重要密度函数中抽取样本。在递推过程中,权值更新公式为:

权值归一化处理,输出状态估计值:

3 鸟群优化算法

2015 年由Meng 等[24]提出的鸟群算法(BSA),是计算机智能领域中一种生物群体智能优化算法。该算法模仿鸟群觅食、警觉和飞行行为,同时具有粒子群算法和微分进化算法的优点,搜索效率较高而且稳定性较好。

觅食行为:在觅食时,每只鸟凭借本身和整个鸟群的经验进行觅食,更新公式表示:

其中,c和s分别是感知系数和社会加速度,一般为两个恒定正数;rand表示[0,1]区间内的独立均匀分布。

警觉行为:每只鸟尽量飞往鸟群中心,在此期间它们不可避免发生竞争。因此,每只鸟不会直接到达鸟群中心。警戒行为的更新公式如下:

其中,k(k≠i)是一个[0,1]的随机正整数;a1、a2为[0,2]的两个常量;pFiti为第i只鸟的最佳适应度值;sumpFit为鸟群的最佳适应度值总和;ε为计算机的避免零因子,表示最小的正数;meanj表示鸟群平均位置第j个元素。

飞行行为:鸟群由于受外界的掠夺、觅食或其他干扰而飞行到其他地方。当到达一个新环境后鸟群可能会再次寻找食物,一些鸟扮演生产者的角色来搜寻食物,另外一些会消费这些有生产者寻觅而来的食物。生产者和乞食者行为可以通过以下迭代公式描述[25]:

其中,randn表示均值为0、标准差为1 的高斯分布;FL(FL∈[0,2])表示乞讨者跟随生产者觅食。

4 改进鸟群算法

在BSA 中,觅食行为过程中的感知系数C和社会加速度S的值保持不变,即个体对自身最佳状态的学习和对群体全局最佳状态的学习保持不变,而在实际情况中应当是动态变化的。飞行行为中采用随机飞行的机制,在这种飞行机制下,算法容易陷入局部最优。

针对上述问题,本文在鸟群算法的觅食行为中引入自适应感知系数和社会加速度,使得每只鸟的感知系数和社会加速度根据本身的适应度值和种群最优适应度值而改变,使得每只鸟的感知系数和社会加速度自适应变化,且每只鸟的感知系数和社会加速度各不相同,相当于每只鸟具有不一样的飞行策略。飞行行为中引入自适应步长,将每只鸟的的位置和种群最优位置信息加入到步长的调节中,使得步长在运行周期中出现振荡递减,避免陷入局部最优,从而改善鸟群算法的局部与全局搜索能力,更好地平衡算法的局部与全局搜索能力。

4.1 自适应动态变化的感知系数和社会加速度

在IBSA中,觅食行为的位置更新公式由式(4)改变为式(8)。

其中,c1和s1的进化公式如下所示:

其中,fi表示当前第i只鸟的适应度,fg表示鸟群全局最优适应度,smin为s1的最小值。和标准BSA比较,体现两个不同:

(1)c1和s1的依据fi/fg的变化而变化,fi和fg的值跟随算法的运行而改变,fi/fg的值拥有很强的随机性与非线性。

(2)在标准BSA 中,所有鸟的c1和s1取值一样;而在式(8)中,每只鸟的c1和s1是各不相同的,这样设置的优点是同一代中的每只鸟具有不同的飞行策略。

fi/fg的值实际上体现了第i只鸟与鸟群全局最优鸟位置之间的距离,该值越大,表示两者的距离越大。fi/fg的值增大,s1的值随着减小,以便使

4.2 自适应步长的BSA

在IBSA中,本文受文献[26]启发,飞行行为的生产者位置更新公式由式(6)改变为式(10)。

自适应步长因子按照如下递归:

式中的tmax表示最大的迭代次数,αi为第i只鸟的步长因子,xibest为第i只鸟的最优位置,xgbest为鸟群的全局最优位置。和标准BSA比较,不同点为:

式(11)包含两部分,第一部分使得步长因子总体随着迭代次数逐渐递减,当αi较大时能够增加群体的多样性,有效增大算法的搜索范围,防止算法陷入局部最优值;当αi较小时有益于算法的局部搜索。第二部分给每只鸟群生产者个体的步长加入的比例调整,由于xibest各不相同,因此每个鸟群个体的步长因子αi也不相同。当第i只鸟的位置与种群最优位置距离越远时,αi越小。0.99的指数函数是随着的增大而减小,当其距离过远时,极有可能在前面搜索步长过大,因此和最优位置相隔较远,在后面的搜索中应该使得搜索步长减小,加入比例项的目的就是起到这种调节作用。式(11)的主要目的就是使得鸟群每只生产者的步长因子αi能够根据xibest和xgbest的差别自适应的变化。

5 改进鸟群算法优化粒子滤波

本文将改进鸟群算法融合到粒子滤波中改善重采样过程。思路如下:在粒子滤波中,经过重要性采样随机采样N个粒子后,利用设置的适应度函数和个体位置计算每个粒子的适应度值,如果粒子群分布在真实状态的附近,那么,粒子群中每个粒子具有很高的适应度值;反之,如果粒子群中的全局最优适应度值很低,则表明粒子群没有分布在真实状态附近,此时,利用IBSA算法对粒子分布进行优化,不断根据觅食、警戒和飞行行为来更新每个粒子的位置,使得粒子向适应度值高的区域飞去,促进粒子向真实状态区域靠近,从而提高粒子群整体质量。当粒子集的最优值到达设置的阈值ε时,则说明粒子集已经分布在真实状态附近,此时立刻停止优化。

算法实现步骤:

步骤1初始化鸟群迁徙频率Q、觅食概率P等参数。采样N个粒子xi(i=1,2,…,N)作为算法的初始粒子。

步骤2为重要性密度函数。通s1×rand的值不致于太大,也就是说第i只鸟的速度不会太大,这样就降低了第i只鸟错过最优值的概率。过适应度函数计算当前粒子集的适应度值,并找出前个体与群体全局最优位置。

步骤3采用改进鸟群算法优化采样粒子。

步骤4判断Q除以t能否整除,若能整除,则运行步骤5;若有余数,则进行步骤6。

步骤5将鸟群中的每只鸟划分为乞讨者与生产者,对生产者根据式(10)更新位置,对乞讨者根据式(7)更新位置,然后转到步骤7继续运行。

步骤6判断每只鸟处在觅食行为或者警戒行为,对每只鸟生成一个随机数服从(0,1)均匀分布,判别觅食概率P是否大于此数值,如果是,该鸟处于觅食状态,根据式(8)更新位置;反之,该鸟处于警戒状态,根据式(5)更新位置,结束后转至步骤7。

步骤7根据适应度函数f计算所有每只鸟的适应度值,再更新当前个体最优位置和整个群体最优位置。

式中,R为测量噪声方差;yk为最新观测值;ycie(i)为观测预测值。

步骤8当算法达到设定的阈值ε或最大迭代次数时,停止迭代优化,否则转入步骤4。

步骤9计算优化后粒子的重要性权值并归一化。

步骤10状态输出:

上述步骤充分利用了整个粒子集中的有效信息,有利于使得粒子向高似然区域移动,引入自适应系数和自适应步长增加粒子集多样性,促进粒子跳出局部极值并继续搜索。由于鸟群算法的收敛能力相对较高,如果每次算法达到最大迭代次数才停止时,IBSA-PF能够达到最终收敛,使得所有粒子聚集在收敛位置,这样就会降低粒子多样性。因此,本文在IBSA-PF中设置阈值和最大迭代次数,使得粒子粒子集向真实值区域移动,又能够防止最终收敛,从而确保IBSA-PF的精度与效率的综合性能优势。

运算复杂度分析:

IBSA-PF 与标准 PF 相比,IBSA 寻优步骤代替重采样步骤。假设粒子数N,最大迭代次数M。IBSA 中一个粒子的位置更新的时间复杂度6×O(1),迭代一次全部粒子的位置更新时间复杂度是6×N×O(1)那么以最大迭代次数M计算,能够得到IBSA-PF 的运算复杂度为O(6×M×N),而PF重采样过程涉及到粒子的交互对比,其运算复杂度为O(N×N)[18]。

由于设置阈值与最大迭代数,IBSA-PF的运算复杂度最高为O(6×M×N),与重采样的复杂度相比,寻优步骤复杂,因此在运算时间上IBSA-PF比标准PF高,与验证实验结果相一致。

6 实验结果分析

6.1 精确度实验验证

实验的硬件条件是Intel CoreTMi3-4170@3.70 GHz,内存8 GB,电脑系统是Windows 10。采用经典一维非线性模型进行实验验证算法的精确度。

过程模型:

量测模型:

初始状态设置为x0=0.1;Wk和Vk是均值为零的高斯噪声,设系统噪声方差Q=10,观测噪声方差R=1,仿真周期T=50。

采用均方根误差判定算法的估计精度,均方根误差公式为:

选取PF、PSO-PF、BSA-PF、IBSA-PF 四种算法进行仿真实验,状态估计以及误差结果如图1至图4所示。

图1 状态估计(N=90)

图2 滤波误差绝对值(N=90)

图3 状态估计(N=180)

图4 滤波误差绝对值(N=180)

其中,图1和图2所示为粒子数N=90 的状态估计与误差绝对值的仿真结果;图3 和图4 所示为粒子数N=180 的状态估计与误差绝对值的仿真结果。

从图1 到图4 可以看出,本文所提基于改进的鸟群算法优化粒子滤波(IBSA-PF),相较于标准PF、PSO-PF以及改进之前的BSA-PF,状态预测曲线与实际状态相似程度最高,其估计值与真实值更接近,这是因为IBSAPF在PF 的基础上,通过对重要性采样后的粒子进行引入自适应系数、自适应步长的鸟群迭代寻优,使粒子具有不同的寻优机制,合理分布在真实值附近,保证了样本多样性,从而提高粒子分布的合理性。

从表1中可以看出,4种算法随着粒子数的增加,均方根误差皆呈现减小的趋势,这与随着粒子数增多则粒子滤波估计精度越高的理论是相符合的。而在四种算法中,IBSA-PF的均方根误差最低,在粒子数为200以内时两者皆小于1。当粒子数为90时,IBSA-PF误差值也比粒子数为180的PF与PSO-PF的误差值小,说明IBSAPF能够用较少的粒子达到所需的精度,当粒子数越多时更为明显。

表1 估计精度(RMSE)对比

从表2 中可以看出,IBSA-PF 的运算时间慢于标准PF,但是略优于PSO-PF与BSA-PF相较于标准PF而言,IBSA-PF利用IBSA代替标准PF的重采样过程,增加了算法的复杂度,使得运行时间延长,由于IBSA对每个粒子具有不同的寻优策略,能够更好快速地向真实值附近移动,所以IBSA-PF具有更好的实时性。综上,IBSA-PF方法具有更好的滤波精度、运算速度综合性价比。

表2 运行时间对比 s

6.2 粒子多样性评测

为了评测IBSA-PF 算法状态估计时粒子多样性状况,将粒子数设为150,分别取k=10、k=20、k=45 时粒子的分布情况,如图5~7所示。

图5 k=10 时粒子状态分布状况

图6 k=20 时粒子状态分布状况

图7 k=45 时粒子状态分布状况

从图5~7 能够看出,IBSA-PF 与标准 PF 比较,拥有更宽的粒子分布,多数粒子分布在状态值附近的同时,依然在低似然区保留了部分粒子,外围分布更广,能够说明IBSA-PF 状态估计精度高于PF 的同时,拥有极好的粒子多样性,这是由于对鸟群寻优过程引入自适应系数和自适应步长,保证极好的粒子多样性。此外,IBSAPF 不进行传统的重采样操作,也在一定程度上克服了粒子贫化现象的出现。

6.3 双馈发电机故障诊断仿真与分析

双馈发电机非线性状态空间模型由定子和转子电压方程获得,在(αβ)参考系中表示的双馈发电机的模型为[27-29]:

其中:

状态向量x(t)由定子与转子电流分量构成。控制输入u(t)由定子与转子电压分量构成。

其中,Rs和Rr分别是定子绕组和转子绕组电阻,Lr、Ls、Lm分别是转子绕组电感、定子绕组电感和互感。ws为同步转速,Ωm为转子转速。转子转速可由以下公式得到[25]:

对式(18)进行离散化得到离散系统为:

式中,w(k)和v(k)分别为系统噪声与观测噪声,且两者互不相关。

双馈发电机的电流传感器通常是两相传感器,运用的是定子电流a 相与b 相的传感器,也就是说故障发生在a相或b相传感器。双馈发电机定子电流传感器发生故障时公式(21)改写为:

由上式可知,定子 a 相电流isa会影响iαs和iβs的值,定子b相电流isb只影响iβs的值,因此当a相电流传感器故障时,会使iαs和iβs的值发生变化,b相电流传感器故障时,只会使iβs的值发生变化。

本文选用双馈发电机系统的电流传感器故障进行仿真实验,利用MATLAB 平台和IBSA-PF 结合残差评价的故障检测方法进行故障检测,验证本文方法的有效性。参数设置,采样粒子数N=1 800,仿真时间T=200 s,离散步长ΔT=0.01 s。考虑系统中存在未知噪声等干扰的影响,设置噪声形式为ω~Γ(0.1,0.1),v~Γ(0.1,0.1)。设残差绝对值双馈发电机的参数见表3。

表3 双馈发电机仿真参数

(1)IBSA-PF对双馈发电机的状态跟踪精度

使用IBSA-PF 对未发生故障的双馈发电机系统进行状态估计得到图8到图10,分别显示当前时刻有效风速、未发生故障的双馈发电机模型状态估计和误差绝对值。

从图8 到图10 可知,iαs残差绝对值整体保持在0.41以下。iβs残差绝对值基本保持在0.3以下,只有在92 s 时其值超过0.3。表明IBSA-PF 对双馈发电机状态估计误差较小。

本文依据残差分析来判断系统是否发生故障,其主要方法是根据经验预先设定固定阈值,比较残差与阈值的大小关系,如果残差大于阈值,则系统发生故障。在设置固定阈值时,将一切未发生故障工作的值包含在阈值之内[30],一旦残差值超过设置的阈值,则系统发生故障。综合两种故障和正常情况下所允许的最大误差确定故障检测的固定阈值,本文选取的固定阈值为0.8和0.6。

图8 双馈发电机状态估计

图9 iαs 残差绝对值

图10 iβs 残差绝对值

(2)双馈发电机故障诊断实验

①定子电流a相电流传感器发生故障

故障情况对应于时间t=50 s 时,定子电流a相电流传感器发生突发故障,并在时间t=100 s 时消失。根据:

根据公式(22)定子电流a 相传感器的故障将对所有的输出 (y1=iαs和y2=iβs) 产生影响如图11 到图13所示。

图11 双馈发电机状态估计

图12 iαs 残差绝对值

图13 iβs 残差绝对值

上述仿真图中能够明显看到,在 0 ≤t≤50 和 100 ≤t≤ 200 时,iαs和iβs残差绝对值较小,且变化比较平稳,没有超过阈值。在 50 ≤t≤ 100 之间,rαs和rβs的残差绝对值均发生剧烈跳变,同时超过根据经验预先设定的固定故障阈值,表明在这个时间段定子电流a相的电流传感器发生故障。

②定子电流b相电流传感器发生故障

所考虑的故障情况跟之前类似,故障只发生在定子电流b相的电流传感器中,在时间t=100 s 时出现,并且在时间t=150 s 时消失。根据:

根据公式(22)定子电流b 相的传感器故障将只对输出y2=iβs产生影响,如图14至图16所示。

图14 双馈发电机状态估计

图15 iαs 残差绝对值

图16 iβs 残差绝对值

从图14~16 中可以看出,在 0 ≤t≤200 时,iαs的残差绝对值变化较平稳,且其值没有超过预先设定的固定故障阈值。在 0 ≤t≤100 和 150 ≤t≤200 时,iβs的残差绝对值较小,且未超过故障阈值,但在100 ≤t≤150 时,rβs的残差绝对值发生剧烈跳变,同时超过预先设定的固定故障阈值。表明在这个时间段定子电流b 相的电流传感器发生故障。

通过上述仿真实验表明,本文算法可以有效地实现对双馈发电机系统进行故障检测和隔离故障。

7 结论

针对标准粒子滤波存在粒子贫化现象,导致算法状态估计准确度不高的问题,提出基于改进鸟群算法优化粒子滤波的新算法。将其应用到双馈发电机故障诊断中,提高故障诊断的准确度。

(1)对标准鸟群算法引入自适应系数和自适应步长,使得改进的鸟群算法的全局搜索能力和收敛精度更高,再利用改进鸟群算法的寻优机制引导粒子集向真实状态移动,提高了样本的整体质量。

(2)IBSA-PF通过一维非线性系统模型进行验证仿真,实验结果表明IBSA-PF 的精度高于标准粒子滤波、PSO-PF和标准BSA-PF。

(3)IBSA-PF 应用到双馈发电机故障诊断实验中,结果表明IBSA-PF 能够准确地检测出系统的故障并隔离,为实际工程应用提供了借鉴思路。

(4)本文对算法的实时性和双馈发电机的间歇性故障和复合故障研究并不深入。因此,上述两问题需要进一步研究。

猜你喜欢
双馈鸟群步长
双馈式可变速抽水蓄能机组运行控制
储能型双馈风电机与SVG的无功电压联动控制策略
在你灵魂里沉睡的鸟群
双馈风力发电机虚拟同步控制策略研究
基于Motor CAD的双馈发电机温升速算方法研究
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
基于随机森林回归的智能手机用步长估计模型
为什么鸟要成群飞翔?
为什么鸟群飞行时不会彼此冲撞?
基于Armijo搜索步长的几种共轭梯度法的分析对比