一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种波峰检测方法及系统与流程

2021-12-07 21:08:00 来源:中国专利 TAG:


1.本发明涉及通信技术领域,尤其公开了一种波峰检测方法及系统。


背景技术:

2.在物联网应用中,通常会通过无线网络远程将物联网设备的数据回传,在数据量、运算量较大的情况下,采取轻应用端的架构,将数据计算和分析放在服务器端。但因网络延时、中断等问题,会发生数据丢失、滞后等现象,在涉及波形数据实时处理时,会导致波形中部分数据丢失,或者有杂波干扰,影响对波形频率的计数即波峰个数的计算。如图1所示,其中,

为典型的数据丢失,

为杂波。
3.在对波峰个数进行计算的过程中,如处理不当,会导致因数据丢失、杂波干扰原因导致计数不准,出现少计或者多计的情况。
4.因此,因数据丢失和杂波干扰原因导致的波峰个数计数不准确,是一件亟待解决的技术问题。


技术实现要素:

5.本发明提供了一种波峰检测方法及系统,旨在解决因数据丢失和杂波干扰原因导致的波峰个数计数不准确的技术问题。
6.本发明的一方面涉及一种波峰检测方法,包括以下步骤:
7.获取待测波形波峰的数据序列,并将获取的待测波形波峰的数据序列作为输入值,存入循环数组data[]中;
[0008]
比较循环数组data[]中前一条数据data[i

1]与定义的最小值变量minvalue的大小,若循环数组data[]中前一条数据data[i

1]小于预设的最小值变量minvalue,则将定义的最小值变量minvalue进行更新,将定义的最小值变量minvalue更新为循环数组中前一条数据data[i

1];
[0009]
判定当前波峰振幅与预设的杂波过滤振幅limit_line的大小,若当前波峰振幅大于预设的杂波过滤振幅limit_line,则比较当前数据data[i]与相邻的前后数据的大小,并将比较的结果作为波峰判断依据;其中,当前波峰振幅为当前数据data[i]与更新后的最小值变量minvalue的差值;波峰判断依据为若当前数据data[i]大于相邻的前后数据,则确定当前数据data[i]为波峰值。
[0010]
进一步地,获取待测波形波峰的数据序列,并将获取的待测波形波峰的数据序列作为输入值,存入循环数组data[]中的步骤包括:
[0011]
预设循环数组data[]的循环条件,循环条件为循环数组data[]的数据序列中的第二条数据至倒数第二条数据,对当前数组下标为当前循环序列i。
[0012]
进一步地,比较循环数组data[]中前一条数据data[i

1]与定义的最小值变量minvalue的大小,若循环数组data[]中前一条数据data[i

1]小于预设的最小值变量minvalue,则将定义的最小值变量minvalue进行更新,将定义的最小值变量minvalue更新
为循环数组中前一条数据data[i

1]的步骤包括:
[0013]
判定前一条数据data[i

1]与最小值变量minvalue两者之间的大小;
[0014]
若识别到前一条数据data[i

1]<最小值变量minvalue,则将最小值变量minvalue的值更新为data[i

1]。
[0015]
进一步地,判定当前波峰振幅与预设的杂波过滤振幅limit_line的大小,若当前波峰振幅大于预设的杂波过滤振幅limit_line,则比较当前数据data[i]与相邻的前后数据的大小,并将比较的结果作为波峰判断依据;其中,当前波峰振幅为当前数据data[i]与更新后的最小值变量minvalue的差值;波峰判断依据为若当前数据data[i]大于相邻的前后数据,则确定当前数据data[i]为波峰值的步骤包括:
[0016]
判定当前波峰振幅与杂波过滤高度limit_line两者之间的大小,当前波振幅的数值为当前数据data[i]

最小值变量minvalue,若当前数据data[i]

最小值变量minvalue>杂波过滤高度limit_line,则继续下一步计算,否则当前数据data[i]不满足峰值条件,继续下一次循环;
[0017]
比较当前数据与临近的前后数据的大小,将比较结果作为波峰判断依据,若当前数据data[i]>前一条数据data[i

1]并且当前数据data[i]>后一条数据data[i 1];或当前数据data[i]==前一条数据data[i

1]并且当前数据data[i]>后一条数据data[i 1],则确定当前数据data[i]为波峰值;
[0018]
对循环数组data[]中的波峰个数peak和循环计数器i进行加1计算,同时记录波峰值的相关信息。
[0019]
进一步地,判定当前波峰振幅与预设的杂波过滤振幅limit_line的大小,若当前波峰振幅大于预设的杂波过滤振幅limit_line,则比较当前数据data[i]与相邻的前后数据的大小,并将比较的结果作为波峰判断依据;其中,当前波峰振幅为当前数据data[i]与更新后的最小值变量minvalue的差值;波峰判断依据为若当前数据data[i]大于相邻的前后数据,则确定当前数据data[i]为波峰值的步骤之后还包括:
[0020]
继续下一循环,直至循环数组data[]中倒数第二条数据全部处理完毕。
[0021]
本发明的另一方面涉及一种波峰检测系统,包括:
[0022]
获取模块,用于获取待测波形波峰的数据序列,并将获取的待测波形波峰的数据序列作为输入值,存入循环数组data[]中;
[0023]
比较模块,用于比较循环数组data[]中前一条数据data[i

1]与定义的最小值变量minvalue的大小,若循环数组data[]中前一条数据data[i

1]小于预设的最小值变量minvalue,则将定义的最小值变量minvalue进行更新,将定义的最小值变量minvalue更新为循环数组中前一条数据data[i

1];
[0024]
判定模块,用于判定当前波峰振幅与预设的杂波过滤振幅limit_line的大小,若当前波峰振幅大于预设的杂波过滤振幅limit_line,则比较当前数据data[i]与相邻的前后数据的大小,并将比较的结果作为波峰判断依据;其中,当前波峰振幅为当前数据data[i]与更新后的最小值变量minvalue的差值;波峰判断依据为若当前数据data[i]大于相邻的前后数据,则确定当前数据data[i]为波峰值。
[0025]
进一步地,获取模块包括:
[0026]
设置单元,用于预设循环数组data[]的循环条件,循环条件为循环数组data[]的
数据序列中的第二条数据至倒数第二条数据,当前数组下标为当前循环序列i。
[0027]
进一步地,比较模块包括:
[0028]
第一判定单元,用于判定前一条数据data[i

1]与最小值变量minvalue两者之间的大小;
[0029]
更新单元,用于若识别到前一条数据data[i

1]<最小值变量minvalue,则将最小值变量minvalue的值更新为data[i

1]。
[0030]
进一步地,判定模块包括:
[0031]
第二判定单元,用于判定当前波峰振幅与杂波过滤高度limit_line两者之间的大小,当前波振幅的数值为当前数据data[i]

