一种一维数据的包络提取方法及系统的制作方法

文档序号:7523252阅读:671来源:国知局
专利名称:一种一维数据的包络提取方法及系统的制作方法
技术领域
本发明提出了一种针对一维数据的包络提取方法,适用于一维连续数据的包络提取,具体涉及一种一维数据的包络提取方法及系统。
背景技术
一维数据的包络信息表现了数据变化的趋势,反映了数据中的低频信息。包络在大量工程领域得到了广泛的研究和应用。已有的较为通用的包络提取方法有低通滤波法、短时能量法和解析信号法等。基于经典的幅度调制解调技术,低通滤波法是将数据先进行半波整流或全波整流,再经过低通滤波,得到数据的包络。这种包络提取方法最为常用。短时能量法是提前设定时间窗,让数据通过时间窗,计算每个时间窗内数据的均方根值,得到数据的包络。解析信号法是先通过对数据进行希尔伯特变换,得到解析信号,然后计算解析信号的幅度,得到数据的包络。然而以上方法各有利弊:低通滤波法可以通过选择不同的截止频率来影响包络的变化快慢,但依赖于滤波器的设计,不同设计者设计的滤波器在阶数和形式上会有不同;短时能量法可以通过选择不同的窗长度来影响包络的变化快慢,而与低通滤波法的共同缺点是不能确保准确捕捉数据的主要极值点,在时间上有延迟或超前;解析信号法在数学上有严谨的表达形式,但解析信号的幅度并不是在任何情况下都可以看做包络,物理意义不明确,该方法不能通过设定参数来影响包络的变化快慢。上面在分析三种常用方法利弊时,把包络的变化快慢作为包络提取评价的重要指标,这种说法虽然在不严谨,但有较强的实用性。本发明将提出一种新的包络提取方法,该方法通过设定一个尺度参数来控制包络的变化快慢,能够准确捕捉数据中的主要极大值点,通过端点处理和三次样条插值得到包络曲线。该方法只需要使用者选择合适的尺度参数,即可得到较为理想的包络,通过尺度参数限定了包络的频率范围,该包络可以较好得表现数据变化的趋势。

