CN106597049B - 基于链表数组的多幅波形包络提取方法 - Google Patents

基于链表数组的多幅波形包络提取方法 Download PDF

Info

Publication number
CN106597049B
CN106597049B CN201611161528.2A CN201611161528A CN106597049B CN 106597049 B CN106597049 B CN 106597049B CN 201611161528 A CN201611161528 A CN 201611161528A CN 106597049 B CN106597049 B CN 106597049B
Authority
CN
China
Prior art keywords
data
chained list
node
array
envelope
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611161528.2A
Other languages
English (en)
Other versions
CN106597049A (zh
Inventor
张沁川
郭连平
谭峰
潘卉青
焦晓曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201611161528.2A priority Critical patent/CN106597049B/zh
Publication of CN106597049A publication Critical patent/CN106597049A/zh
Application granted granted Critical
Publication of CN106597049B publication Critical patent/CN106597049B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R13/00Arrangements for displaying electric variables or waveforms
    • G01R13/02Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
    • G01R13/0209Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form in numerical form

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于链表数组的多幅波形包络提取方法,建立一个动态链表数组,数组长度和一副信号波形长度相同,数组中的数据元素均为链表表头节点,每一个链表中存储同一个采样位置的波形数据,每采集完一幅波形数据即更新数据链表;在每次更新数据时,如果链表长度达到用户设置的包络次数,则删除表头节点;如果最新数据与之前某个节点相同,则将这一旧节点删除,将最新数据添加至链表末尾节点,否则直接将最新数据添加至链表末尾节点;然后对链表进行数据老化处理,避免老旧数据滞留;依次扫描每个链表得到其最大值和最小值,即为对应采样点的包络数据。本发明通过将波形数据存储到动态链表型数组中,实现高精度的多幅波形包络数据提取。

Description

基于链表数组的多幅波形包络提取方法
技术领域
本发明属于数字信号分析技术领域,更为具体地讲,涉及一种基于链表数组的多幅波形包络提取方法。
背景技术
信号的包络信息实质上就是提取信号幅度信息,将波形记录中的每个采样点位置的最大值和最小值存储并构成波形显示,即得到波形的包络信息。包络分析是观测波形抖动、监察毛刺信号、检测信号漂移等情况的一种很好的方式,应用包络分析可以更加清晰直观地观察到信号的异常或所需要的结果。包络分析也是工程信号分析的一种常用方法,利用包络分析方法可以对信号高频成分的低频特征或低频事件进行详细分析。这种方法在机械测试和故障诊断等领域有着很重要的作用。
单幅波形包络的理论并不复杂,若由人工绘制,直接连接信号的极值就可以得到信号包络线,在数字信号处理系统中,也可以采用希尔伯特变换法,小波变换法,带通滤波法等等来提取单幅波形的包络。但是这些包络提取方法都是针对单幅波形数据的,而在数字三维示波器中,由于其显示对象为多幅波形数据的叠加,所需要提取的包络是由每个采样点上的极值连接而成的,与单幅波形数据的包络存在较大区别,以上方法就不再适用,需要研究新的包络提取方法。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于链表数组的多幅波形包络提取方法,通过将波形数据存储到动态链表型数组中,实现高精度的多幅波形包络数据提取。
为实现上述发明目的,本发明基于链表数组的多幅波形包络提取方法包括以下步骤:
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,则将该表头节点删除,将下一链表节点作为表头节点;
S8:依次扫描每个链表,提取该链表所有节点数据域中数据的最大值Roof[i]和最小值Floor[i],分别作为第i个采样点的上包络值和下包络值,得到信号的包络数据;
S10:判断是否接收到结束指令,如果是,结束信号采集和包络提取,否则令t=t+1,返回步骤S4。
本发明基于链表数组的多幅波形包络提取方法,建立一个动态链表数组,数组长度和一副信号波形长度相同,数组中的数据元素均为链表表头节点,每一个链表中存储同一个采样位置的波形数据,每采集完一幅波形数据即更新数据链表;在每次更新数据时,如果链表长度达到用户设置的包络次数,则删除表头节点;如果最新数据与之前某个节点相同,则将这一旧节点删除,将最新数据添加至链表末尾节点,否则直接将最新数据添加至链表末尾节点;然后对链表进行数据老化处理,避免老旧数据滞留;依次扫描每个链表得到其最大值和最小值,即为对应采样点的包络数据。
采用本发明,使用链表数组存储波形数据,然后从中提取包络数据,省去在硬件中复杂的计算过程,同时解放大量存储空间,提高了数据处理的效率以及包络数据的精度。
附图说明
图1是本发明基于链表数组的多幅波形包络提取方法的具体实施方式流程图;
图2是本发明中所采用的链表数组结构图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
为了更好地说明本发明的技术内容,首先对链表数组进行一个简要说明。链表数组同时结合了链表和数组的优点,将同类型的元素按照一定顺序排列,用同一个名字命名这些有限个类型相同的变量,然后用编号区分他们,并且可以用一组任意的存储单元来存储数据元素,这组存储单元可以是连续的也可以是不连续的。这就意味着,这些数据元素可以存储于内存未被占用的任意位置。链表的每一个节点包括两部分:存储数据元素的数据域,以及存储下一个节点地址的指针域。通过每个节点的指针域将数据元素按其逻辑顺序链接在一起。这些节点可以在运行时动态生成,避免数据长度变化较大时,难以确定存储空间容量这一问题。
图1是本发明基于链表数组的多幅波形包络提取方法的具体实施方式流程图。如图1所示,本发明基于链表数组的多幅波形包络提取方法的具体步骤包括:
S101:构建链表数组:
构建一个动态链表数组,用于存储采集到的波形数据。图2是本发明中所采用的链表数组结构图。如图2所示,本发明中采用链表数组是长度为L的数组P,该数组中每个元素P[i]为一个链表的表头节点,i=0,1,…,L-1,L表示每幅波形数据的采样点数量。表1是链表节点结构。
data next
表1
如表1所示,链表节点中的数据域data用于保存数据,在本发明中用于保存对应采样点数据,指针域next用于指向下一个节点,若该节点是当前链表的最后一个节点,则next域为null。本发明中,每个链表的最大长度为M,M表示预设的包络次数,即在求取信号的包络时,所涵盖的波形数据的幅数。
S102:链表数组初始化:
按照预定参数,例如时基、幅度档位实时采集第1幅波形数据,记其采样点序列为X1,X1[i]表示第1幅波形的第i个采样点,令链表数组中每个链表的表头节点数据域P[i].data=X1[i],指针域P[i].next=null。
S103:令波形序号t=2。
S104:信号数据采集:
按照预定参数实时采集第t幅波形,记其采样点序列为Xt,Xt[i]表示第t幅波形的第i个采样点。
S105:链表长度维护:
分别判断每个链表当前的链表节点数量是否小于M,如果是,不作任何操作,否则删除该链表的表头节点。该步骤的作用是保证每个链表的节点数量不超过其最大长度。
S106:链表节点维护:
对于第t幅波形中的每个采样点,依次创建并初始化一系列的链表节点,即对采样点Xt[i]创建一个链表节点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]添加到该链表末尾。
可见,采用以上方法进行链表节点维护后,每个链表下各个节点的数据域均为不同的值,这样就不需要存储每幅波形的数据,从而减少数据存储量,并且也大大减少了后续包络提取时的运算量。
S107:数据老化处理:
判断链表数组中每个表头节点P[i]所对应的波形数据的序号ti与当前波形数据序号t之间的差值是否大于预设阈值T,如果t-ti>T,则将该表头节点删除,将下一链表节点作为表头节点。该操作可以避免某个较老的数据滞留在链表中,影响包络提取的准确性。由于包络次数为M,因此可以设置T=M,以保证链表中所存储的是最近M幅波形数据的相关数据。
S108:包络提取:
依次扫描每个链表,提取该链表所有节点数据域中数据的最大值Roof[i]和最小值Floor[i],分别作为第i个采样点的上包络值和下包络值,得到信号的包络数据。根据系统参数进行实时刷新并显示,即可显示信号的包络波形。
S109:判断是否接收到结束指令,如果是,结束信号采集和包络提取,否则令t=t+1,返回步骤S104。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (2)