最小值变量minvalue,若当前数据data[i]

最小值变量minvalue>杂波过滤高度limit_line,则继续下一步计算,否则当前数据data[i]不满足峰值条件,继续下一次循环;
[0032]
比较单元,用于比较当前数据与临近的前后数据的大小,将比较结果作为波峰判断依据,若当前数据data[i]>前一条数据data[i

1]并且当前数据data[i]>后一条数据data[i 1];或当前数据data[i]==前一条数据data[i

1]并且当前数据data[i]>后一条数据data[i 1],则确定当前数据data[i]为波峰值;
[0033]
计算单元,用于对循环数组data[]中的波峰个数peak和循环计数器i进行加1计算,同时记录波峰值的相关信息。
[0034]
进一步地,波峰检测系统还包括:
[0035]
处理模块,用于继续下一循环,直至循环数组data[]中倒数第二条数据全部处理完毕。
[0036]
本发明所取得的有益效果为:
[0037]
本发明公开一种波峰检测方法及系统,通过获取待测波形波峰的数据序列,并将获取的待测波形波峰的数据序列作为输入值,存入循环数组data[]中;比较循环数组data[]中前一条数据data[i

1]与定义的最小值变量minvalue的大小,若循环数组data[]中前一条数据data[i

1]小于预设的最小值变量minvalue,则将定义的最小值变量minvalue进行更新,将定义的最小值变量minvalue更新为循环数组中前一条数据data[i

1];判定当前波峰振幅与预设的杂波过滤振幅limit_line的大小,若当前波峰振幅大于预设的杂波过滤振幅limit_line,则比较当前数据data[i]与相邻的前后数据的大小,并将比较的结果作为波峰判断依据;其中,当前波峰振幅为当前数据data[i]与更新后的最小值变量minvalue的差值;波峰判断依据为若当前数据data[i]大于相邻的前后数据,则确定当前数据data[i]为波峰值。本发明公开的波峰检测方法及系统,可以在单个波形周期内发生大量数据丢失的情况下,仍然能够准确计算波峰个数;同时可以对低于设定振幅值的杂波进行有效过滤,极大地减少因波形数据丢失造成的波峰数计算错误。
附图说明
[0038]
图1为现有波形数据处理时波形中由于部分数据丢失和有杂波干扰,从而影响对波形频率的计数的图形示意图;
[0039]
图2为本发明提供的波峰检测方法第一实施例的流程示意图;
[0040]
图3为本发明提供的波峰检测方法第二实施例的流程示意图;
[0041]
图4为图2中所示的比较循环数组data[]中前一条数据data[i

1]与定义的最小值变量minvalue的大小,若循环数组data[]中前一条数据data[i

1]小于预设的最小值变量minvalue,则将定义的最小值变量minvalue进行更新,将定义的最小值变量minvalue更新为循环数组中前一条数据data[i

1]的步骤中一实施例的细化流程示意图;
[0042]
图5为图2中所示的判定当前波峰振幅与预设的杂波过滤振幅limit_line的大小,若当前波峰振幅大于预设的杂波过滤振幅limit_line,则比较当前数据data[i]与相邻的前后数据的大小,并将比较的结果作为波峰判断依据;其中,当前波峰振幅为当前数据data[i]与更新后的最小值变量minvalue的差值;波峰判断依据为若当前数据data[i]大于相邻的前后数据,则确定当前数据data[i]为波峰值的步骤中一实施例的细化流程示意图;
[0043]
图6为本发明提供的波峰检测方法第三实施例的流程示意图;
[0044]
图7为本发明提供的波峰检测方法第四实施例的流程示意图;
[0045]
图8为利用本发明提供的波峰检测方法进行第一试验样例检测的波形图;
[0046]
图9为利用本发明提供的波峰检测方法进行第二试验样例检测的波形图;
[0047]
图10为利用本发明提供的波峰检测方法进行第三试验样例检测的波形图;
[0048]
图11为本发明提供的波峰检测系统第一实施例的功能框图;
[0049]
图12为图11中所示的获取模块一实施例的功能模块示意图;
[0050]
图13为图11中所示的比较模块一实施例的功能模块示意图;
[0051]
图14为图11中所示的判定模块一实施例的功能模块示意图;
[0052]
图15为本发明提供的波峰检测系统第二实施例的功能框图。
[0053]
附图标号说明:
[0054]
10、获取模块;20、比较模块;30、判定模块;40、处理模块;11、设置单元;21、第一判定单元;22、更新单元;31、第二判定单元;32、比较单元;33、计算单元。
具体实施方式
[0055]
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。
[0056]
如图2所示,本发明第一实施例提出一种波峰检测方法,包括以下步骤:
[0057]
步骤s100、获取待测波形波峰的数据序列,并将获取的待测波形波峰的数据序列作为输入值,存入循环数组data[]中。
[0058]
对系统进行初始化及配置,配置项包括定义的全局波峰个数计数器peak、数据序列、杂波过滤振幅limit_line和最小值变量minvalue,其中,全局波峰个数计数器peak的初始化值为0。最小值变量minvalue用于存储每个波峰的最低值;还用于比较计算,初始化为数组第一条记录data[0]。获取待测波形波峰的数据序列,并将获取的待测波形波峰的数据序列作为输入值,存入循环数组data[]中。
[0059]
步骤s200、比较循环数组data[]中前一条数据data[i

1]与定义的最小值变量minvalue的大小,若循环数组data[]中前一条数据data[i

1]小于预设的最小值变量minvalue,则将定义的最小值变量minvalue进行更新,将定义的最小值变量minvalue更新为循环数组中前一条数据data[i

1]。
[0060]
将循环数组data[]中前一条数据data[i

1]与定义的最小值变量minvalue进行大
小比较,若循环数组data[]中前一条数据data[i

1]小于预设的最小值变量minvalue,则将定义的最小值变量minvalue进行更新,将循环数组中前一条数据data[i

1]作为更新后的的最小值变量minvalue。
[0061]
步骤s300、判定当前波峰振幅与预设的杂波过滤振幅limit_line的大小,若当前波峰振幅大于预设的杂波过滤振幅limit_line,则比较当前数据data[i]与相邻的前后数据的大小,并将比较的结果作为波峰判断依据;其中,当前波峰振幅为当前数据data[i]与更新后的最小值变量minvalue的差值;波峰判断依据为若当前数据data[i]大于相邻的前后数据,则确定当前数据data[i]为波峰值。
[0062]
对当前波峰振幅与预设的杂波过滤振幅limit_line进行大小判定,若当前波峰振幅大于预设的杂波过滤振幅limit_line,则比较当前数据data[i]与相邻的几个前后数据的大小,并将比较的结果作为波峰判断依据;其中,当前波峰振幅等于当前数据data[i]与更新后的最小值变量minvalue的差值;波峰判断依据为若当前数据data[i]大于相邻的几个前后数据,则确定当前数据data[i]为波峰值。
[0063]
本实施例提供的波峰检测方法,通过获取待测波形波峰的数据序列,并将获取的待测波形波峰的数据序列作为输入值,存入循环数组data[]中;比较循环数组data[]中前一条数据data[i

1]与定义的最小值变量minvalue的大小,若循环数组data[]中前一条数据data[i

1]小于预设的最小值变量minvalue,则将定义的最小值变量minvalue进行更新,将定义的最小值变量minvalue更新为循环数组中前一条数据data[i

1];判定当前波峰振幅与预设的杂波过滤振幅limit_line的大小,若当前波峰振幅大于预设的杂波过滤振幅limit_line,则比较当前数据data[i]与相邻的前后数据的大小,并将比较的结果作为波峰判断依据;其中,当前波峰振幅为当前数据data[i]与更新后的最小值变量minvalue的差值;波峰判断依据为若当前数据data[i]大于相邻的前后数据,则确定当前数据data[i]为波峰值。本实施例提供的波峰检测方法,可以在单个波形周期内发生大量数据丢失的情况下,仍然能够准确计算波峰个数;同时可以对低于设定振幅值的杂波进行有效过滤,极大地减少因波形数据丢失造成的波峰数计算错误。
[0064]
进一步地,请见图3,图3为本发明提供的波峰检测方法第二实施例的流程示意图,在第一实施例的基础上,本实施例提供的波峰检测方法,步骤s100包括:
[0065]
步骤s110、预设循环数组data[]的循环条件,循环条件为循环数组data[]的数据序列中的第二条数据至倒数第二条数据,对当前数组下标为当前循环序列i。
[0066]
预设循环数组data[]的循环条件,循环条件为循环数组data[]第二条数据至倒数第二条数据;并将当前数组下标为当前循环序列i。
[0067]
本实施例提供的波峰检测方法,通过预设循环数组data[]的循环条件,循环条件为循环数组data[]的数据序列中的第二条数据至倒数第二条数据,对当前数组下标为当前循环序列i。本实施例提供的波峰检测方法,可以在单个波形周期内发生大量数据丢失的情况下,仍然能够准确计算波峰个数;同时可以对低于设定振幅值的杂波进行有效过滤,极大地减少因波形数据丢失造成的波峰数计算错误。
[0068]
优选地,参见图4,图4为图2中所示的步骤s200的细化流程示意图,在本实施例中,步骤s200包括:
[0069]
步骤s210、判定前一条数据data[i

1]与最小值变量minvalue两者之间的大小。
[0070]
比较循环数组data[]中前一条数据data[i

1]与最小值变量minvalue两者之间的的大小。
[0071]
步骤s220、若识别到前一条数据data[i

1]<最小值变量minvalue,则将最小值变量minvalue的值更新为data[i

1]。
[0072]
若识别到循环数组data[]中前一条数据data[i

1]小于最小值变量minvalue,则将最小值变量minvalue的值更新为data[i

1]。
[0073]
本实施例提供的波峰检测方法,通过判定前一条数据data[i

1]与最小值变量minvalue两者之间的大小;若识别到前一条数据data[i

1]<最小值变量minvalue,则将最小值变量minvalue的值更新为data[i

1]。本实施例提供的波峰检测方法,可以在单个波形周期内发生大量数据丢失的情况下,仍然能够准确计算波峰个数;同时可以对低于设定振幅值的杂波进行有效过滤,极大地减少因波形数据丢失造成的波峰数计算错误。
[0074]
进一步地,请见图5,图5为图2中所示的步骤s200的细化流程示意图,在本实施例中,步骤s300包括:
[0075]
步骤s310、判定当前波峰振幅与杂波过滤高度limit_line两者之间的大小,当前波振幅的数值为当前数据data[i]