发明内容
本发明的目的在于,为克服现有技术在一维数据的包络提取方法的缺陷提供一种包络提取方法及系统,用于一维数据的包络提取,即本发明提供了一维数据的包络提取方法及系统。为实现上述目的本发明提供了一种一维数据的包络提取方法,该方法将包络的变化快慢作为包络提取的指标,所述方法包含:步骤101)用于设置某一长度的尺度参数、包络幅度阈值、最大循环次数和最少极值点数参数的步骤;步骤102)获取一维数据幅度大于包络幅度阈值的初步极大值点集合,依据最大循环次数或最少极值点数作为循环终止条件并以初步极大值点集合为输入采用若干次循环逐步优化寻找一维数据包络的极大值点;其中,每次循环首先采用极大值定义从上次循环结束输出的极值点集合中进一步选取极大值点,如果进一步选取的极大值点中任意两个极值点之间的横坐标距离大于尺度参数时,则保留该两极值点及横坐标位于该两个极值点间的上次循环输出的若干极值点作为本次循环输出的极大值点,否则仅保留该两个极值点作为本次循环输出的极大值点;所述每次循环均保留初步极大值点集合的两端的端值作为极大值点;步骤103)用于获取优化的端点极值点的步骤,从而完成一维数据的包络的极大值点的提取;步骤104)采用三次样条插值法对提取所有的一维数据的包络的极大值点进行插值,连成光滑曲线得到一维数据的包络。其中,所述尺度参数的单位为一维数据的横坐标的单位。上述技术方案中,所述保留的若干极值点的具体数目受限于设置的间隔参数,SP保留的相邻极值点对应的横坐标的间隔大于设置的间隔参数;其中,所述间隔参数为尺度参数与某个正整数相除的结果。优化的,所述方法还包含:用于对一维数据进行加噪处理的步骤。可选的,所述尺度参数为某一长度的时间参数。当所述尺度参数为某一长度的时间参数,所述步骤103)进一步包含:分别在两端极值点对应的时刻两端各取两点,并分别延长至待提取的一维数据的时间两端,若在端点上延长线上的点对应幅度值大于待提取的一维数据的起始端或终止端点对应的幅度值时,则取延长线上的幅度值为一维数据包络上的优化的端点极值点,否则取待提取一维数据的端点处的幅度值为一维数据包络上的优化的端点极值点。基于上述方法本发明还提供一种一维数据的包络提取系统,该系统将包络的变化快慢作为包络提取的指标,所述系统包含:参数设置模块,用于设置尺度参数、包络幅度阈值、最大循环次数和最少极值点数参数;一维数据包络极值点获取模块,用于获取一维数据幅度大于包络幅度阈值的初步极大值点集合,依据最大循环次数或最少极值点数作为循环终止条件并以初步极大值点集合为输入采用若干次循环逐步优化寻找一维数据包络的极大值点;其中,每次循环首先采用极大值定义从上次循环结束输出的极值点集合中进一步选取极大值点,如果进一步选取的极大值点中任意两个极值点之间的横坐标距离大于尺度参数时,则保留该两极值点及横坐标位于该两个极值点间的上次循环输出的若干极值点作为本次循环输出的极大值点,否则仅保留该两个极值点作为本次循环输出的极大值点;所述每次循环均保留初步极大值点集合的两端的端值作为极大值点;确定一维数据包络端点的幅度值的模块,用于获取待提取的一维数据包络的起始端和终止端的幅度值;和插值模块,用于基于一维数据包络极值点获取模块输出的极值点及确定一维数据包络端点的幅度值的模块输出的起始端和终止端的幅度值采用三次样条插值法得到光滑一维数据包络。
上述技术方案中,所述保留的若干极值点的具体数目受限于设置的间隔参数,SP保留的极值点对应的横坐标的间隔大于设置的间隔参数的极值点;其中,所述间隔参数为尺度参数与某个正整数相除的结果。优化的,所述系统还包含加噪模块,用于对待提取的一维数据进行加噪处理。可选的,所述所述尺度参数为某一长度的时间参数。当所述所述尺度参数为某一长度的时间参数,所述确定一维数据包络端点的幅度值的模块分别在一维数据包络极值点获取模块每次循环保留的两端的极值点对应的时刻两端各取两点,并分别延长至待提取的一维数据的时间两端,若在端点上延长线上的点对应的幅度值大于待提取的一维数据的起始端或终止端点对应的幅度值时,则取延长线上的幅度值为一维数据包络上的优化的端点极值点,否则取待提取一维数据的端点处的幅度值为一维数据包络上的优化的端点极值点。本发明中在实际应用中不限制所处理的一维数据包络的幅度值一定是时域数据,即上述“时间尺度参数”也可以表示除时间以外的其他物理量,如频率尺度参数等。且本发明中的时间参数尺度可以是常数,也可以是变量,根据实际需求来确定。与现有技术相比,本发明的技术优势在于:1、通过循环求极大值的方法准确地提取出一维数据包络中的主要极大值点;2、通过尺度参数来控制包络的变化快慢;3、通过加噪模块避免了 “静音区”对包络的影响。采用上述技术方案获取的一维数据包络的极值点能够很好得表现一维数据变化的趋势,且通过时间尺度参数限定了包络的频率范围,有较强的实用性。