1.一种基于链表数组的多幅波形包络提取方法,其特征在于包括以下步骤:
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,则将该表头节点删除,将下一链表节点作为表头节点;
S8:依次扫描每个链表,提取该链表所有节点数据域中数据的最大值Roof[i]和最小值Floor[i],分别作为第i个采样点的上包络值和下包络值,得到信号的包络数据;
S9:判断是否接收到结束指令,如果是,结束信号采集和包络提取,否则令t=t+1,返回步骤S4。
2.根据权利要求1所述的多幅波形包络提取方法,其特征在于,所述步骤S7中阈值T等于包络次数M。
CN201611161528.2A 2016-12-15 2016-12-15 基于链表数组的多幅波形包络提取方法 Active CN106597049B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611161528.2A CN106597049B (zh) 2016-12-15 2016-12-15 基于链表数组的多幅波形包络提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611161528.2A CN106597049B (zh) 2016-12-15 2016-12-15 基于链表数组的多幅波形包络提取方法

Publications (2)

Publication Number Publication Date
CN106597049A CN106597049A (zh) 2017-04-26
CN106597049B true CN106597049B (zh) 2019-01-25

Family

ID=58802704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611161528.2A Active CN106597049B (zh) 2016-12-15 2016-12-15 基于链表数组的多幅波形包络提取方法

