基于FFT与遗传算法的用电器识别
2020-11-17曹以龙涂少博帅禄玮
曹以龙, 涂少博, 帅禄玮
(上海电力大学 电子与信息工程学院, 上海 200090)
火灾事故的危害性大,特别是在人口密集区。对大功率、高发热用电器的使用进行识别和监控,能避免很多悲剧的发生。文献[1-2]分别提出了通过负载瞬态特征和欧式距离来识别用电器类型的方法,但该方法只是单纯依靠瞬态特征或欧式距离进行种类繁多的用电器分类,不同类别用电器数据与样本数据之间的匹配阈值较难确定,可操作性不强。文献[3]提出了基于遗传算法的神经网络分类识别方法,结合负载功率、瞬态、稳态电流波形等电路参数进行识别,对家庭用电智能化具有一定的推动作用,但是数据采集困难且对硬件设备要求较高。文献[4]以电流波形的15次谐波系数作为系统的输入,通过样本数据对神经网络模型进行训练获得分类网络,实现对负载的分类识别,但是神经网络运算量过大,对控制器的要求过高。
通过以上分析可知,从时域的角度进行用电器的识别较为困难。为了降低实际应用中对硬件的要求,尽可能对多种用电器进行分类识别,本文从频域出发,通过快速傅里叶变换(Fast Fourier Transform,FFT)得到信号的频谱[5],根据用电器的频域特性,采用遗传算法对当前投入使用的用电器组合进行搜索,达到用电器识别的目的。
1 用电器特征参量
本文提出的用电器识别算法的核心是,得到当前电网侧总负荷曲线与各种标准用电器负荷曲线之间的对应关系,以此得到当前接入的用电器类型,完成电器类别的判定。因此,需要选取用电器的特征电能参数,作为判定依据,根据文献[6]得到常用的用于用电器识别的特征参量。
1.1 电流特性
周期性变化的电流信号的有效值及其离散化公式为
(1)
(2)
式中:I(t)——瞬时电流值;
Im——电流峰值;
ω——角频率;
I——有效值;
Irms——电流的均方根;
M——采样点数;
i(n)——电流离散值。
1.2 功率特性
瞬时功率的公式为
P(n)=u(n)i(n)
(3)
式中:P(n)——瞬时功率;
u(n)——电压离散值。
1.3 谐波特性
电流总谐波含有率为
(4)
式中:Ii——电流作傅里叶变换后的第i次谐波幅值;
h——分离谐波的次数。
由于用电器的电压、瞬时功率具有局限性,不符合负荷识别的要求,而电流谐波特性,经过 FFT变换后各负荷的奇次谐波含有率具有明显特征,可作为负荷识别的主要指标,因此选取电流谐波含量作为负荷识别的特征参量。
2 电能参数预处理
将用电器谐波电流经过FFT变换,得到谐波的频域特征。时域波形初始相角φ不同时,经过FFT变换后的电流谐波实部和虚部波形如图1所示。
图1 FFT变换后电流谐波实部与虚部波形
由图1可以看出,初始相角不同,FFT变换后的实部与虚部峰值会发生改变,且该变化非线性,不利于波形的识别。因此,在实际操作中,需要对谐波电流进行同步采样,保证采样初始相角相同。
3 基于FFT与遗传算法的用电器识别
3.1 FFT的性质
FFT是离散傅里叶变换(Discrete Fourier Transform,DFT)的快速算法,两者具有相同性质。DFT变换后的数据公式[7]为
k=0,1,2,…,N-1
(5)
式中:x(n)——采样的模拟信号;
N——变换点数。
由式(5)不难推出DFT变换公式为
DFT[ax1(n)+bx2(n)]=aX1(k)+bX2(k)
(6)
式中:a,b——常数。
由式(6)可得,两个时域叠加的信号,经过DFT变换后的实部与虚部的值与两个信号独立DFT变换后得到的实部与虚部分别相加的值,对应相等。即
(7)
式中:xreal,ximag——叠加信号的实部与虚部;
x1real,x2real,x1imag,x2imag——独立信号的实部与虚部。
不同频率及叠加信号的时域与频域波形如图2所示。图2(a)中实线部分表示9种不同频率信号的时域波形,虚线部分为所有不同频率信号的时域叠加波形;图2(b)为其频域波形,其中10号支路表示叠加波形的频域柱状图,1~9号支路表示不同频率信号的频域柱状图。由图2可知,1~9号支路频域信号的叠加与10号支路的各次谐波对应相等。
图2 不同频率及叠加信号的时域与频域波形
因此,将时域的电流谐波特征转化为频域的实部、虚部特征,并将总负荷的谐波频域特征与标准用电器的谐波频域特征对比,即可达到识别用电器的目的。
3.2 FFT的特点
与DFT相比,FFT的运算量小得多,N点的FFT需要做(N/2)log2N次乘法运算,而N点的DFT需要做N2次乘法运算,其运算量是FFT的2N/log2N倍。在实际应用中,由于DSP芯片厂家会针对FFT运算进行优化,使程序更简单,运算效率更高,运算时间也更短,所以本文采用FFT得到用电器的频谱特性。
3.3 遗传算法
针对以上对DFT特性的分析,应用在实际用电器识别系统时,识别系统需要根据当前总负荷电流的谐波频域特征和不同类型用电器的谐波频域特征组合方式进行对比,由此得到当前投入的用电器类型。
识别系统可以采用简单的循环方式,遍历所有可能的标准用电器谐波频域特征,然后与当前接入的总负荷谐波频域特征进行比较,得到最为接近的当前用电器接入方式。但是此种方式在电器数量过多时,消耗的时间较长,实际中常采用模拟退火、遗传算法、粒子群等智能搜索算法,通过模拟自然过程,快速寻找到最优解,但是同时大多存在局部最优解的问题。遗传算法仅使用由目标函数值变换来的适应度函数值就可确定进一步的搜索范围,而且该算法的初始种群包含多个个体的信息,在搜索中可以避免陷入局部最优,逐步逼近全局最优解,因此本文采用遗传算法进行最优搜索。
遗传算法是把问题参数编码为染色体,在利用迭代的方式选择、交叉、变异等运算来交换种群中染色体的信息,最终生成符合优化目标的染色体[8]。在遗传算法中,染色体对应的是数据或数组,通常由一维的串结构数据来表示,串上各个位置对应基因的取值。基因组成的串就是染色体(个体),一定数量的个体组成了群体。各个个体对环境的适应程度叫做适应度。遗传算法流程如图3所示。
图3 结束遗传算法流程
由于本文的最终目标是根据当前总负荷电流的谐波频域特征,得到投入的标准用电器组合方式,因此可以将各种不同组合方式的谐波频域特征与总负荷的谐波频域特征进行比较,得到最接近的组合方式,即为最优值。本文采用欧氏距离最小作为优化目标,可表示为
(8)
ki=Areal_i-Dreal_i
式中:Areal_i——当前电网侧电流经FFT后第i次谐波的实部幅值;
Dreal_i——标准用电器的电流经过不同叠加方式得到的总电流,再FFT后第i次谐波的实部幅值;
i——谐波次数。
通过遗传算法得到符合式(8)要求时,此时的标准用电器叠加方式即为最优。
4 仿真分析与实验验证
4.1 仿真分析
利用MATLAB/Simulink搭建电器识别模型,模拟10路开关电源负荷电路。模拟标准用电器模型如图4所示。通过修改电阻和电容的值模拟不同的开关电源负荷。设定模拟电器投入状态的标志为“1”,切出状态的标志为“0” 。因此,10路模拟标准用电器的1 024种投入切出组合可表示为[(0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,1),(0,0,0,0,0,0,0,0,1,0),……,(1,1,1,1,1,1,1,1,1,1)]。在Simulink环境下,改变模拟电器的投入与切出组合,得到总负荷曲线;并在MATLAB工作界面获取模拟标准用电器与总负荷曲线数据,经FFT变换后,采用遗传算法进行搜索。经过前期的调试结果与标准组合对比,最终确定遗传算法每一代选取3个个体,遗传500代,变异率为0.1。
图4 模拟标准用电器模型
图5为遗传算法的迭代图。由图5可以看到模型最后误差趋向于零,算法收敛。仿真分析结果如表1所示。由表1可得,遗传算法搜索得到的投入组合与模拟投入组合一致,算法理论可行且识别精度较高。
表1 仿真结果
图5 遗传算法迭代
4.2 实验验证
为进一步验证算法的实际可行性,以TI公司的TMS320F28335数字控制器为核心搭建硬件实验平台。此款DSP 时钟周期为 150 MHz,ADC位数为12位。实验中设定ADC采样频率为12.8 kHz,FFT点数为256点。实验平台如图6所示。
图6 实验平台
电压采样第1级为差分电路,隔离控制电路与主电路;第2级为运放搭建的电压跟随器,主要作为阻抗匹配;电流采样使用TBC15DS_3.3霍尔电流传感器,其输出的电压经过低通滤波抑制高频信号的干扰,阻抗匹配之后,可以直接输入到 TMS320F28335控制器的 AD 采样端口上;初始相角的定位通过电压比较器实现过零比较。
实验过程中,依次将标准用电器接入插线板,在DSP中保存其频域特征;然后以任意的组合方式将标准用电器接入插线板,识别系统通过遗传算法,搜索出最优的解,作为最终识别出的用电器接入组合,并与实际投入组合进行比较。多次实验后,查看实验结果。
一共对5种用电器的32种不同投入组合进行了验证。表2展示了部分实验结果。
表2 实验结果
由表2可知,只有在用电器全部投入时,系统出现了识别错误,这是由于其中一种用电器的功率与其余4种用电器的功率相差较大,投入与否对总负荷的影响较小,导致识别结果出现误差。但是系统的识别正确率依然在97%左右,表明该算法实际可行,且识别精度较高。
5 结 语
由于实际用电器识别过程中存在识别系统硬件要求过高,且不同各类阈值难以确定等问题,本文提出基于FFT与遗传算法的用电器识别方法,在频域中对信号进行处理,以欧式距离最小作为优化指标,采用遗传算法进行寻优,完成用电器类别的准确识别。仿真与实验结果表明:本文提出的方法可以达到用电器识别的效果;随着检测数量的提升,检测系统能够保持较高的正确率。