图1为本发明的一维数据的包络提取方法总体框图;图2为本发明的循环极值模块流程图;图3为本发明的极值计算和选取模块流程图;图4为本发明的局部极值选取流程图;图5为本发明实施实例测试中的待处理数据1:低音提琴的两个声音的时域数据;图6为本发明实施实例测试中对数据I进行包络提取的结果例图,其中ts设置为
0.26秒的常数;图7为本发明实施实例测试中对数据I进行包络提取的结果例图,与图6数据处理不同的是,图7为不采用加噪模块的处理结果;图8为本发明实施实例测试中的待处理数据2:成年男子用汉语普通话说出的“大声”一词的时域数据;图9为本发明实施实例测试中对数据2进行包络提取的结果例图,其中ts设置为
0.01秒的常数;图10为本发明实施实例测试中对数据2进行包络提取的结果例图,其中ts设置为0.03秒的常数。图11为本发明实施实例测试中对数据3:正常心音数据的包络提取结果例图,其中ts设置为0.05秒的常数。
图12为本发明实施实例测试中对数据4:患有二尖瓣狭窄患者心音数据的包络提取结果例图,其中ts设置为0.05秒的常数。图13为本发明实施实例测试中对数据5:患有主动脉瓣关闭不全患者心音数据的包络提取结果例图,其中ts设置为0.05秒的常数。图14为本发明实施实例测试中对数据6:某海域26小时连续测量的温度数据的包络提取结果例图,其中ts设置为1000秒的常数。图15为本发明实施实例测试中对数据7:痉挛患者发作时脑电图某电极采集数据包络提取结果例图,其中ts设置为1.3秒的常数。
具体实施例方式为了验证本发明方法的可行性和有效性,下面结合附图及具体实施例对本发明作进一步说明。本具体实施例将采用如图8所示的数据I做具体说明,图8所示的一维数据包络为“时间-幅度”的一维包络。即以下实施例将尺度参数设定为时间尺度参数,依据时间尺度参数作为包络提取的指标。其中,本发明技术方案要求一维数据的包络有较为明确的物
理意义。本实施实例提供一种包络提取系统,所述系统包括参数设置模块,加噪模块,循环极值模块,端点处理模块和数据插值模块。参数设置模块1,用于设置时间尺度ts、局部时间尺度tsl、包络幅度阈值thres、最大循环次数NLoop和最少极值点数NPeak等参数;加噪模块2,在数据中加入幅度很小的随机噪声,使得提取出的包络更加合理,本模块为可选模块,数据中存在“静音区”等异常情况时本模块有明显效果;循环极值模块3,计算数据中幅度大于thres的极大值点,然后在所得极大值点中进一步寻找极大值点,循环计算极大值,循环次数由NLoop决定,但当极大值点数小于Npeak时,循环被迫终止。在这个循环中若发现相邻极点时间距离大于ts时,则保留两个极点间的部分数据点,保留的依据是相邻数据间隔大于tsl (建议ts/10 < tsl < ts/3)。其中极值计算和局部数据选取被称为极值计算和选取模块;端点处理模块4,用于起始端和终止端数据的处理。循环极值模块的输出数据两端各取两点,并分别延长至原始数据的时间两端,若在端点上延长线上的数据大于原始数据的端点数据,则取延长线上的数据为有效端点,否则取原始数据的端点数据为有效端点。数据插值模块5,用于将端点处理模块的输出数据进行插值。采用三次样条插值法,得到数据包络。如图8所示为待提取包络的数据I。数据I是低音提琴的两个声音。用于包络提取的系统的总体框图如图1所示。首先,进入参数设置模块1,设置时间尺度ts = 0.26秒,局部时间尺度tsl =ts/4,包络幅度阈值thres = O、最大循环次数NLoop = 20和最少极值点数NPeak = 5 ;然后,将待提取低音提琴的两个声音输入加噪模块2,生成以数据最大幅度的1%。为最大幅度的随机噪声;其次,将加噪以后的一维数据输入循环极值模块3进行一维数据的包络的极值点的获取,详细流程图如图2所示,具体步骤描述如下:为了描述循环极值模块3的循环选取优化的极值点的过程,做出如下假设:设置如下常数:时间尺度参数ts,间隔参数tsl,最大循环次数NLoop,最少极值点数参数NPeak,包络幅度阈值thres以及数据一维数据的包络持续的总时长T ;将上次循环的输出结果表示为(xk,tk),其中tk为极值点(即一维数据的包络幅度值)xk对应的横坐标值;并创建循环计数器k并将k赋值为I。循环极值模块3首先从加噪模块2接收的一维数据的包络中选取所有幅度值大于设置的包络幅度阈值的所有幅度值形成初步极值点集合,并将这些点用(xk,tk)集合进行表示,所述Xk为一维数据包络的幅度值,tk与Xk —一对应表示幅度值Xk对应的横坐标值,在该实施实例中tk为幅度值对应的时刻。同时将幅度值Xk中小于包络幅度阈值thres的的数值都设置为thres。然后进入循环17在每次循环开始时,先判断循环计数器k是否小于等于最大循环次数NLoop,若判断为“否”则终止循环,将当前时刻的xk和tk作为输出参数xk”和tk”输出;若判断为“是”,则输入参数进入极值计算和选取模块6。极值计算和选取模块6的输出量主要是新的xk和tk,图中分别用xk’和tk’表示。对xk’的个数Nk进行判断。若判断为“否”,则另循环计数器k加1,即k = k+Ι,且将xk’和tk’作为下一次循环的输入参数xk和tk,然后继续下一次循环;若判断为“是”,则终止循环,将当前时刻的xk’和tk’作为输出参数xk”和tk”输出。其中,在所有循环程序中均保留初步极值点集合的端值作为极值点,该端值即满足大于包络幅度阈值的幅度值在该一维数据包络上出现的最早和最晚时刻对应的幅度值。再其次,采用上述循环策略后逐步寻找到所有的优化一维数据包络的极大值点,将这些所有极大值点中包含的两头端值输入端点处理模块,该模块在该两头端值的两端各取两点,并分别延长至原始数据的时间两端,若在端点上延长线上的数据大于原始数据的端点数据,则取延长线上的数据为有效端点,否则取原始数据的端点数据为有效端点。处理得到的数据如图6中的小圆圈代表的点所示。最后,将端点处理后的数据及获取的所有优化一维数据包络的极大值点输入数据插值模块,该模块采用三次样条插值方法插值到与待提取的一维数据的包络持续的时间T相同的长度,恢复出连续光滑的原始一维数据的包络,如图6中明显的黑线所示。其中极值计算和选取模块6的详细流程如图3所示,详细处理步骤为:输入参数为当前循环次数k,上次循环的结果xk,tk和常数ts,tsl以及数据总时长T。最终计算得到计算和选取得到的极点坐标index,进一步得到xk’和tk’。第一步进入极大值坐标计算7。xk中比前一个数值大且大于等于后一个数值的数据点为极大值点,遍历xk的所有数据点,得出xk中极大值点的坐标indexO。第二步进入开始部分的局部处理8。设置临时变量Λ为indexO中第一个点对应的时间tk(indeX0(l))与原始数据的时间原点的时间间隔,通常原始数据的时间原点为时间O点,故Δ = tk (indexO (1))-0 = tk (indexO (I))。然后判断Δ是否小于时间尺度ts,若判断为“是”则直接进入模块14,若判断为“否”,则把xk中第一个极大值点前的所有数据点带进入局部极值选取模块11,局部极值选取依据一定的原则对indexOd)以前的极大值进行筛选保留,然后后再进入模块14。
第三步进入中间部分的局部处理9。首先设置一个临时循环计数器m,初始值为2,表示第2个极大值点。然后进入循环。在每次循环开始时,判断m是否小于极大值点的个数,即indexO的长度,即图中模块14。若模块14判断为“是”,则使临时变量Λ等于indexO中第m个极大值点和第m_l个极大值点的时间间隔,即Δ = tk (indexO (m))-tk (indexO (m-Ι))。然后判断Δ是否小于ts。若判断为“是”,则使临时循环计数器m加1,即m = m+1,返回模块14。若判断为“否”,则把xk中第m-Ι个和第m个极大值点间的所有数据点带进入局部极值选取模块12。局部极值选取依据一定的原则对index (η)和indexO (m)之间的极大值进行筛选保留。然后使临时循环计数器m加I,即m = m+1,返回模块14,即进入下一次循环判断。若模块14判断为“否”,则进入第四步。第四步进入结束部分的局部处理10。处理流程与第二步类似,先设置临时变量Λ等于indexO中最后一个极大值点对应的时间tk (indexO (m))与原始数据的时间终点的时间间隔,g卩Λ = T-tk (indexO (m)),然后判断Λ是否小于时间尺度ts,若判断为“是”则模块6处理结束,若判断为“否”,则把xk中第一个极大值点前的所有数据点带进入局部极值选取模块13,局部极值选取依据一定的原则对indexOd)以前的极大值进行筛选保留,然后模块6处理结束。模块6处理结束后,indexO对应的极大值点和每次局部极值选取后保留的中间点的数值和时间一起构成新的xk’和tk’,作为模块6的输出参数。其中局部极值选取模块11、12、13为三个相同的模块,详细处理流程如图4所示。详细说明:输入参数为tk,tsl和上次循环得到的局部极大值点。首先设置临时循环计数器j,初始值为2,表示首先判断输入的局部极大值点中的第2个点。然后进入循环。每次循环开始时,先判断循环计数器j是否小于输入的局部极大值点的数据长度,即模块15。若模块15判断为“是”,则判断当前点与上一个保留点的时间间隔和与输入数据的终点间的时间间隔是否都大于tsl,若判断为“是”则保留该点,然后j加1,并进入下一次循环,否则直接j加1,并进入下一次循环。若模块15判断为“否”则直接输出,输出参数为输入的局部极大值点和循环中的保留点。以上为本发明的一个具体实施实例,下面继续展示其他实例。图6和图7所示均为测试中对数据I进行包络提取的结果例图,图7与图6数据处理不同的是,图7为不采用加噪模块的处理结果,而图6为采用了加噪模块的处理。由于数据I中在两个声音中间存在一段“静音区”,即数据值为0,如果不采用加噪模块则会出现如图7所示中间的明显误差。而采用了加噪模块的包络提取,如图6所示,效果明显好转。在实际使用本发明时,建议默认采用加噪模块。图8为待处理数据2,是成年男子用汉语普通话说出的“大声”一词的时域数据。图9和图10为对数据2进行包络提取的结果,得到图9和图10的两个处理的ts设置分别为0.01秒和0.03秒的常数,其他参数完全相同。从图中可以看出,ts = 0.03秒的图10的包络比ts = 0.01秒的图9的包络更加平缓,说明时间尺度ts可以用来对包络的平缓程度进行控制。在实际使用本发明进行数据包络提取时,时间尺度不一定设置为常数,也可以在不同的时间选择不同的时间尺度,但这要求使用者对数据有更加丰富的先验知识。图11,图12和图13所示分别为利用本发明提取的正常,患有二尖瓣狭窄和主动脉瓣关闭不全患者的心音包络。通过三组心音数据包络对比,可以对测试者心脏状况进行评估,表明本发明可以用于心音检测领域,可以为进一步的心脏疾病诊断打下基础。图14,图15分别为温度包络和脑电包络,运用本发明在对两个不同领域对数据包络进行提取,获得数据中缓变的低频成分,可为各领域工作者数据分析提供相应的条件。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种一维数据的包络提取方法,该方法将包络的变化快慢作为包络提取的指标,所述方法包含: 步骤101)用于设置某一长度的尺度参数、包络幅度阈值、最大循环次数和最少极值点数参数的步骤; 步骤102)获取一维数据幅度大于包络幅度阈值的初步极大值点集合,依据最大循环次数或最少极值点数作为循环终止条件并以初步极大值点集合为输入采用若干次循环逐步优化寻找一维数据包络的极大值点;其中,每次循环首先采用极大值定义从上次循环结束输出的极值点集合中进一步选取极大值点,如果进一步选取的极大值点中任意两个极值点之间的横坐标距离大于尺度参数时,则保留该两极值点及横坐标位于该两个极值点间的上次循环输出的若干极值点作为本次循环输出的极大值点,否则仅保留该两个极值点作为本次循环输出的极大值点;所述每次循环均保留初步极大值点集合的两端的端值作为极大值点; 步骤103)用于获取优化的端点极值点的步骤,从而完成一维数据的包络的极大值点的提取; 步骤104)采用三次样条插值法对提取所有的一维数据的包络的极大值点进行插值,连成光滑曲线得到一维数据的包络。
其中,所述尺度参数的单位为一维数据的横坐标的单位;所述某一长度的尺度参数具体长度可调。
2.根据权利要求1所述的一维数据的包络提取方法,其特征在于,所述保留的若干极值点的具体数目受限于设置的间隔参数,即保留的相邻极值点对应的横坐标的间隔大于设置的间隔参数; 其中,所述间隔参数为尺度参数与某个正整数相除的结果。
3.根据权利要求1所述的一维数据的包络提取方法,其特征在于,所述方法还包含:用于对一维数据进行加噪处理的步骤。
4.根据权利要求1所述的一维数据的包络提取方法,其特征在于,所述尺度参数为某一长度的时间参数。
5.根据权利要求4所述的一维数据的包络提取方法,其特征在于,所述步骤103)进一步包含: 分别在两端极值点对应的时刻两端各取两点,并分别延长至待提取的一维数据的时间两端,若在端点上延长线上的点对应幅度值大于待提取的一维数据的起始端或终止端点对应的幅度值时,则取延长线上的幅度值为一维数据包络上的优化的端点极值点,否则取待提取一维数据的端点处的幅度值为一维数据包络上的优化的端点极值点。
6.一种一维数据的包络提取系统,该系统将包络的变化快慢作为包络提取的指标,所述系统包含: 参数设置模块,用于设置尺度参数、包络幅度阈值、最大循环次数和最少极值点数参数; 一维数据包络极值点获取模块,用于获取一维数据幅度大于包络幅度阈值的初步极大值点集合,依据最大循环次数或最少极值点数作为循环终止条件并以初步极大值点集合为输入采用若干次循环逐步优化寻找一维数据包络的极大值点;其中,每次循环首先采用极大值定义从上次循环结束输出的极值点集合中进一步选取极大值点,如果进一步选取的极大值点中任意两个极值点之间的横坐标距离大于尺度参数时,则保留该两极值点及横坐标位于该两个极值点间的上次循环输出的若干极值点作为本次循环输出的极大值点,否则仅保留该两个极值点作为本次循环输出的极大值点;所述每次循环均保留初步极大值点集合的两端的端值作为极大值点; 确定一维数据包络端点的幅度值的模块,用于获取待提取的一维数据包络的起始端和终止端的幅度值; 插值模块,用于基于一维数据包络极值点获取模块输出的极值点及确定一维数据包络端点的幅度值的模块输出的起始端和终止端的幅度值采用三次样条插值法得到光滑一维数据包络。
7.根据权利要求6所述的一维数据包络提取系统,其特征在于,所述保留的若干极值点的具体数目受限于设置的间隔参数,即保留的极值点对应的横坐标的间隔大于设置的间隔参数的极值点; 其中,所述间隔参数为尺度参数与某个正整数相除的结果。
8.根据权利要求6所述的一维数据包络提取系统,其特征在于,所述系统还包含加噪模块,用于对待提取的一维数据进行加噪处理。
9.根据权利要求6所述的一维数据包络提取系统,其特征在于,所述所述尺度参数为某一长度的时间参数。
10.根据权利要求9所述的一维数据包络提取系统,其特征在于,所述确定一维数据包络端点的幅度值的模块分别在一维数据包络极值点获取模块每次循环保留的两端的极值点对应的时刻两端各取 两点,并分别延长至待提取的一维数据的时间两端,若在端点上延长线上的点对应的幅度值大于待提取的一维数据的起始端或终止端点对应的幅度值时,则取延长线上的幅度值为一维数据包络上的优化的端点极值点,否则取待提取一维数据的端点处的幅度值为一维数据包络上的优化的端点极值点。
全文摘要
本发明涉及一种一维数据的包络提取方法及系统,所述方法包含设置尺度参数、包络幅度阈值、最大循环次数和最少极值点数参数;获取一维数据幅度大于包络幅度阈值的初步极大值点集合,依据最大循环次数或最少极值点数作为循环终止条件并以初步极大值点集合为输入采用若干次循环逐步优化寻找一维数据包络的极大值点;其中,每次循环中任意两个极值点之间的横坐标距离大于尺度参数时,则保留该两极值点及横坐标位于该两个极值点间的上次循环输出的若干极值点作为极大值点,否则仅保留该两个极值点作为极大值点;且每次循环均保留初步极大值点集合的两端的端值;优化两端端值的步骤;采用插值法在上述获取的节点间进行插值得到一维数据的包络。
文档编号H03H17/02GK103178806SQ20111043887
公开日2013年6月26日 申请日期2011年12月23日 优先权日2011年12月23日
发明者冯海泓, 原猛, 孟庆林, 赵建平 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1