最小值变量minvalue,若当前数据data[i]

最小值变量minvalue>杂波过滤高度limit_line,则继续下一步计算,否则当前数据data[i]不满足峰值条件,继续下一次循环。
[0076]
预设过滤高度,对低于设定高度的波形(杂波)进行过滤,视为无效数据,不参与计算。过滤方法采用相对值进行计算,即不以数据本身的值,而是以数据与单个波中最小值之差与过滤高度对比进行判断,可不受数据整体偏移影响。
[0077]
步骤s320、比较当前数据与临近的前后数据的大小,将比较结果作为波峰判断依据,若当前数据data[i]>前一条数据data[i

1]并且当前数据data[i]>后一条数据data[i 1];或当前数据data[i]==前一条数据data[i

1]并且当前数据data[i]>后一条数据data[i 1],则确定当前数据data[i]为波峰值。
[0078]
超过过滤高度的数据记录为有效数据,进行波峰值判断,判断时不以单一峰值(最大值)作为判断依据,而是采用与邻近两个点共四次比较进行判断,可避免波峰平滑情况下的误判。
[0079]
步骤s330、对循环数组data[]中的波峰个数peak和循环计数器i进行加1计算,同时记录波峰值的相关信息。
[0080]
识别出波峰后,对循环数组data[]中的波峰个数peak和循环计数器i进行加1计算,波峰个数peak加1,循环计数器i加1。同时记录波峰值的相关信息:记录波峰值数据位置、波峰点数值、单个波峰高度(相对值)、当前波峰个数peak、当前记录序列号i、波谷值minvalue、波峰值data[i]和振幅data[i]

