本申请涉及生物医学领域与数字信号处理领域,特别涉及一种脉搏波特征点的提取方法及系统。
背景技术:
脉搏波作为一种重要的人体生理电信号,广泛应用于情绪分析、连续血压监测等。脉搏波信号一般包含5个特征点,即起始点、波峰点、降中峡、降中波和波谷点,这些特征点反映了心血管系统和血液流体动力学的状态。准确识别并提取这些特征点是利用脉搏波的关键环节。由于脉搏波信号,尤其是可穿戴设备采集的脉搏波信号中存在较多噪声,波形存在个体差异,准确提取脉搏波特征点难度很大,因此目前亟需一种能够准确识别脉搏波特征点的方法。
技术实现要素:
本申请的目的在于提供一种脉搏波特征点的提取方法及系统,能够准确地提取各个脉搏波特征点。
为实现上述目的,本申请提供一种脉搏波特征点的提取方法,所述方法包括:
获取原始脉搏波信号,并对所述原始脉搏波信号进行预处理后,估算预处理后的信号周期和最大斜率估计值;
根据估算得到的所述信号周期和所述最大斜率估计值,搜索脉搏波上升支的斜率最大点;
以所述斜率最大点为参考点,分别向后和向前迭代,以搜索主峰峰值点和脉搏波起始点;
基于所述主峰峰值点和所述脉搏波起始点,搜索降中波点和降中峡点。
进一步地,对所述原始脉搏波信号进行预处理包括:
利用带通滤波器滤除所述原始脉搏波信号中0.4hz以下的漂移信号和10hz以上的噪声信号。
进一步地,按照以下公式计算所述脉搏波平滑斜率:
g(x)=(2f(x+2δ)+f(x+δ)-f(x-δ)-2f(x-2δ))/8
其中,g(x)为脉搏波平滑斜率,f(*)为预处理后的脉搏波信号,δ为时间间隔。
进一步地,搜索脉搏波上升支的斜率最大点包括:
预先设定滑动窗口的配置参数,所述配置参数包括所述滑动窗口的长度、滑动步长以及搜索范围;
在所述滑动窗口内计算脉搏波平滑斜率,若所述脉搏波平滑斜率满足指定条件,根据满足所述指定条件的脉搏波平滑斜率和所述最大斜率估计值,确定脉搏波上升支的斜率最大点。
进一步地,所述脉搏波平滑斜率满足指定条件包括:
所述脉搏波平滑斜率的最大值位于所述滑动窗口的中间点,并且所述脉搏波平滑斜率的最大值大于所述最大斜率估计值的指定倍数;
相应地,将满足所述指定条件的脉搏波平滑斜率的最大值和所述最大斜率估计值中的较小者,作为新的最大斜率估计值。
进一步地,搜索主峰峰值点和脉搏波起始点包括:
以脉搏波上升支的斜率最大点为参考点,向后迭代,找到斜率小于或者等于0的第一个点,并将找到的所述第一个点作为脉搏波的主峰峰值点;
以脉搏波上升支的斜率最大点为参考点,向前迭代,找到斜率小于或者等于0的第一个点,并将找到的所述第一个点作为脉搏波起始点。
进一步地,基于所述主峰峰值点和所述脉搏波起始点,搜索降中波点和降中峡点包括:
以所述脉搏波起始点为参考,确定搜索区间,并在所述搜索区间内通过滑动窗口法确定符合条件的平滑斜率最大值点;
若所述符合条件的平滑斜率最大值点的数值大于0,以所述符合条件的平滑斜率最大值点为参考,向前迭代,找到斜率小于或者等于0的第一个点,作为降中峡点;以所述符合条件的平滑斜率最大值点为参考,向后迭代,找到斜率小于或者等于0的第一个点,作为降中波点;
若所述符合条件的平滑斜率最大值点的数值小于或者等于0,将所述符合条件的平滑斜率最大值点作为降中波点和降中峡点。
进一步地,所述符合条件的平滑斜率最大值点按照以下方式确定:
若滑动窗口内的平滑斜率最大值点位于滑动窗口的中间点,将所述平滑斜率最大值点作为符合条件的平滑斜率最大值点。
进一步地,所述方法还包括:
若未搜索到降中波点和降中峡点,丢弃搜索到的所述主峰峰值点和脉搏波起始点,并重新搜索脉搏波上升支的斜率最大点。
为实现上述目的,本申请还提供一种脉搏波特征点的提取系统,所述系统包括:
估算单元,用于获取原始脉搏波信号,并对所述原始脉搏波信号进行预处理后,估算预处理后的信号周期和最大斜率估计值;
上升支搜索单元,用于根据估算得到的所述信号周期和所述最大斜率估计值,搜索脉搏波上升支的斜率最大点;
主峰及起始搜索单元,用于以所述斜率最大点为参考点,分别向后和向前迭代,以搜索主峰峰值点和脉搏波起始点;
降中波及降中峡搜索单元,用于基于所述主峰峰值点和所述脉搏波起始点,搜索降中波点和降中峡点。
由上可见,本发明提出的技术方案,可以在噪声水平较高和个体差异较大的情况下,准确识别脉搏波起始点、波峰点、降中峡、降中波和波谷点5个特征点,具有很好的鲁棒性。
附图说明
图1为本申请实施例中脉搏波特征点的提取方法的步骤图;
图2为本申请实施例中脉搏波特征点的提取系统的功能模块示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施方式,都应当属于本申请保护的范围。
本申请提供一种脉搏波特征点的提取方法,请参阅图1,所述方法包括以下步骤。
s1:获取原始脉搏波信号,并对所述原始脉搏波信号进行预处理后,估算预处理后的信号周期和最大斜率估计值;
s2:根据估算得到的所述信号周期和所述最大斜率估计值,搜索脉搏波上升支的斜率最大点;
s3:以所述斜率最大点为参考点,分别向后和向前迭代,以搜索主峰峰值点和脉搏波起始点;
s4:基于所述主峰峰值点和所述脉搏波起始点,搜索降中波点和降中峡点。
在一个实施方式中,对所述原始脉搏波信号进行预处理包括:
利用带通滤波器滤除所述原始脉搏波信号中0.4hz以下的漂移信号和10hz以上的噪声信号。
在一个实施方式中,按照以下公式计算所述脉搏波平滑斜率:
g(x)=(2f(x+2δ)+f(x+δ)-f(x-δ)-2f(x-2δ))/8
其中,g(x)为脉搏波平滑斜率,f(*)为预处理后的脉搏波信号,δ为时间间隔。
在一个实施方式中,搜索脉搏波上升支的斜率最大点包括:
预先设定滑动窗口的配置参数,所述配置参数包括所述滑动窗口的长度、滑动步长以及搜索范围;
在所述滑动窗口内计算脉搏波平滑斜率,若所述脉搏波平滑斜率满足指定条件,根据满足所述指定条件的脉搏波平滑斜率和所述最大斜率估计值,确定脉搏波上升支的斜率最大点。
在一个实施方式中,所述脉搏波平滑斜率满足指定条件包括:
所述脉搏波平滑斜率的最大值位于所述滑动窗口的中间点,并且所述脉搏波平滑斜率的最大值大于所述最大斜率估计值的指定倍数;
相应地,将满足所述指定条件的脉搏波平滑斜率的最大值和所述最大斜率估计值中的较小者,作为新的最大斜率估计值。
在一个实施方式中,搜索主峰峰值点和脉搏波起始点包括:
以脉搏波上升支的斜率最大点为参考点,向后迭代,找到斜率小于或者等于0的第一个点,并将找到的所述第一个点作为脉搏波的主峰峰值点;
以脉搏波上升支的斜率最大点为参考点,向前迭代,找到斜率小于或者等于0的第一个点,并将找到的所述第一个点作为脉搏波起始点。
在一个实施方式中,基于所述主峰峰值点和所述脉搏波起始点,搜索降中波点和降中峡点包括:
以所述脉搏波起始点为参考,确定搜索区间,并在所述搜索区间内通过滑动窗口法确定符合条件的平滑斜率最大值点;
若所述符合条件的平滑斜率最大值点的数值大于0,以所述符合条件的平滑斜率最大值点为参考,向前迭代,找到斜率小于或者等于0的第一个点,作为降中峡点;以所述符合条件的平滑斜率最大值点为参考,向后迭代,找到斜率小于或者等于0的第一个点,作为降中波点;
若所述符合条件的平滑斜率最大值点的数值小于或者等于0,将所述符合条件的平滑斜率最大值点作为降中波点和降中峡点。
在一个实施方式中,所述符合条件的平滑斜率最大值点按照以下方式确定:
若滑动窗口内的平滑斜率最大值点位于滑动窗口的中间点,将所述平滑斜率最大值点作为符合条件的平滑斜率最大值点。
在一个实施方式中,所述方法还包括:
若未搜索到降中波点和降中峡点,丢弃搜索到的所述主峰峰值点和脉搏波起始点,并重新搜索脉搏波上升支的斜率最大点。
在一个具体应用示例中,脉搏波特征点的提取方法可以包括以下步骤:
1)使用带通滤波器,去除0.4hz以下的基频漂移和10hz以上的高频噪声。
2)通过降采样fft估算出信号的心率周期,并估计信号的斜率最大值。
3)计算信号的平滑斜率,平滑滤波公式:
g(x)=(2f(x+2δ)+f(x+δ)-f(x-δ)-2f(x-2δ))/8
其中,f(·)为滤波后的脉搏波信号,δ为间隔,取值为1,2或3。
4)通过滑动窗口法寻找脉搏波上升支斜率最大点,以200hz采样率为例,窗宽设为70,滑动步长为1,搜索范围为一个信号周期:
a.搜索脉搏波平滑斜率,直到满足如下条件,1)窗内平滑斜率最大值出现在中间点,即35处;2)窗内平滑斜率最大值大于信号最大斜率估计值的0.7倍。
b.更新最大斜率估计值为当前估计值和当前最大值的值更小者。
5)以上升支最大斜率点为参考,向后迭代,找到斜率小于等于0的第一个点,即为脉搏波的主峰峰值点。
6)以上升支最大斜率点为参考点,向前迭代,找到斜率小于等于0的第一个点,即为脉搏波的起始点,也是上一个脉搏的谷点。
7)若找到主峰峰值点,则以脉搏起始点为参考,在固定范围内搜索降中波及降中峡。搜索范围设定为脉搏起始点后0.35倍周期估计值到0.8倍周期估计值的区间,以200hz采样率为例,窗宽为40:
a.判断窗口内平滑斜率最大值点是否出现在窗口的中间,即20,如否则继续滑动,如是则执行b;
b.若该最大值点斜率小于等0,则降中波和降中峡无法区分,将该点视为降中波和降中峡出现点;否则继续操作c;
c.以该斜率最大点为参考,向前迭代,找到斜率小于等于0的第一个点,视为降中峡点;以该斜率最大点为参考,向后迭代,找到斜率小于等于0的第一个点,视为降中波点。
8)如果步骤7)搜索到降中波降中峡,则将该周期视为信号完整。进入一个信号周期,并继续执行步骤4)至8);如未找到,则视为信号不完整,抛弃5)和6)找到的谷点和峰值点,继续执行步骤4)至8)。
请参阅图2,本申请还提供一种脉搏波特征点的提取系统,所述系统包括:
估算单元,用于获取原始脉搏波信号,并对所述原始脉搏波信号进行预处理后,估算预处理后的信号周期和最大斜率估计值;
上升支搜索单元,用于根据估算得到的所述信号周期和所述最大斜率估计值,搜索脉搏波上升支的斜率最大点;
主峰及起始搜索单元,用于以所述斜率最大点为参考点,分别向后和向前迭代,以搜索主峰峰值点和脉搏波起始点;
降中波及降中峡搜索单元,用于基于所述主峰峰值点和所述脉搏波起始点,搜索降中波点和降中峡点。
由上可见,本发明提出的技术方案,可以在噪声水平较高和个体差异较大的情况下,准确识别脉搏波起始点、波峰点、降中峡、降中波和波谷点5个特征点,具有很好的鲁棒性。
上面对本申请的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本申请的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本申请旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。