一种多尺度滤波加权的峰值提取方法与流程

文档序号:33470151发布日期:2023-03-15 08:07阅读:127来源:国知局
一种多尺度滤波加权的峰值提取方法与流程

1.本发明属于信号处理领域,尤其涉及一种多尺度滤波加权的峰值提取方法。


背景技术:

2.在一维信号处理的过程中,信号峰值往往具有特殊的含义,获取信号峰值在实际工程应用中有广泛的应用价值。如在频谱分析中,频谱的峰值往往代表着故障频率;如获取心电图的峰值位置,可以对心率进行计算等。
3.在实际应用中,常用的峰值提取方法包括基于临域幅值极值的峰值提取算法、基于小波阈值的峰值提取算法等。其中:基于临域幅值极值的峰值提取算法适用于光滑信号的峰值提取,对于含有较多扰动信号的提取效果较差;基于阈值的峰值提取算法,需要对信号进行小波分析,该方法对于陡峰具有较好的识别效果,但是对于变化较为缓慢的峰值的识别效果较差。在其他特殊的应用场景下,也有针对性开发的峰值提取的方法。但是,目前常用的或针对性开发的峰值提取方法都具有相对的局限性,仅适用于某一类特定应用场景或某一类特定领域使用,不具有普适性,并且也提取效果或识别效果等方面也相对较差。
4.为此,可以设计一种适用于绝大多数应用场景的高鲁棒性的峰值提取方法。


技术实现要素:

5.针对目前的技术缺陷,针对现有技术中上述的不足,本发明提供的一种多尺度滤波加权的峰值提取方法,可以用于绝大多数应用场景,并且有效解决了现有峰值提取技术中鲁棒性不高的问题。
6.为了达到以上发明目的,本发明采用的技术方案如下:
7.一种多尺度滤波加权的峰值提取方法,其步骤如下:
8.(1)获取信号长度为n的一维待提取峰值序列x={x1,x2,...,xn};
9.(2)根据信号长度n,生成不同长度的序列l={l0,l1,...,lm},li表示序列l中的某一个长度;
10.(3)根据生成的序列l,计算对应长度的窗序列,生成集合w={w1,w2,...,xm},其中:wi表示w中长度为li的窗序列,
11.(4)进行信号平滑处理:使用步骤(3)中计算得到的窗序列与步骤(1)中原始的一维待提取峰值序列进行卷积,生成集合y={y1,y2,...,ym},其中:yi表示步骤(1)中的一维待提取峰值序列和步骤(3)中的窗序列卷积后得到的长度为n的序列,yi={y
i1
,y
i2
,...,y
in
};
12.(5)根据峰值集合peaks的定义,获取y={y1,y2,...,ym}对应的峰值集合peaks;
13.(6)计算峰值集合peaks中每个峰值的得分集合scores,对使用步骤(3)中生成的不同长度的窗序列进行滤波后得到的峰值给与不同的权重,使得长度更长的窗序列进行滤波后得到的峰值的得分更高,最终即提取到相应的峰值;
14.上述步骤(1)-(6)中:i∈[1,m],m不大于原始序列x的长度n。
[0015]
进一步地,步骤(2)中生成的序列l={l0,l1...,lm},可以是等分序列,但序列不限于等分序列,当l是等分序列时,该等分序列具体的生成方式为:
[0016]
进一步地,步骤(5)中,峰值集合peaks的定义是:以一峰值为中心,宽度范围为wd的序列中的最大值,具体定义如下:
[0017][0018]
其中:peaks表示所有峰值的集合,y
iz
表示通过窗序列wi滤波后的序列yi中的点,z∈[1,n]。
[0019]
进一步地,步骤(6)中,可以采用的权重赋予方法为:
[0020]
(61)定义scores为所有峰值对应的得分,对任意y
iz
∈peaks,其得分s
iz
∈scores,s
iz
=l
i2
*y
iz

[0021]
(62)将下标z相同的峰值的得分相加得:si=sum(s
li
),s
li
∈scores;
[0022]
(63)按照得分的大小,从大到小对多个sz进行排序,根据需求获取前k个sz,其中z即为待提取峰值序列的前k个峰值的下标,即前k个峰值在原始序列x中的坐标位置。
[0023]
根据上述步骤实施本发明,获得的有益效果如下:
[0024]
本发明具有普适性,可以针对大多数场景下信号的一维序列峰值提取,轻松实现峰值提取过程,具有良好的鲁棒性。
附图说明
[0025]
图1为本发明的流程示意图。
[0026]
图2为本发明实施例中的某桥梁振动信号频谱示意图。
[0027]
图3为图2中的频谱生成窗序列进行平滑后的示意图。
[0028]
图4为采用平滑窗对图2中原始频谱进行平滑后的示意图。
[0029]
图5为寻找图4中峰值的示意图。
[0030]
图6为对图5中的所有峰值进行加权得分结果示意图。
[0031]
图7为根据图6提取到的五个峰值点的结果示意图。
具体实施方式
[0032]
本发明提供了一种多尺度滤波加权的峰值提取方法,其步骤如下:
[0033]
(1)获取信号长度为n的一维待提取峰值序列x={x1,x2,...,xn}。
[0034]
(2)根据信号长度n,生成不同长度的序列l={l0,l1,...,lm},li表示序列l中的某一个长度。
[0035]
(3)根据生成的序列,计算对应长度的窗序列,生成w={w1,w2,...,xm},其中:wi表示w中长度为li的窗序列,
[0036]
(4)进行信号平滑处理:使用步骤(3)中计算得到的窗序列与步骤(1)中原始的一维待提取峰值序列进行卷积,生成y={y1,y2,...,ym},其中:yi表示步骤(1)中的一维待提取峰值序列和步骤(3)中的窗序列卷积后得到的长度为n的序列,yi={y
i1
,y
i2
,...,y
in
}。
[0037]
(5)定义峰值集合peaks:以一峰值为中心,宽度范围为wd的序列中的最大值,具体
如下:
[0038][0039]
其中:peaks表示所有峰值的集合,y
iz
表示通过窗序列wi滤波后的序列yi中的点,z∈[1,n]。
[0040]
根据上述峰值集合peaks的定义,获取y={y1,y2,...,ym}对应的峰值集合peaks。
[0041]
(6)计算峰值集合peaks中每个峰值的得分集合scores,对不同长度窗序列进行滤波后得到的峰值给与不同的权重,使得长度更长的窗序列进行滤波后得到的峰值的得分更高,最终即提取到相应的峰值。
[0042]
本实施例中,步骤(2)中生成的序列l为等分序列时,该等分序列具体的生成方式如下:
[0043][0044]
本实施例中,步骤(6)中采用的权重赋予方法为:
[0045]
(61)定义scores为所有峰值对应的得分,对任意y
iz
∈peaks,其得分s
iz
∈scores,s
iz
=l
i2
*y
iz

[0046]
(62)将下标z相同的峰值的得分相加得:sz=sum(s
iz
),s
iz
∈scores;
[0047]
(63)按照得分的大小,从大到小对多个sz进行排序,根据需求获取前k个sz,其中z即为待提取峰值序列的前k个峰值的下标,即前k个峰值在原始序列x中的坐标位置。
[0048]
根据上述提取方法实现的具体实施例如下。
[0049]
对图2所示的待提取峰值的某桥梁振动信号频谱进行峰值提取。图2中所示的频谱长度为2049。
[0050]
按照提取方法步骤,根据输入信号的长度生成的窗长序列为:[1 2 3 4 5 6 7 8 9 10 11 12 14 15 17 18 20 22 25 27 30 33 36 40 43 48 53 58 64 70 77 84 93 102]。
[0051]
按照上述步骤,根据生产的窗长序列,生成一系列平滑hamming窗,如图3所示。
[0052]
按照上述步骤,采用图3中的平滑窗对原始频谱进行平滑,得到平滑后的结果,如图4所示。然后寻找图4中的峰值,如图5所示。
[0053]
对应图5中的峰值,按照上述权重赋予步骤进行得分加权,得到如图6所示的结果。最后找到该频谱的五个峰值,如图7所示。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1