minvalue,记录方式可以是直接输出或者保存文件或者数据库。
[0081]
本实施例提供的波峰检测方法,通过判定当前波峰振幅与杂波过滤高度limit_line两者之间的大小,当前波振幅的数值为当前数据data[i]

最小值变量minvalue,若当前数据data[i]

最小值变量minvalue>杂波过滤高度limit_line,则继续下一步计算,否则当前数据data[i]不满足峰值条件,继续下一次循环;比较当前数据与临近的前后数据的大小,将比较结果作为波峰判断依据,若当前数据data[i]>前一条数据data[i

1]并且当
前数据data[i]>后一条数据data[i 1];或当前数据data[i]==前一条数据data[i

1]并且当前数据data[i]>后一条数据data[i 1],则确定当前数据data[i]为波峰值;对循环数组data[]中的波峰个数peak和循环计数器i进行加1计算,同时记录波峰值的相关信息。本实施例提供的波峰检测方法,可以在单个波形周期内发生大量数据丢失的情况下,仍然能够准确计算波峰个数;同时可以对低于设定振幅值的杂波进行有效过滤,极大地减少因波形数据丢失造成的波峰数计算错误。
[0082]
优选地,请见图6和图7,图6为本发明提供的波峰检测方法第三实施例的流程示意图,在第一实施例的基础上,步骤s300之后还包括:
[0083]
步骤s400、继续下一循环,直至循环数组data[]中倒数第二条数据全部处理完毕。
[0084]
继续下一循环,直至循环至循环数组data[]中倒数第二条数据结束,数据全部处理完毕。
[0085]
本实施例提供的波峰检测方法,通过继续下一循环,直至循环数组data[]中倒数第二条数据全部处理完毕。本实施例提供的波峰检测方法,可以在单个波形周期内发生大量数据丢失的情况下,仍然能够准确计算波峰个数;同时可以对低于设定振幅值的杂波进行有效过滤,极大地减少因波形数据丢失造成的波峰数计算错误。
[0086]
本实施例可以在单个波形周期内发生大量数据丢失(经测算非关键信息丢失达60%的情况下),本实施例提供的波峰检测方法仍然能够准确计算波峰个数,同时可以对低于设定振幅值的杂波进行有效过滤。以下是试验样例,样例数据采集自物联网设备的真实数据,采样频率约为每波形60

90(每个波形包含的数据记录条数):
[0087]
【示例1】
[0088]
数据序列(529条记录),包含8个波形记录data[529]={104.8,104.8,104.8,104.8,106.2,106.2,106.2,106.2,106.2,106.2,105.4,105.1,105.1,105.1,105.1,105.1,104.8,105.9,106.2,106.2,104.8,104.5,104.5,105.1,105.9,106.8,107.9,109.1,110.5,112.2,113.9,115.3,117.3,119.3,121,123,124.7,126.7,128.4,130.4,132.4,134.1,136.1,137.8,139.8,141.8,143.5,145.5,147.2,149.2,150.9,154.9,156.6,158.6,160.3,162.3,164,166,167.7,169.7,171.4,173.4,175.1,177.1,178.3,178.3,175.4,172,167.1,161.2,153.8,144.9,134.7,122.7,117.9,117.9,117.9,117.9,117.9,117.9,117.9,117.9,117.9,117.9,117.9,117,114.8,111.1,105.9,102.2,101.4,100.8,100.8,100.8,101.9,103.1,104.2,105.6,106.8,108.2,109.6,111.3,113,115,117,118.7,120.7,122.4,124.4,126.1,128.1,129.8,131.8,133.5,135.5,137.2,139.2,141,142.9,144.7,146.6,148.4,150.3,152.3,154.1,156,157.8,159.7,161.5,163.4,165.2,167.1,168.9,170.9,172.6,174.6,176.3,178,178,178.3,178,176,172.8,168.6,162.9,155.8,148.9,139,127.6,114.5,103.1,100.5,99.1,99.1,99.1,99.9,100.8,101.9,103.1,104.5,105.6,107.1,110.5,108.5,112.5,114.2,116.2,119.9,121.6,123.6,125.3,151.5,153.2,155.2,156.9,158.9,160.6,162.6,164.3,166.3,168,170,171.7,173.7,175.4,177.4,178,178,176.8,174,170.3,164.9,158.3,150.3,141,129.8,117.3,102.8,99.1,98.2,98.2,98.2,98,98,98.8,100.2,101.4,102.5,103.1,103.1,101.9,99.1,98.2,98,97.7,98.2,98.8,98.8,99.4,99.4,99.4,99.4,98.5,97.4,97.7,98.8,99.9,101.4,102.5,103.9,105.4,107.1,109.1,110.8,112.8,114.8,116.5,118.5,
122.2,120.2,123.9,125.9,127.6,129.6,131.3,133.3,135.3,137,139,140.7,142.7,142.7,144.4,146.4,148.1,150.1,151.8,153.8,155.5,157.5,159.2,161.2,162.9,164.9,166.6,168.6,170.3,172.3,174,176,177.7,178.3,178.3,176.8,174.3,170.6,165.2,158.6,150.6,141.2,130.1,117.6,103.4,98.5,96.5,97.1,96.5,98.2,99.4,100.8,102.2,103.6,105.4,107.1,109.1,110.8,112.8,114.5,116.5,118.2,120.2,121.9,123.9,125.6,127.6,129.3,131.3,133,135,136.7,138.7,140.1,142.1,143.8,145.8,145.8,147.5,149.5,151.5,153.2,155.2,156.9,158.9,160.9,162.6,164.6,166.3,168.3,170,172,173.7,175.7,177.7,178.3,178.3,177.1,174.6,170.9,165.4,158.9,151.2,141.8,130.7,118.2,103.9,99.1,97.1,95.7,96.2,95.7,97.4,98.5,99.9,101.4,102.8,104.5,106.5,108.2,110.2,112.2,113.9,115.6,117.6,119.6,121.3,123,125,127,128.7,130.4,132.4,134.4,136.1,138.1,139.8,141.8,143.5,145.5,147.2,147.2,149.2,150.9,152.9,154.6,156.6,158.3,160.3,162,164,165.7,167.7,169.4,171.4,172.8,174.8,176.5,178.3,178.3,177.7,175.7,172.3,167.7,161.7,154.3,145.2,135,122.7,108.8,99.7,96.8,95.1,95.1,95.7,96.8,98.2,99.4,101.1,102.5,104.2,106.2,107.9,109.9,111.6,113.6,115.3,117.3,119,121,122.7,124.7,126.4,128.4,130.1,132.1,133.8,135.8,137.5,139.5,141.2,143.2,144.9,146.9,148.6,148.6,150.6,152.3,154.3,156,158,159.7,161.7,163.4,165.4,167.1,169.1,170.9,172.8,174.6,176.5,178.3,178.3,177.7,176,172.8,168.6,162.6,155.8,147.2,137.2,125.3,112.2,101.4,97.7,94.8,94.5,94.5,95.1,96.2,97.4,98.8,100.5,102.2,103.9,107.6,105.6,109.6,111.3,113,115,117,118.7,120.7,122.4,124.4,126.1,127.9,129.8,131.6,133.5,135.5,137.2,139,141,142.9,144.7,146.4,146.4,148.4,150.1,152.1,154.1,155.8,157.8,159.5,161.2,163.2,165.2,166.9,168.9,170.6,172.6,174.3,176.3,178.3,178,176.3,173.4,111.6,113.3}
[0089]
数据波形图如附图8所示,计算结果为表1所示:
[0090]
波峰计数波峰值波谷值振幅波峰值序号1178.3104.573.8652178.3100.877.5139317899.178.91874178.397.480.92725178.396.581.83346178.395.782.63977178.395.183.24608178.394.583.8523
[0091]
表1
[0092]
计算结果与实际结果一致。
[0093]
【示例2】
[0094]
模拟数据丢失率15%,将数据序列data[529]各段数据删除8

