[发明专利]基于链表数组的多幅波形包络提取方法有效
申请号: | 201611161528.2 | 申请日: | 2016-12-15 |
公开(公告)号: | CN106597049B | 公开(公告)日: | 2019-01-25 |
发明(设计)人: | 张沁川;郭连平;谭峰;潘卉青;焦晓曼 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G01R13/02 | 分类号: | G01R13/02 |
代理公司: | 成都行之专利代理事务所(普通合伙) 51220 | 代理人: | 温利平;陈靓靓 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 数组 波形 包络 提取 方法 | ||
本发明公开了一种基于链表数组的多幅波形包络提取方法,建立一个动态链表数组,数组长度和一副信号波形长度相同,数组中的数据元素均为链表表头节点,每一个链表中存储同一个采样位置的波形数据,每采集完一幅波形数据即更新数据链表;在每次更新数据时,如果链表长度达到用户设置的包络次数,则删除表头节点;如果最新数据与之前某个节点相同,则将这一旧节点删除,将最新数据添加至链表末尾节点,否则直接将最新数据添加至链表末尾节点;然后对链表进行数据老化处理,避免老旧数据滞留;依次扫描每个链表得到其最大值和最小值,即为对应采样点的包络数据。本发明通过将波形数据存储到动态链表型数组中,实现高精度的多幅波形包络数据提取。
技术领域
本发明属于数字信号分析技术领域,更为具体地讲,涉及一种基于链表数组的多幅波形包络提取方法。
背景技术
信号的包络信息实质上就是提取信号幅度信息,将波形记录中的每个采样点位置的最大值和最小值存储并构成波形显示,即得到波形的包络信息。包络分析是观测波形抖动、监察毛刺信号、检测信号漂移等情况的一种很好的方式,应用包络分析可以更加清晰直观地观察到信号的异常或所需要的结果。包络分析也是工程信号分析的一种常用方法,利用包络分析方法可以对信号高频成分的低频特征或低频事件进行详细分析。这种方法在机械测试和故障诊断等领域有着很重要的作用。
单幅波形包络的理论并不复杂,若由人工绘制,直接连接信号的极值就可以得到信号包络线,在数字信号处理系统中,也可以采用希尔伯特变换法,小波变换法,带通滤波法等等来提取单幅波形的包络。但是这些包络提取方法都是针对单幅波形数据的,而在数字三维示波器中,由于其显示对象为多幅波形数据的叠加,所需要提取的包络是由每个采样点上的极值连接而成的,与单幅波形数据的包络存在较大区别,以上方法就不再适用,需要研究新的包络提取方法。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于链表数组的多幅波形包络提取方法,通过将波形数据存储到动态链表型数组中,实现高精度的多幅波形包络数据提取。
为实现上述发明目的,本发明基于链表数组的多幅波形包络提取方法包括以下步骤:
S1:构建一个长度为L的动态链表数组P,该数组中每个元素P[i]为一个链表的表头节点,i=0,1,…,L-1,L表示每幅波形数据的采样点数量;
S2:按照预定参数实时采集第1幅波形数据,记其采样点序列为X1,X1[i]表示第1幅波形的第i个采样点,令链表数组中每个链表的表头节点数据域P[i].data=X1[i],指针域P[i].next=null;
S3:令波形序号t=2;
S4:按照预定参数实时采集第t幅波形,记其采样点序列为Xt,Xt[i]表示第t幅波形的第i个采样点;
S5:分别判断每个链表当前的链表节点数量是否小于M,M表示预设的包络次数,如果是,不作任何操作,否则删除该链表的表头节点;
S6:对波形中的每个采样点分别创建一个链表节点S[i],其数据域S[i].data=Xt[i],指针域S[i].next=null;将链表节点S[i].data与数组元素P[i]对应链表中的所有节点的数据域依次比较,若该链表中的所有节点的数据域都与S[i].data不同,则将S[i]直接添加到该链表末尾;若有某一节点的数据域与S[i].data相同,则删除该节点后将S[i]添加到该链表末尾;
S7:判断链表数组P中每个表头节点P[i]所对应的波形数据的序号ti与当前波形数据序号t之间的差值是否大于预设阈值T,如果t-ti>T,则将该表头节点删除,将下一链表节点作为表头节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611161528.2/2.html,转载请声明来源钻瓜专利网。