最近在做有关于非侵设备的项目,期间看了比较多的论文,对电器设备的识别是非常重要的,因为这个项目就是为了让负荷有更大的调节潜力,从而响应电网的调控。
电气识别的内容其实来说做的也是比较久了,网上也有很多资料可以汲取,这里我就说一说比较重要的相位差。
电压电流相位差,也可以叫做功率角,我看到很多论文都有讲到利用负荷电流谐波去做识别,但是谐波这个东西比较依赖设备的采集精度,我们实验室的设备是每50us采集一次,精度算是可以的了,但是对于数据分析还是有欠缺,而负荷的类别也可以作为特征之一,因为负荷有分为电阻性负载、阻感性负载、电容性负载等,对于特征来说再好不过。
相位差如上图所示。
好了,不多说了,上码!!
voltA = recordrow[(alarmtimerecord[jj-ran1[0]])*400+20002:(alarmtimerecord[jj-ran1[0]])*400+22002,0].A #voltA是电压值,.A是把matrix转换成array型
ampB = recordrow[(alarmtimerecord[jj-ran1[0]])*400+20002:(alarmtimerecord[jj-ran1[0]])*400+22002,1].A
# print(type(voltA))
# print(size(voltA))
# print(type(ampB))
# voltA -=voltA.mean()
# voltA/=voltA.std()
# ampB-=ampB.mean()
# ampB/=ampB.std()
# fig,ax1 = plt.subplots()
# plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# ax1.set_xlabel('采样点数')
# ax1.set_ylabel('电压/V')
# ax1.plot(voltA[:,0],'r',label = '电压波形')
# plt.legend(loc = 'upper left')
# ax2 = ax1.twinx()
# ax2.set_ylabel('电流/A')
# ax2.plot(ampB[:,0],'b',label = '电流波形')
# plt.legend(loc = 'upper right')
# fig.tight_layout()
# plt.show() #画图
xcorr = correlate(voltA[:,0],ampB[:,0])
# print(voltA[:,0])
period = 1 #周期是1
tmax = 5 #时长为5s
nsamples = size(voltA) #采样点数为20000
t = linspaces(0,tmax,nsamples,endpoints= False)
dt = linspaces(-t[-1],t[-1],2*nsamples-1)
recorerd_time_shift = dt[xcorr.argmax()]
recoverd_phase_shift = 2*pi*(recorerd_time_shift/periods+0.8)
if jj == ran1[0]:
phaseshiftmat = recoverd_phase_shift
else:
phaseshiftmat = row_stack((phaseshiftmat,recoverd_phase_shift))
print(phaseshiftmat)```
主要是xcorr函数,这个是讲到互相关的概念,很多信号分析上有需要这个函数,相关概念我不在普及,博客上有很多大牛讲到这个。
![电压电流波形图](https://img-blog.csdnimg.cn/20210207100320677.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjMxMjAzNw==,size_16,color_FFFFFF,t_70#pic_center)
下面是放大的波形图,可以清晰看到相位差:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210207100405887.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjMxMjAzNw==,size_16,color_FFFFFF,t_70#pic_center)
结果是0.4553rad(弧度制)