11条记录不等,剩余数据序列(447条记录)data[447]={104.8,104.8,104.8,105.1,105.1,105.1,105.1,105.1,104.8,105.9,106.2,106.2,104.8,104.5,104.5,105.1,105.9,106.8,107.9,
109.1,110.5,112.2,113.9,115.3,117.3,119.3,121,123,124.7,126.7,128.4,130.4,132.4,134.1,136.1,137.8,139.8,141.8,143.5,145.5,147.2,149.2,150.9,154.9,156.6,158.6,160.3,162.3,164,166,167.7,169.7,171.4,173.4,175.1,177.1,178.3,117.9,117.9,117.9,117.9,117.9,117.9,117.9,117.9,117.9,117.9,117,114.8,111.1,105.9,102.2,101.4,100.8,100.8,113,115,117,118.7,120.7,122.4,124.4,126.1,128.1,129.8,131.8,133.5,135.5,137.2,139.2,141,142.9,144.7,146.6,148.4,150.3,152.3,154.1,156,157.8,159.7,161.5,163.4,165.2,167.1,168.9,170.9,172.6,174.6,176.3,178,178,178.3,99.1,99.1,99.1,99.9,100.8,101.9,103.1,104.5,105.6,107.1,110.5,108.5,112.5,114.2,116.2,119.9,121.6,123.6,125.3,151.5,153.2,155.2,156.9,158.9,160.6,162.6,164.3,166.3,168,170,171.7,173.7,175.4,177.4,178,178,176.8,174,170.3,164.9,158.3,150.3,141,129.8,117.3,102.8,99.1,98.2,98.2,98.2,98,98,98.8,100.2,101.4,102.5,103.1,98.5,97.4,97.7,98.8,99.9,101.4,102.5,103.9,105.4,107.1,109.1,110.8,112.8,114.8,116.5,118.5,122.2,120.2,123.9,125.9,127.6,129.6,131.3,133.3,135.3,137,139,140.7,142.7,142.7,144.4,146.4,148.1,150.1,151.8,153.8,155.5,157.5,159.2,161.2,162.9,164.9,166.6,168.6,170.3,172.3,174,176,177.7,178.3,178.3,176.8,174.3,170.6,165.2,158.6,150.6,141.2,130.1,117.6,103.4,98.5,96.5,97.1,96.5,98.2,99.4,100.8,102.2,103.6,105.4,107.1,109.1,110.8,112.8,114.5,116.5,118.2,120.2,142.1,143.8,145.8,145.8,147.5,149.5,151.5,153.2,155.2,156.9,158.9,160.9,162.6,164.6,166.3,168.3,170,172,173.7,175.7,99.1,97.1,95.7,96.2,95.7,97.4,98.5,99.9,101.4,102.8,104.5,106.5,108.2,110.2,112.2,113.9,115.6,117.6,119.6,121.3,123,125,127,128.7,130.4,132.4,134.4,136.1,138.1,139.8,141.8,143.5,145.5,147.2,147.2,149.2,150.9,152.9,154.6,156.6,158.3,160.3,162,164,165.7,167.7,169.4,171.4,172.8,174.8,176.5,178.3,178.3,177.7,175.7,172.3,167.7,161.7,154.3,145.2,135,122.7,108.8,99.7,96.8,95.1,95.1,95.7,96.8,98.2,99.4,101.1,102.5,104.2,106.2,107.9,109.9,111.6,113.6,115.3,117.3,119,121,122.7,124.7,126.4,128.4,130.1,132.1,133.8,135.8,137.5,139.5,141.2,143.2,144.9,146.9,148.6,148.6,150.6,152.3,154.3,156,158,159.7,161.7,163.4,165.4,167.1,169.1,170.9,172.8,174.6,176.5,178.3,178.3,177.7,176,172.8,168.6,162.6,155.8,147.2,137.2,125.3,112.2,101.4,97.7,94.8,94.5,94.5,95.1,96.2,97.4,98.8,100.5,102.2,103.9,107.6,105.6,109.6,111.3,113,115,117,118.7,120.7,122.4,124.4,126.1,127.9,129.8,131.6,133.5,135.5,137.2,139,141,142.9,144.7,146.4,157.8,159.5,161.2,163.2,165.2,166.9,168.9,170.6,172.6,174.3,176.3,178.3,178,176.3,173.4,111.6,113.3}
[0095]
数据波形图如附图9所示,计算结果为表2所示:
[0096]
波峰计数波峰值波谷值振幅波峰值序号1178.3104.573.8562178.3100.877.51123178.099.178.91484178.397.480.9220
5175.796.579.22686178.395.782.63217178.395.183.23848178.394.583.8441
[0097]
表2
[0098]
【示例3】
[0099]
模拟数据丢失率62%,将数据序列data[529]各段数据删除8

11条记录不等,剩余数据序列(199条记录)data[199]={104.8,104.8,106.8,107.9,109.1,110.5,112.2,113.9,115.3,117.3,119.3,121,123,124.7,126.7,128.4,130.4,132.4,134.1,136.1,137.8,139.8,141.8,143.5,166,167.7,169.7,171.4,173.4,175.1,177.1,178.3,117.9,117.9,117.9,117.9,117.9,117.9,117.9,117.9,117.9,117.9,117,114.8,111.1,105.9,102.2,101.4,131.8,133.5,135.5,137.2,139.2,141,142.9,144.7,146.6,148.4,150.3,152.3,154.1,156,157.8,159.7,161.5,163.4,165.2,167.1,168.9,170.9,172.6,100.8,101.9,103.1,104.5,105.6,107.1,110.5,108.5,112.5,114.2,116.2,119.9,121.6,123.6,170,171.7,173.7,175.4,177.4,178,178,176.8,174,170.3,164.9,158.3,150.3,141,129.8,117.3,102.8,99.1,98.2,98.2,120.2,123.9,125.9,127.6,129.6,131.3,133.3,135.3,137,139,140.7,142.7,161.2,176.8,174.3,170.6,165.2,158.6,150.6,141.2,130.1,117.6,103.4,98.5,96.5,97.1,160.9,162.6,164.6,166.3,168.3,170,172,173.7,175.7,99.1,97.1,97.4,115.6,117.6,119.6,121.3,123,125,127,128.7,130.4,132.4,147.2,149.2,156.6,158.3,160.3,162,164,165.7,167.7,178.3,177.7,175.7,172.3,167.7,161.7,154.3,145.2,135,122.7,108.8,99.7,96.8,95.1,115.3,117.3,119,121,122.7,124.7,126.4,128.4,130.1,132.1,133.8,135.8,158,159.7,161.7,163.4,165.4,167.1,169.1,170.9,172.8,174.6,176.5,125.3,112.2,101.4,97.7,94.8,94.5,94.5,95.1,96.2,97.4,98.8,100.5,129.8,131.6,133.5,135.5,137.2,139,141,142.9,144.7,146.4,157.8,159.5,161.2,163.2,165.2,166.9,168.9,170.6,172.6,174.3,176.3,111.6,113.3}
[0100]
数据波形图如附图10所示,计算结果为表3所示:
[0101]
波峰计数波峰值波谷值振幅波峰值序号1178.3104.873.5252172.6101.471.1523178.0100.877.2684176.898.278.6935175.796.579.11146178.396.581.81337176.595.181.41698176.394.581.8196
[0102]
表3
[0103]
如图11所示,本实施例还提供一种波峰检测系统,该波峰检测系统包括获取模块10、比较模块20和判定模块30,其中,获取模块10,用于获取待测波形波峰的数据序列,并将
获取的待测波形波峰的数据序列作为输入值,存入循环数组data[]中;比较模块20,用于比较循环数组data[]中前一条数据data[i

1]与定义的最小值变量minvalue的大小,若循环数组data[]中前一条数据data[i

1]小于预设的最小值变量minvalue,则将定义的最小值变量minvalue进行更新,将定义的最小值变量minvalue更新为循环数组中前一条数据data[i

1];判定模块30,用于判定当前波峰振幅与预设的杂波过滤振幅limit_line的大小,若当前波峰振幅大于预设的杂波过滤振幅limit_line,则比较当前数据data[i]与相邻的前后数据的大小,并将比较的结果作为波峰判断依据;其中,当前波峰振幅为当前数据data[i]与更新后的最小值变量minvalue的差值;波峰判断依据为若当前数据data[i]大于相邻的前后数据,则确定当前数据data[i]为波峰值。
[0104]
获取模块10对系统进行初始化及配置,配置项包括定义的全局波峰个数计数器peak、数据序列、杂波过滤振幅limit_line和最小值变量minvalue,其中,全局波峰个数计数器peak的初始化值为0。最小值变量minvalue用于存储每个波峰的最低值;还用于比较计算,初始化为数组第一条记录data[0]。获取待测波形波峰的数据序列,并将获取的待测波形波峰的数据序列作为输入值,存入循环数组data[]中。
[0105]
比较模块20将循环数组data[]中前一条数据data[i

1]与定义的最小值变量minvalue进行大小比较,若循环数组data[]中前一条数据data[i

1]小于预设的最小值变量minvalue,则将定义的最小值变量minvalue进行更新,将循环数组中前一条数据data[i

1]作为更新后的的最小值变量minvalue。
[0106]
判定模块30对当前波峰振幅与预设的杂波过滤振幅limit_line进行大小判定,若当前波峰振幅大于预设的杂波过滤振幅limit_line,则比较当前数据data[i]与相邻的几个前后数据的大小,并将比较的结果作为波峰判断依据;其中,当前波峰振幅等于当前数据data[i]与更新后的最小值变量minvalue的差值;波峰判断依据为若当前数据data[i]大于相邻的几个前后数据,则确定当前数据data[i]为波峰值。
[0107]
本实施例提供的波峰检测系统,通过获取待测波形波峰的数据序列,并将获取的待测波形波峰的数据序列作为输入值,存入循环数组data[]中;比较循环数组data[]中前一条数据data[i

1]与定义的最小值变量minvalue的大小,若循环数组data[]中前一条数据data[i

1]小于预设的最小值变量minvalue,则将定义的最小值变量minvalue进行更新,将定义的最小值变量minvalue更新为循环数组中前一条数据data[i

1];判定当前波峰振幅与预设的杂波过滤振幅limit_line的大小,若当前波峰振幅大于预设的杂波过滤振幅limit_line,则比较当前数据data[i]与相邻的前后数据的大小,并将比较的结果作为波峰判断依据;其中,当前波峰振幅为当前数据data[i]与更新后的最小值变量minvalue的差值;波峰判断依据为若当前数据data[i]大于相邻的前后数据,则确定当前数据data[i]为波峰值。本实施例提供的波峰检测系统,可以在单个波形周期内发生大量数据丢失的情况下,仍然能够准确计算波峰个数;同时可以对低于设定振幅值的杂波进行有效过滤,极大地减少因波形数据丢失造成的波峰数计算错误。
[0108]
进一步地,请见图12,图12为图11中所示的获取模块一实施例的功能模块示意图,在本实施例中,获取模块10包括设置单元11,其中,设置单元11,用于预设循环数组data[]的循环条件,循环条件为循环数组data[]的数据序列中的第二条数据至倒数第二条数据,当前数组下标为当前循环序列i。
[0109]
设置单元11预设循环数组data[]的循环条件,循环条件为循环数组data[]第二条数据至倒数第二条数据;并将当前数组下标为当前循环序列i。
[0110]
本实施例提供的波峰检测系统,通过预设循环数组data[]的循环条件,循环条件为循环数组data[]的数据序列中的第二条数据至倒数第二条数据,对当前数组下标为当前循环序列i。本实施例提供的波峰检测系统,可以在单个波形周期内发生大量数据丢失的情况下,仍然能够准确计算波峰个数;同时可以对低于设定振幅值的杂波进行有效过滤,极大地减少因波形数据丢失造成的波峰数计算错误。
[0111]
优选地,参见图13,图13为图11中所示的比较模块一实施例的功能模块示意图,在本实施例中,比较模块20包括第一判定单元21和更新单元22,其中,第一判定单元21,用于判定前一条数据data[i

1]与最小值变量minvalue两者之间的大小;更新单元22,用于若识别到前一条数据data[i

1]<最小值变量minvalue,则将最小值变量minvalue的值更新为data[i

1]。
[0112]
第一判定单元21比较循环数组data[]中前一条数据data[i

1]与最小值变量minvalue两者之间的的大小。
[0113]
更新单元22若识别到循环数组data[]中前一条数据data[i

1]小于最小值变量minvalue,则将最小值变量minvalue的值更新为data[i

1]。
[0114]
本实施例提供的波峰检测系统,通过判定前一条数据data[i

1]与最小值变量minvalue两者之间的大小;若识别到前一条数据data[i

1]<最小值变量minvalue,则将最小值变量minvalue的值更新为data[i

1]。本实施例提供的波峰检测系统,可以在单个波形周期内发生大量数据丢失的情况下,仍然能够准确计算波峰个数;同时可以对低于设定振幅值的杂波进行有效过滤,极大地减少因波形数据丢失造成的波峰数计算错误。
[0115]
进一步地,请见图14,图14为图11中所示的判定模块一实施例的功能模块示意图,在本实施例中,判定模块30包括第二判定单元31、比较单元32和计算单元33,其中,第二判定单元31,用于判定当前波峰振幅与杂波过滤高度limit_line两者之间的大小,当前波振幅的数值为当前数据data[i]