Country Status (1)

Country Link
CN (1) CN106597049B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111523004B (zh) * 2020-07-03 2020-10-02 南京智能制造研究院有限公司 一种边缘计算网关数据的存储方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936765A (zh) * 2005-09-30 2007-03-28 康佳集团股份有限公司 一种定时器链表的调度方法
US7489963B2 (en) * 1998-01-23 2009-02-10 Ge Medical Systems Information Technologies, Inc. Method of correcting for phase error induced by a down sampling routine
CN101276334B (zh) * 2007-03-29 2011-04-06 上海新跃仪表厂 一种快速检索数据的链表实现方法
CN101247603B (zh) * 2008-03-26 2012-04-04 中兴通讯股份有限公司 多层锚点提取方法及装置
CN102968868A (zh) * 2012-10-31 2013-03-13 武汉理工光科股份有限公司 基于时域包络分析光纤光栅周界入侵行为识别方法及系统
CN105939345A (zh) * 2016-04-25 2016-09-14 杭州迪普科技有限公司 协议表项定时器的管理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7489963B2 (en) * 1998-01-23 2009-02-10 Ge Medical Systems Information Technologies, Inc. Method of correcting for phase error induced by a down sampling routine
CN1936765A (zh) * 2005-09-30 2007-03-28 康佳集团股份有限公司 一种定时器链表的调度方法
CN101276334B (zh) * 2007-03-29 2011-04-06 上海新跃仪表厂 一种快速检索数据的链表实现方法
CN101247603B (zh) * 2008-03-26 2012-04-04 中兴通讯股份有限公司 多层锚点提取方法及装置
CN102968868A (zh) * 2012-10-31 2013-03-13 武汉理工光科股份有限公司 基于时域包络分析光纤光栅周界入侵行为识别方法及系统
CN105939345A (zh) * 2016-04-25 2016-09-14 杭州迪普科技有限公司 协议表项定时器的管理方法及装置

Also Published As

Publication number Publication date
CN106597049A (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
CN106933992B (zh) 基于数据分析的分布式数据清洗系统及方法
CN103823792B (zh) 从文本文档中检测热点事件的方法和设备
CN110850244B (zh) 基于深度学习的局放缺陷时域图谱诊断方法、系统及介质
Cimatoribus et al. Dansgaard–Oeschger events: bifurcation points in the climate system
EP2291798A1 (en) Signal search in three dimensional bitmaps
CN109902120B (zh) 一种面向栅格文本降水数据的可视化分析方法
CN105259909A (zh) 基于无人飞行器的植被数据采集方法及采集装置
CN112180433B (zh) 地震初至波拾取方法及装置
CN106597049B (zh) 基于链表数组的多幅波形包络提取方法
CN109060592B (zh) 一种页岩损失气量获取方法、装置及终端设备
Kwasniok et al. Deriving dynamical models from paleoclimatic records: Application to glacial millennial-scale climate variability
CN105517018B (zh) 一种获取位置信息的方法及装置
CN117572837B (zh) 一种智慧电厂ai主动运维方法及系统
CN104428662B (zh) 用于确定地质地层中的分子结构的系统和方法
CN108957120B (zh) 一种微弱信号提取方法及系统
CN108804044A (zh) 基于深存储的数据采集方法和深存储数据采集系统
CN109736793B (zh) 一种评价储层孔隙结构的方法及设备
CN106023178B (zh) 一种基于梯度方向聚类的遥感数据中单棵树的检测方法
CN111462077A (zh) 一种利用非线性信息熵定征生物组织的方法
US11960462B2 (en) Real-time data processing
CN107066421A (zh) 一种示波器及其采集数据上报方法
BŁASZCZAK-BĄK et al. Modification of Lidar Point Cloud Processing Methodology
CN104820120A (zh) 一种提高信号触发精度的方法与装置
CN106886856A (zh) 一种基于PSR‑FastICA‑OS_ELM的自动气象站实时数据质量控制方法
Janicka et al. Terrestial laser scaning in forest invetory based on OptD optimization method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant