一种生理信号运动伪迹抑制装置与方法与流程

文档序号:22887758发布日期:2020-11-10 18:07阅读:204来源:国知局
一种生理信号运动伪迹抑制装置与方法与流程

本发明涉及血压监测技术领域,特别是一种生理信号运动伪迹抑制装置与方法。



背景技术:

光电容积脉搏波(photoplethysmograph,ppg)是一种通过光电原理获取的生理信号。它可以有效反映人的心率及血液容积变化,故已被广泛应用于临床监测和日常健康管理,如测量心率,呼吸率,血氧饱和度,血压和血糖等。为测量ppg的信号,通常将传感器贴在皮肤表面,由传感器发出一束光,并测量反射或者透射的光的强度来获得。然而,当被测者运动时,传感器会与皮肤发生相对位移,同时血液流速会发生变化。这些因素进而会对生理信号造成干扰,这种干扰噪声通常被称为运动伪迹。传统的方法包括基于自适应噪声消除(adaptivenoisecancellation,anc)和小波变换等的基本方法,但都存在较大误差。



技术实现要素:

针对现有技术中存在的上述不足,本发明的目的是提供一种生理信号运动伪迹抑制装置与方法,基于lms-newton(leastmeansquares-newton)算法和加速度信号的anc初步抑制运动伪迹,并在快速傅里叶变换的基础上进一步采用改进的心率频率追踪和心率频率矫正机制来准确估计心率频率,最后使用基于心率频率及其谐波构造的陷波滤波器来恢复出ppg的原始信号波形,可以准确地估计较为剧烈运动中的心率。

为解决上述技术问题,本发明是通过以下技术方案实现的。

本发明一方面公开了一种生理信号运动伪迹抑制装置,包括:

-带通滤波模块,对受运动伪轨迹污染的生理信号和三轴加速度信号进行滤波后,传输至自适应噪声消除模块;

-自适应噪声消除模块,对带通滤波模块输出的信号初步抑制生理信号中运动伪迹成分,并对心率频率进行初步估计;

-心率频率矫正模块,判断初步估计结果是否有可能是错误的,并根据当前和之前时刻的估计结果对可能错误的结果进行矫正,并输出心率频率的最终估计结果,并传输至陷波滤波器;

-陷波滤波器,对生理信号估计结果进行陷波滤波处理,并从三轴加速度信号中减去陷波滤波结果,以得到最终运动伪迹抑制后的生理信号。

所述三轴加速度信号为anc的噪声参考信号。

所述自适应噪声消除模块,是将一路归一化后生理信号窗或多路归一化后生理信号窗的均值作为受污染信号输入,并使用归一化后的三轴加速度信号对生理信号进行级联式的自适应消噪处理。

所述带通滤波模块是通带为0.4hz–4.0hz的巴特沃斯带通滤波器

本发明另一方面公开了一种生理信号运动伪迹抑制方法,包括如下步骤:

s1.对受运动伪轨迹污染的生理信号和三轴加速度信号进行滤波处理;

s2.使用归一化后的三轴加速度信号对生理信号进行级联式的自适应消噪处理;

s3.使用fft对ppg输出信号窗后部长度为l的子窗的频谱进行分析,并使用心率追踪机制来初步估计心率频率的值;

s4.在得到心率频率的初步估计结果之后,用心率频率矫正机制来判断当前结果是否可能有误,并纠正被判断为错误的结果;

s5.构建二个陷波滤波器:第一个陷波滤波器的陷波频率为fcur,第二个滤波器的陷波频率为fcur的二次谐波fhar;在生理信号窗频谱中2fcur的附近寻找幅度最大的尖峰对应的频率,并作为fhar;

从生理信号输入中减去陷波滤波的结果,得到最终运动伪迹抑制后的生理信号。

所述步骤s2使用归一化后的三轴加速度信号对生理信号进行级联式的自适应消噪处理,采用lms-newton算法,具体如下:

r-1(0)=δi(3-1)

w(0)=x(0)=[0,0,...,0]t(3-2)

x(k)=[x(k),x(k-1),...,x(k-m+1)]t(3-3)

e(k)=d(k)-xt(k)w(k)(3-4)

w(k+1)=w(k)+2μe(k)r-1(k)x(k)(3-6)

参数δ为一正值常数,其大小一般应和输入信号的功率成反比,参数α和μ为决定该算法的收敛速度,α一般为一远小于1的正数,μ的值一般在α的二分之一附近,d(k)表示被运动伪迹污染的ppg输入信号,x(k)表示加速度信号,e(k)为降噪后的生理信号输出,向量w(k)为fir滤波器的抽头系数,m为该滤波器的阶数,矩阵r(k)为算法迭代过程中的一个中间变量。

所述步骤s4.在得到心率频率的初步估计结果之后,用心率频率矫正机制来判断当前结果是否可能有误,并纠正被判断为错误的结果,具体如下:

步骤4.1判断当前初步估计结果和上一时间窗的估计结果差距是否过大:若这一差距大于th0,进入步骤4.2,否则保持当前估计结果不变;

步骤4.2若fcur大于fpre,则当前估计结果有可能是一个过大的错误结果,而正确的结果很可能是一个小于fcur的频率;同时根据变化的趋势,正确的结果很可能大于fpre;反之若fcur小于fpre,正确的结果很可能是一个小于fpre且大于fcur的值;

步骤4.3在当前窗的频谱中,在fcur与fpre之间寻找频域尖峰的最大值对应的频率fn,寻找的范围一般会向fpre的方向稍作延伸,若不存在fn,则保持当前估计结果不变,否则进行步骤4.4。

步骤4.4判断fcur是否可能是一个由运动伪迹引起的频域尖峰:将三路加速度信号窗取平均并使用fft计算其频谱,并找到其频谱中的最大尖峰对应的频率facc,这一频率即被当做运动伪迹主频率的代表,若facc位于fcur附近±δ的范围内,且fcur在当前生理信号窗频域内的幅度amp(fcur)相较于amp(fn)并没有特别大(th1×amp(fcur)<amp(fn),th1<0),则fcur很有可能是由运动伪迹引起的,这种情况下,将fn设置为新的当前心率频率估计值;若无法判断fcur是否与运动伪迹相关,其会进一步用相似的方法判断fn是否可能由运动伪迹引起,若fn附近出现了运动伪迹频率且amp(fn)相对较小(th2×amp(fcur)>amp(fn),th2<0),则认为fn是运动伪迹引起的结果并保持当前估计值不变;

步骤4.5比较amp(fn)与amp(fcur),若amp(fn)足够大(th3×amp(fcur)<amp(fn),th3<0),则认为fn为新的当前心率频率估计值。

与现有技术相比,本发明的有益效果是:

1)针对较剧烈运动下失真较为严重的生理信号的应用场景,力图尽可能恢复受污染生理信号应有的波形。

2)将心率频率的准确估计与陷波滤波相结合,并利用心率频率及其二次谐波构建的陷波滤波器来滤除生理信号中的运动伪迹成分并还原出生理信号应有的波形。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1是本发明生理信号运动伪迹抑制装置的工作示意图;

图2是本发明的自适应噪声消除模块的结构图;

图3是本发明的心率频率矫正的流程图;

图4是本发明的心率频率矫正示例,其中,(a)前一时刻生理信号窗的频谱(b)当前时刻生理信号窗的频谱(c)三路加速度信号窗均值的频谱。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

实施例

请先参阅图1,图1是本实施例本发明生理信号运动伪迹抑制装置的工作示意图,如图所示,生理信号运动伪迹抑制装置,包括:

-带通滤波模块,对受运动伪轨迹污染的生理信号和三轴加速度信号进行滤波后,传输至自适应噪声消除模块;

-自适应噪声消除模块,对带通滤波模块输出的信号初步抑制生理信号中运动伪迹成分,并对心率频率进行初步估计;

-心率频率矫正模块,判断初步估计结果是否有可能是错误的,并根据当前和之前时刻的估计结果对可能错误的结果进行矫正,并输出心率频率的最终估计结果,并传输至陷波滤波器;

-陷波滤波器,对生理信号估计结果进行陷波滤波处理,并从三轴加速度信号中减去陷波滤波结果,以得到最终运动伪迹抑制后的生理信号。

具体的,输入为一路或多路生理信号(采集自位置相近的传感器)及ppg传感器佩戴部位采集的三轴加速度信号。对象为一采样点数为l时间窗,l一般为信号采样频率fs的整数倍。每隔一定的时间间隔itv,该算法便会进行一次心率频率估计及运动伪迹抑制,itv一般为一秒的整数倍,且其大小小于时间窗的时间长度。在算法实际运行中,为了使得带通滤波后目标窗内的信号不失真,且自适应滤波后目标窗内的生理信号完全收敛,会将目标窗之前采样点数为lp的信号与目标窗拼接后作为算法的输入,lp的大小与l接近。在算法刚开始运行时,对于该段信号中不存在的部分,以补零代替。使用者在开始时经历一个20至30秒的初始化阶段,在该段时间内,使用者应尽量保持静止,不做剧烈运动。

