本申请涉及智能电网技术领域,特别涉及一种监测数据的滤波方法、设备及装置。
背景技术:
目前在线监测技术类别繁多,已广泛应用于各个行业和领域,以电力系统为例,常见的在线监测应用有:局放监测、行波监测、图像及视频监测等等,这些监测技术大多是通过监测终端现场采集数据,然后将数据上传至中心服务器进行集中处理,最后输出诊断结果。也有部分场合里监测终端可以通过边缘计算对采集数据就地化处理,直接输出最终结果,但受限于在线监测终端数据处理能力、或者是供电可靠性等方面因素,这种应用的前提要求是数据处理相对简单,算法复杂度不高。
为了准确监测并提取出目标量,在对监测终端进行硬件设计前必须熟知目标量以及环境干扰量的测量范围和频带等关键参数指标,然后针对性的设计滤波电路,这种做法在一定程度上可以解决固定频率干扰对测量的影响,然而实际环境中干扰量并不是固定不变的,这种硬件上的滤波措施无法解决未知干扰或干扰变化带来的影响,导致设备监测效率较低甚至是无法监测。
还有一种常见做法是监测终端带宽足够宽,能够将混叠有各种干扰信号的目标信号统一采集并上传,通过上位机服务器中各种复杂算法滤除各种干扰,最终得到准确的目标量,这种方式对监测终端硬件要求很高,需要高带宽传感器、调理电路以及高采样率采集系统,一方面显著增加成本,另一方面,满足高性能的同时也带来了功耗的大幅上升,对部分供电要求苛刻的场合无法适用。
技术实现要素:
本申请实施例提供一种监测数据的滤波方法、设备及装置,以解决相关技术中通过硬件上的滤波方式无法解决未知干扰或干扰变化带来的影响、以及成本高,功耗大的技术难题。
第一方面,提供了一种监测数据的滤波方法,其包括步骤:
s1:根据滤波器的频率响应函数、滤波器参数、监测终端采样率计算得到滤波器系数矩阵,所述滤波器系数矩阵为行矩阵;
s2:连续采集监测数据,并按采集时间顺序以列矩阵的形式依次存储监测数据;
s3:将所述滤波器系数矩阵和若干个连续的监测数据形成的列矩阵进行卷积,得到一个初次滤波后的数据点;
s4:在依次得到若干个初次滤波后的数据点之后,形成初次滤波后的数据点数组,并对该初次滤波后的数据点数组进行翻转,得到翻转后的数据点数组;
s5:从所述翻转后的数据点数组中选取与所述滤波器系数矩阵对应个数的数据点,形成翻转后的数据点矩阵,将所述滤波器系数矩阵和翻转后的数据点矩阵进行卷积,得到再次滤波后的数据点;
s6:在依次得到若干个再次滤波后的数据点之后,形成再次滤波后的数据点数组,并对该再次滤波后的数据点数组进行翻转,得到再次翻转后的数据点矩阵,即得到最终滤波后的数据点。
一些实施例中,步骤s1的具体过程包括:
设置滤波器的参数,所述滤波器的参数包括滤波器阶数、高通截止频率或低通截止频率;
根据监测终端采样率,对所述高通截止频率或低通截止频率进行归一化处理;
根据滤波器的窗函数、频率响应函数计算得到滤波器系数矩阵。
一些实施例中,当所述滤波器为低通滤波器时,步骤s1的具体过程包括:
设置滤波器的参数,所述滤波器的参数包括滤波器阶数n1、低通截止频率fp2;
根据监测终端采样率,对所述低通截止频率进行归一化处理,计算公式如下:
式中,fs为监测终端采样率,fp2为滤波器的低通截止频率,w为归一化后的低通截止频率;
根据滤波器的窗函数、频率响应函数计算得到滤波器系数b(n),计算公式如下:
当
当
式中,b(n)为滤波器系数,n1为滤波器阶数,w为归一化后的高通截止频率,
在得到n1+1个滤波器系数后,形成滤波器系数矩阵b=[b(1),b(2)……b(n1+1)]。
一些实施例中,步骤s3中将所述滤波器系数矩阵和若干个连续的监测数据形成的列矩阵进行卷积,得到一个初次滤波后的数据点的计算公式为:
y(n)=b·x(n)
式中,b为滤波器系数矩阵,n1为滤波器的阶数,x(n)为第n个监测数据,x(n1+n)为第n1+n个监测数据,x(n1+n-1)为第n1+n-1个监测数据,y(n)为第n个初次滤波后的数据点,n为大于等于1的正整数。
一些实施例中,步骤s4的具体过程包括:
根据预设的数据长度n,依次得到n+n1个初次滤波后的数据点,分别记为y(1),y(2),……y(n+n1),形成初次滤波后的数据点数组y;
当数据点数组y的长度达到n+n1+1时,对该数据点数组y进行翻转,得到翻转后的数据点数组y’,计算公式为:
y’(n)=y(n+n1+1-n)
式中,y(n+n1+1-n)为初次滤波后的数据点数组中第n+n1+1-n个数值,y’(n)为翻转后的数据点数组中第n个数值。
一些实施例中,步骤s5的具体过程包括:
从翻转后的数据点数组y’中选取顺序选取n1个数据点,形成翻转后的数据点矩阵c,计算公式为:
式中,c(n)为第n个翻转后的数据点矩阵,y’(n)为翻转后的数据点数组中第n个数值,y’(n1+n-1)为翻转后的数据点数组中第n1+n-1个数值,y’(n1+n)为翻转后的数据点数组中第n1+n个数值;
将所述滤波器系数矩阵和翻转后的数据点矩阵进行卷积,得到再次滤波后的数据点,计算公式为:
z’(n)=b·c(n)
式中,z’(n)为第n个再次滤波后的数据点,b为滤波器系数矩阵,c(n)为第n个翻转后的数据点矩阵。
一些实施例中,步骤s6的具体过程包括:
依次得到n个再次滤波后的数据点,分别记为z’(1),z’(2),……z’(n),形成再次滤波后的数据点数组z’;
对再次滤波后的数据点数组z’进行翻转,得到翻转后的再次滤波的数据点数组z,计算公式为:
z(n)=z’(n+1-n)
z’(n+1-n)为再次滤波后的数据点数组中第n+1-n个数值,z(n)为翻转后的再次滤波的数据点数组中第n个数值;
输出翻转后的再次滤波的数据点数组z,将其作为最终滤波后的数据点。
一些实施例中,所述预设的数据长度n为大于n1的正整数。
第二方面,提供了一种监测数据的滤波设备,所述监测数据的滤波设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的监测数据的滤波程序,其中所述监测数据的滤波程序被所述处理器执行时,实现上述监测数据的滤波方法的步骤。
第三方面,提供了一种监测数据的滤波装置,包括:
上位机,其用于根据滤波器的频率响应函数、滤波器参数、监测终端采样率计算得到滤波器系数矩阵,所述滤波器系数矩阵为行矩阵;
监测终端,其用于连续采集监测数据,并按采集时间顺序以列矩阵的形式依次存储监测数据;将所述滤波器系数矩阵和若干个连续的监测数据形成的列矩阵进行卷积,得到一个初次滤波后的数据点;在依次得到若干个初次滤波后的数据点之后,形成初次滤波后的数据点数组,并对该初次滤波后的数据点数组进行翻转,得到翻转后的数据点数组;从所述翻转后的数据点数组中选取与所述滤波器系数矩阵对应个数的数据点,形成翻转后的数据点矩阵,将所述滤波器系数矩阵和翻转后的数据点矩阵进行卷积,得到再次滤波后的数据点;在依次得到若干个再次滤波后的数据点之后,形成再次滤波后的数据点数组,并对该再次滤波后的数据点数组进行翻转,得到再次翻转后的数据点矩阵,即得到最终滤波后的数据点。
本申请提供的技术方案带来的有益效果包括:成本低、功耗小、适用范围广。
本申请实施例提供了一种监测数据的滤波方法,先计算得到滤波器系数矩阵,再进行循环卷积和翻转,得到最后滤波后的数据,通过这种软件方式实现滤波,可以解决未知干扰或干扰变化带来的影响,而且,软件实现,成本低,功耗小,适用场景也更加广泛。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的监测数据的滤波方法的流程图;
图2为本申请实施例提供的监测数据的滤波方法中步骤s1的具体流程图;
图3为本申请实施例提供的监测数据的滤波方法中步骤s2至s6的数据示意图;
图4为本申请实施例提供的监测数据的滤波装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,本申请提供了一种监测数据的滤波方法,其包括步骤:
s1:根据滤波器的频率响应函数、滤波器参数、监测终端采样率计算得到滤波器系数矩阵,所述滤波器系数矩阵为行矩阵;
s2:连续采集监测数据,并按采集时间顺序以列矩阵的形式依次存储监测数据;
s3:将所述滤波器系数矩阵和若干个连续的监测数据形成的列矩阵进行卷积,得到一个初次滤波后的数据点;
s4:在依次得到若干个初次滤波后的数据点之后,形成初次滤波后的数据点数组,并对该初次滤波后的数据点数组进行翻转,得到翻转后的数据点数组;
s5:从所述翻转后的数据点数组中选取与所述滤波器系数矩阵对应个数的数据点,形成翻转后的数据点矩阵,将所述滤波器系数矩阵和翻转后的数据点矩阵进行卷积,得到再次滤波后的数据点;
s6:在依次得到若干个再次滤波后的数据点之后,形成再次滤波后的数据点数组,并对该再次滤波后的数据点数组进行翻转,得到再次翻转后的数据点矩阵,即得到最终滤波后的数据点。
在本申请实施例中,上述步骤s1是由上位机执行的,步骤s2至s6是由监测终端来执行的,上位机在完成步骤s1后得到滤波器系数矩阵,并将滤波器系数矩阵发送给监测终端,监测终端再根据接收到的滤波器系数矩阵进行后续的滤波操作。
本申请实施例的监测数据的滤波方法,先计算得到滤波器系数矩阵,再进行循环卷积和翻转,得到最后滤波后的数据,通过这种软件方式实现滤波,可以解决未知干扰或干扰变化带来的影响,而且,软件实现,成本低,功耗小,适用场景也更加广泛。
参见图2所示,更进一步地,在本申请实施例中,步骤s1的具体过程包括:
s101:设置滤波器的参数,所述滤波器的参数包括滤波器阶数、高通截止频率或低通截止频率;
s102:根据监测终端采样率,对所述高通截止频率或低通截止频率进行归一化处理;
s103:根据滤波器的窗函数、频率响应函数计算得到滤波器系数矩阵。
在本申请实施例中,以低通滤波器为例,当所述滤波器为低通滤波器时,步骤s1的具体过程包括:
设置滤波器的参数,所述滤波器的参数包括滤波器阶数n1、低通截止频率fp2;
根据监测终端采样率,对所述低通截止频率进行归一化处理,计算公式如下:
式中,fs为监测终端采样率,fp2为滤波器的低通截止频率,w为归一化后的低通截止频率;
根据滤波器的窗函数、频率响应函数计算得到滤波器系数b(n),计算公式如下:
当
当
式中,b(n)为滤波器系数,n1为滤波器阶数,w为归一化后的高通截止频率,
在得到n1+1个滤波器系数后,分别记为b(1),b(2)……b(n1+1),形成滤波器系数矩阵b=[b(1),b(2)……b(n1+1)]。
在实际应用中,由于滤波器种类较多,不同类型的滤波器,其对应的汉明窗函数也会不同,截止频率种类也不同,比如为带通滤波器时,设置的参数包括低通截止频率和高通截止频率,对这两个截止频率均进行归一化处理,并用带通滤波器的窗函数和频率响应函数得到滤波器系数矩阵,上述步骤进行适应性修改即可。
参见图3所示,更进一步地,在本申请实施例中,步骤s2中连续采集监测数据,并按采集时间顺序以列矩阵的形式依次存储监测数据的实现过程为:监测终端在内部缓存里设置一存储容量大于n1+1数据点的缓存,其中n1为滤波器的阶数,启动连续滚动采集监测数据,并将采集到的监测数据保存至该内部缓存区域内,当该缓存区域内的监测数据达到n1+1时,进行后续步骤s3的操作。步骤s2得到的监测数据依次记为x(1),x(2),……x(n1+1),x(n1+2),x(n1+3),……等,这些监测数据用数组x进行表示,x=(x(1),x(2),……x(n1+1),x(n1+2),x(n1+3),……),即x(1)=x(1),x(n1+1)=x(n1+1),x(n1+1)表示数组x中第n1+1个数值,x(n1+1)为采集到的第n1+1个监测数据。本申请中的监测数据应该理解为采集的数据点。
更进一步地,在本申请实施例中,步骤s3中将所述滤波器系数矩阵和若干个连续的监测数据形成的列矩阵进行卷积,得到一个初次滤波后的数据点的计算公式为:
y(n)=b·x(n)
式中,b为滤波器系数矩阵,n1为滤波器的阶数,x(n)为第n个监测数据,x(n1+n)为第n1+n个监测数据,x(n1+n-1)为第n1+n-1个监测数据,y(n)为第n个初次滤波后的数据点,n为大于等于1的正整数。
对应地,上述步骤s3的具体过程为:
当缓存区域内的监测数据达到n1+1时,开始计算初次滤波后的数据点,第一个初次滤波后的数据的计算公式为:
y(1)=b·x(1)
即y(1)=b(1)x(n1+1)+b(2)x(n1)+…+b(n1+1)x(1)
式中,y(1)为第1个初次滤波后的数据点,x(n1+1)为第n1+1个监测数据,x(n1)为第n1个监测数据,x(1)为第1个监测数据,b为滤波器系数矩阵。
当得到第n1+2个监测数据时,采用循环滚动存储机制,x(1)被清除,x(n1+2)进入该内部缓存区域,依次类推,可以计算得到y(2)、y(3)等,计算公式为:
y(2)=b(1)x(n1+2)+b(2)x(n1+1)+...+b(n1+1)x(2)
y(3)=b(1)x(n1+3)+b(2)x(n1+2)+…+b(n1+1)x(3)
更进一步地,在本申请实施例中,步骤s4的具体过程包括:
根据预设的数据长度n,依次得到n+n1个初次滤波后的数据点,分别记为y(1),y(2),……y(n+n1),形成初次滤波后的数据点数组y;
当数据点数组y的长度达到n+n1+1时,对该数据点数组y进行翻转,得到翻转后的数据点数组y’,计算公式为:
y’(n)=y(n+n1+1-n)
式中,y(n+n1+1-n)为初次滤波后的数据点数组中第n+n1+1-n个数值,y’(n)为翻转后的数据点数组中第n个数值。
具体地,以第一次翻转为例,对该数据点数组y进行翻转,得到翻转后的数据点数组y’的过程为:
得到的y(1),y(2),……y(n+n1)组成数组y,数组y的每一个数值对应为y(1),y(2),……y(n+n1),即y(1)=y(1),y(n+n1)=y(n+n1),y(n+n1)表示数组y的第n+n1数值,y(n+n1)为第n+n1个初次滤波后的数据点;
将数据点数组y进行首末翻转,即第一个数值和最后一个数值对调,第二个数值和倒数第二个数值对调,以此类推,对应翻转得到翻转后的数据点数组y’的每一个数值,分别记为y’(1),y’(2),……y’(n+n1),其中,y’(1)=y(n+n1)=y(n+n1),y’(2)=y(n+n1-1)=y(n+n1-1)。
更进一步地,在本申请实施例中,步骤s5的具体过程包括:
从翻转后的数据点数组y’中选取顺序选取n1个数据点,形成翻转后的数据点矩阵c,计算公式为:
式中,c(n)为第n个翻转后的数据点矩阵,y’(n)为翻转后的数据点数组中第n个数值,y’(n1+n-1)为翻转后的数据点数组中第n1+n-1个数值,y’(n1+n)为翻转后的数据点数组中第n1+n个数值;
将所述滤波器系数矩阵和翻转后的数据点矩阵进行卷积,得到再次滤波后的数据点,计算公式为:
z’(n)=bc(n)
式中,z’(n)为第n个再次滤波后的数据点,b为滤波器系数矩阵,c(n)为第n个翻转后的数据点矩阵,具体如下:
z'(1)=b(1)y'(n1+1)+b(2)y'(n1)+…+b(n1+1)y'(1);
z'(2)=b(1)y'(n1+2)+b(2)y'(n1)+…+b(n1+1)y'(2)
z'(3)=b(1)y'(n1+3)+b(2)y'(n1)+…+b(n1+1)y'(3)
……
z'(n)=b(1)y'(n1+n)+b(2)y'(n1+n-1)+...+b(n1+1)y'(n)
更进一步地,在本申请实施例中,步骤s6的具体过程包括:
依次得到n个再次滤波后的数据点,分别记为z’(1),z’(2),……z’(n),形成再次滤波后的数据点数组z’;
对再次滤波后的数据点数组z’进行翻转,得到翻转后的再次滤波的数据点数组z,计算公式为:
z(n)=z’(n+1-n)
z’(n+1-n)为再次滤波后的数据点数组中第n+1-n个数值,z(n)为翻转后的再次滤波的数据点数组中第n个数值;
输出翻转后的再次滤波的数据点数组z,将其作为最终滤波后的数据点。
在本申请实施例中,完成上述步骤s4至s6即得到一次最终滤波后的数据,为了得到下一次最终滤波数据,计算时选取y(n+1)……y(2n+n1),重复上述s4至s6的操作,即可计算得到下一次最终滤波数据,以此类推,根据实际需求,可以得到多次最终滤波数据。
在本申请实施例中,n1为滤波器阶数,n1为大于或等于1的正整数。n1越大,滤波效果越好,但计算量也越大,反之,n1越小,滤波效果越差,但计算量也越低,根据实际场合结合实际情况,选取合适的n1值。
在本申请实施例中,所述预设的数据长度n为大于n1的正整数,可以根据实际需求进行设置即可,在此不作限定。
本申请实施例还提供了一种监测数据的滤波设备,所述监测数据的滤波设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的监测数据的滤波程序,其中所述监测数据的滤波程序被所述处理器执行时,实现上述监测数据的滤波方法的步骤。
参见图4所示,本申请实施例还提供了一种监测数据的滤波装置包括上位机和监测终端。
上位机用于根据滤波器的频率响应函数、滤波器参数、监测终端采样率计算得到滤波器系数矩阵,所述滤波器系数矩阵为行矩阵;
监测终端,其用于连续采集监测数据,并按采集时间顺序以列矩阵的形式依次存储监测数据;将所述滤波器系数矩阵和若干个连续的监测数据形成的列矩阵进行卷积,得到一个初次滤波后的数据点;在依次得到若干个初次滤波后的数据点之后,形成初次滤波后的数据点数组,并对该初次滤波后的数据点数组进行翻转,得到翻转后的数据点数组;从所述翻转后的数据点数组中选取与所述滤波器系数矩阵对应个数的数据点,形成翻转后的数据点矩阵,将所述滤波器系数矩阵和翻转后的数据点矩阵进行卷积,得到再次滤波后的数据点;在依次得到若干个再次滤波后的数据点之后,形成再次滤波后的数据点数组,并对该再次滤波后的数据点数组进行翻转,得到再次翻转后的数据点矩阵,即得到最终滤波后的数据点。
本申请实施例的监测数据的滤波装置,在上位机上设置好滤波器参数以后,计算得到滤波器系数矩阵,并将滤波器系数矩阵发送给监测终端,监测终端再进行循环卷积和翻转,得到最后滤波后的数据,通过这种软件方式实现滤波,可以解决未知干扰或干扰变化带来的影响,而且,软件实现,成本低,功耗小,适用场景也更加广泛。
在本申请的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
需要说明的是,在本申请中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。