最小值变量minvalue,若当前数据data[i]

最小值变量minvalue>杂波过滤高度limit_line,则继续下一步计算,否则当前数据data[i]不满足峰值条件,继续下一次循环;比较单元32,用于比较当前数据与临近的前后数据的大小,将比较结果作为波峰判断依据,若当前数据data[i]>前一条数据data[i

1]并且当前数据data[i]>后一条数据data[i 1];或当前数据data[i]==前一条数据data[i

1]并且当前数据data[i]>后一条数据data[i 1],则确定当前数据data[i]为波峰值;计算单元33,用于对循环数组data[]中的波峰个数peak和循环计数器i进行加1计算,同时记录波峰值的相关信息。
[0116]
预设过滤高度,对低于设定高度的波形(杂波)进行过滤,视为无效数据,不参与计算。过滤方法采用相对值进行计算,即不以数据本身的值,而是以数据与单个波中最小值之差与过滤高度对比进行判断,可不受数据整体偏移影响。
[0117]
超过过滤高度的数据记录为有效数据,进行波峰值判断,判断时不以单一峰值(最大值)作为判断依据,而是采用与邻近两个点共四次比较进行判断,可避免波峰平滑情况下的误判。
[0118]
识别出波峰后,对循环数组data[]中的波峰个数peak和循环计数器i进行加1计
算,波峰个数peak加1,循环计数器i加1。同时记录波峰值的相关信息:记录波峰值数据位置、波峰点数值、单个波峰高度(相对值)、当前波峰个数peak、当前记录序列号i、波谷值minvalue、波峰值data[i]和振幅data[i]

minvalue,记录方式可以是直接输出或者保存文件或者数据库。
[0119]
本实施例提供的波峰检测系统,通过判定当前波峰振幅与杂波过滤高度limit_line两者之间的大小,当前波振幅的数值为当前数据data[i]

最小值变量minvalue,若当前数据data[i]

最小值变量minvalue>杂波过滤高度limit_line,则继续下一步计算,否则当前数据data[i]不满足峰值条件,继续下一次循环;比较当前数据与临近的前后数据的大小,将比较结果作为波峰判断依据,若当前数据data[i]>前一条数据data[i

1]并且当前数据data[i]>后一条数据data[i 1];或当前数据data[i]==前一条数据data[i

1]并且当前数据data[i]>后一条数据data[i 1],则确定当前数据data[i]为波峰值;对循环数组data[]中的波峰个数peak和循环计数器i进行加1计算,同时记录波峰值的相关信息。本实施例提供的波峰检测系统,可以在单个波形周期内发生大量数据丢失的情况下,仍然能够准确计算波峰个数;同时可以对低于设定振幅值的杂波进行有效过滤,极大地减少因波形数据丢失造成的波峰数计算错误。
[0120]
优选地,请见图15,图15为本发明提供的波峰检测系统第二实施例的功能框图,在第一实施例的基础上,波峰检测系统还包括处理模块40,其中,处理模块40,用于继续下一循环,直至循环数组data[]中倒数第二条数据全部处理完毕。
[0121]
处理模块40继续下一循环,直至循环至循环数组data[]中倒数第二条数据结束,数据全部处理完毕。
[0122]
本实施例提供的波峰检测系统,通过继续下一循环,直至循环数组data[]中倒数第二条数据全部处理完毕。本实施例提供的波峰检测系统,可以在单个波形周期内发生大量数据丢失的情况下,仍然能够准确计算波峰个数;同时可以对低于设定振幅值的杂波进行有效过滤,极大地减少因波形数据丢失造成的波峰数计算错误。
[0123]
本实施例提供的波峰检测方法及系统,所取得的有益效果为:
[0124]
1、预设过滤高度,对低于设定高度的波形(杂波)进行过滤,视为无效数据,不参与计算。
[0125]
2、采用相对值进行计算,即不以数据本身的值而是以数据与单个波中最小值之差与过滤高度对比进行判断,可不受数据整体偏移影响。
[0126]
2、超过过滤高度的数据记录为有效数据,进行波峰值判断,判断时不以单一峰值(最大值)作为判断依据,而是采用与邻近两个点共四次比较进行判断,可避免波峰平滑情况下的误判。
[0127]
3、识别出波峰后,记录波峰值数据位置,波峰点数值,单个波峰高度(相对值)。
[0128]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献