输入信号首先经过一个阶数为4,通带为0.4hz–4.0hz的巴特沃斯带通滤波器(band-passfilter,bpf)以滤除带外噪声。该滤波器的通带范围基本为生理信号中有效成分的频率范围。之后,使用级联式的自适应噪声消除来初步抑制生理信号中的运动伪迹成分,三轴加速度信号为anc的噪声参考信号。在这一步之后,生理信号中的运动伪迹已被很大程度上抑制,其心率频率成分在频谱中已得到突出,故快速傅里叶变换和一个特殊的心率频率追踪(heartratefrequencytracking,hrft)机制被用于直接在频谱中通过比较幅度对心率频率进行初步估计。得到初步估计结果之后,算法通过心率频率矫正(heartratefrequencycorrection,hrfc)机制来判断估计结果是否有可能是错误的,并根据当前和之前时刻的估计结果对可能错误的结果进行矫正,并输出心率频率的最终估计结果。利用这一结果,构造一系列以心率频率和其谐波频率为陷波频率的陷波滤波器,并对自适应噪声消除输出的生理信号进行陷波滤波处理。由于陷波滤波器本身的特性,其输出实际上是基本完全消除了ppg成分的噪声及运动伪迹。故算法还要从anc输出的信号中减去陷波滤波结果,以得到最终运动伪迹抑制后的生理信号。

图2是本发明的自适应噪声消除模块的结构图,如图所示,这一阶段将一路归一化后生理信号窗或多路归一化后生理信号窗的均值作为受污染信号输入,并使用归一化后的三轴加速度信号对生理信号进行级联式的自适应消噪处理。信号窗的长度为lp+l,但最终的处理目标是后部长度为l的子窗。前两级自适应滤波的输出也会经过归一化处理后再输入给下一级。该步骤中采用的归一化方式为z-score标准化(z-scorestandardization),即归一化后数据的均值为0,标准差为1。归一化的目的是消除由生理信号和加速度信号间绝对幅度差异过大引起的自适应滤波不收敛或收敛慢的情况。通过使用三个方向的加速度信号分别对生理信号降噪,该步骤可以有效抑制生理信号中由不同方向运动引起的运动伪迹噪声。

在自适应噪声消除阶段采用lms-newton算法。

r-1(0)=δi

w(0)=x(0)=[0,0,...,0]t

x(k)=[x(k),x(k-1),...,x(k-m+1)]t

e(k)=d(k)-xt(k)w(k)

w(k+1)=w(k)+2μe(k)r-1(k)x(k)

参数δ为一正值常数,其大小一般应和输入信号的功率成反比。参数α和μ为决定该算法的收敛速度,α一般为一远小于1的正数,μ的值一般在α的二分之一附近。对于生理信号运动伪迹抑制的问题,d(k)表示被运动伪迹污染的ppg输入信号,x(k)表示加速度信号,e(k)为降噪后的生理信号输出。向量w(k)为fir滤波器的抽头系数,m为该滤波器的阶数。矩阵r(k)为算法迭代过程中的一个中间变量。

使用fft对ppg输出信号窗后部长度为l的子窗的频谱进行分析,并使用心率追踪机制来初步估计心率频率的值。在这一过程中主要考察频域幅度信息。为了增加频域分辨率以获得更精准的估计结果,通常fft的点数lfft被设置为一大于窗长l且远大于采样频率fs的值。

心率追踪机制主要来自a.temko于2017年发表的一篇论文。若窗间间隔时间itv较小(如1-2s),相邻窗间心率的差值应该也较小(在5-10bpm以下),因此心率追踪的主要思想为在上一个时间窗的心率频率估计结果附近来在当前ppg时间窗的频域内寻找当前窗的心率频率估计结果。

以amp(f)表示生理信号窗频谱中频率f对应的幅度。对于开始时的第一个时间窗,不存在上一时刻的估计结果,直接选取生理信号频谱中amp(f)最大的频点作为心率频率的估计值。这之后,会在上一个时间窗的估计结果fpre附近±δf的范围(即[fpre–δf,fpre+δf])内寻找当前时间窗频谱内幅度最大的频点作为当前时刻心率频率的初步估计结果,这一结果记为fcur。在算法开始运行时会经历一个使用者保持静止的初始化阶段,这一阶段时间对应的窗数记为ninit。参数δf的选取见下式:

对于第i个时间窗,当i小于等于ninit,即算法仍处于初始化阶段时,δf被设置为一常数δf0。当i大于ninit之后,δf被设置为之前两个连续估计结果间差值绝对值的最大值和一偏置值b的和。

在得到心率频率的初步估计结果之后,使用心率频率矫正机制来判断当前结果是否可能有误,并纠正被判断为错误的结果。心率频率矫正步骤的算法流程如图3所示。首先判断当前初步估计结果和上一时间窗的估计结果差距是否过大。若这一差距大于th0,开始接下来的步骤,否则保持当前估计结果不变。若fcur大于fpre,则当前估计结果有可能是一个过大的错误结果,而正确的结果很可能是一个小于fcur的频率。同时根据变化的趋势,正确的结果很可能大于fpre。反之若fcur小于fpre,正确的结果很可能是一个小于fpre且大于fcur的值。无论如何,正确估计结果很大可能在fcur与fpre之间。故接下来,在当前窗的频谱中,在fcur与fpre之间寻找频域尖峰的最大值对应的频率fn。在实际操作中,寻找的范围一般会向fpre的方向稍作延伸。若不存在fn,则保持当前估计结果不变,否则进行下一步。

fn即很有可能是正确的心率频率估计结果,但仍需进一步判断。首先判断fcur是否可能是一个由运动伪迹引起的频域尖峰。会将三路加速度信号窗取平均并使用fft计算其频谱,并找到其频谱中的最大尖峰对应的频率facc,这一频率即被当做运动伪迹主频率的代表。若facc位于fcur附近±δ的范围内,且fcur在当前生理信号窗频域内的幅度amp(fcur)相较于amp(fn)并没有特别大(th1×amp(fcur)<amp(fn),th1<0),则fcur很有可能是由运动伪迹引起的,这种情况下,将fn设置为新的当前心率频率估计值。若无法判断fcur是否与运动伪迹相关,其会进一步用相似的方法判断fn是否可能由运动伪迹引起。若fn附近出现了运动伪迹频率且amp(fn)相对较小(th2×amp(fcur)>amp(fn),th2<0),会认为fn是运动伪迹引起的结果并保持当前估计值不变。在以上步骤之后,无法继续有效地判断各频点的正确性,此时比较amp(fn)与amp(fcur),若amp(fn)足够大(th3×amp(fcur)<amp(fn),th3<0),则认为fn为新的当前心率频率估计值。一般来讲,有th1<th3<th2,th1在0.5附近,th2和th3均比较接近1。

在获得当前生理信号窗心率频率的准确估计值fcur之后,利用fcur构建两个陷波滤波器。陷波滤波的输入为自适应噪声消除后的生理信号窗。第一个陷波滤波器的陷波频率为fcur,第二个滤波器的陷波频率为fcur的二次谐波fhar。在生理信号窗频谱中2fcur的附近寻找幅度最大的尖峰对应的频率,并将之认为是fhar。本实施例中,将陷波滤波器的带宽设置在0.4hz左右。可以看出,在生理信号通过两个级联的陷波滤波器之后,实际上被滤除的是几乎全部的ppg原成分,而剩余的则是运动伪迹和其他噪声等,因此最后需要从生理信号输入中减去陷波滤波的结果,进而得到最终运动伪迹抑制后的生理信号。

经试验表明,本发明针对较剧烈运动下失真较为严重的生理信号的应用场景,力图尽可能恢复受污染生理信号应有的波形。对于一个包含正常生理信号的时间窗,其主要频域成分分布在其基本频率(即心率频率)和基频的谐波附近。因此理论上使用陷波滤波器或梳状滤波器可以做到有效滤除生理信号的噪声并保留生理信号的原成分。为通过给定生理信号窗的心率频率构造相应陷波滤波器并滤除信号中的运动伪迹。这一过程的难点实际在于对心率频率的准确估计。自适应噪声消除已被证实能够有效抑制生理信号中的运动伪迹成分并突出频域中的基频成分。

以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括本发明的专利保护方位内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1