- 2011-06-15 09:46
- 作者:佚名
- 来源:微型机与应用
目前,心血管疾病已经成为危害人类健康的主要疾病之一。可穿戴心电技术是在人们日常穿戴的衣物中嵌入心电采集系统,使其在自然状态下随时随地获取心电数据,是人体心电实时监护的有效方法。但由于人体处于运动状态,心电信号受到的干扰大,难以正确处理和评估。目前国内外有很多学者对动态心电进行了研究,例如盛虎提出的新型动态心电监护系统弥补了信号采集功能和分析功能脱离的不足,实现了心电数据实时分析,但是该系统成本较高[1];国外有些学者将卡尔曼滤波应用于动态心电信号检测,并与自适应算法结合,以提高检测的正确率,但由于算法比较复杂,不能进行实时监控[2];李桥等人将卡尔曼滤波应用于危重病人监护,并结合了信号质量评估,但主要针对静态生理信号,不适用于动态心电监护[3]。
本文提出了一种新的基于信号质量评估和卡尔曼滤波的可穿戴动态心电监护的方法,该方法将信号质量评估、卡尔曼滤波以及可穿戴技术相结合,实现了便携式高可靠的长时间人体心率评估。
1 可穿戴动态心电特征分析
心电信号作为心脏电信号在人体体表的表现,信号微弱,频率主要介于0.01 Hz~100 Hz之间,其中与心率评估密切相关的QRS波群主要集中在0~(58±19)Hz,90%的频谱能量集中在0.25 Hz~35 Hz之间,而高频心电信号的频带范围则在100 Hz~1 000 Hz[4]。在动态心电信号采集的过程中,心电信号干扰中的肌电干扰、基线漂移(小于5 Hz)和运动伪迹(小于7 Hz)均比静态情况下严重。目前医学上运用最广泛的电极是传统的氯化银电极,虽然这种电极采集到的信号稳定,但是对皮肤损伤较大,不适合长期使用。可穿戴动态心电采集宜采用对人体无损害、能够长时间使用的织物柔性电极,但织物电极信号的自身特点,需要在处理时采用不同方法。
本文通过集成在智能服装上的织物电极获取运动状态下的人体心电信号,并进行特征分析,作为建立相应处理模型的依据。经实验证明,在走路状态和慢跑状态下用织物电极采集的信号,虽然受到了一定的干扰,但是波形并没有失真,完全能够用来进行后期的处理。
2 基于信号质量评估和卡尔曼滤波的动态心率估计模型
准确的心率估计是可穿戴监护系统的最基本要求,R波检测算法是获得心率的最便利的方法,然而心率的检测经常受到干扰的影响而出现错误。卡尔曼滤波算法简单,所需的数据量小,在没有信号先验知识的情况下仍能有效地估计信号趋势的变化和噪声干扰,是一种估计信号趋势的有效方法。信号质量指数 SQI(Signal Quality Index)可以实时地表征动态心电信号的质量,从而作为卡尔曼滤波器参数调节的依据,提高估计准确性。本文提出了一种新的基于信号质量评估和卡尔曼滤波的动态心率测量和评估的方法,首先对心电信号进行R波提取并计算心率,接着利用R波检测和加速度计的结果来获得运动状态下心电信号质量指数SQI,然后根据SQI对卡尔曼滤波器参数进行调节,最后对心率进行重新估计,以获得更为准确的结果。
2.1 动态心电R波识别和心率测量
R波检测算法必须具备准确性与快速性两个特点,而这两者之间又存在着矛盾。常用的算法有面积法、小波变换法、幅度法和斜率法等,这些算法都是基于心电信号中的R波具有幅度和斜率较大的特点实现的。其中面积法虽然准确率较高,但算法很复杂,而小波变换法速度较慢,不适合用于实时分析,因此本文采用的R波检测算法是幅度法和斜率法。
幅度法算法简单、速度快,在干扰较小时有很高的准确率,但是这种算法比较容易受到心电信号中的大T波干扰,从而导致心率估计不准,如图3所示。斜率法的抗干扰能力比幅度法强,准确率高,缺点是算法比较复杂,容易受高频肌电干扰的影响。
识别出R波过后,本文以10 s为一个时间窗口,计算该窗口内R-R间隔的均值,并以此得到10 s内的心率测量值,公式为:
其中,N(k)表示以某一秒的起始时刻为中心左右各取5 s,在这10 s的窗口内两种R波检测算法检测出的R波匹配的数目。NA表示幅度算法检测出的R波的个数,NS表示斜率算法检测出的R波的个数,S表示加速度计检测出的人体运动的剧烈程度,S的值介于0~1之间,当S等于0时表示人体处于静止状态,S的值越大表示人体运动越剧烈。前面提到,幅度算法在干扰较小时对于R波的检测有很高的准确性,而斜率算法的抗干扰能力要强于幅度算法。因此在体现人体运动剧烈程度的S的值越小时,幅度算法检测出的结果所占的权重越大;而当S 的值越大,即人体运动程度越剧烈时,斜率算法检测出的结果所占的权重越大。
由式(8)可知,心电信号质量指数SQI的值介于0~1之间,接近或等于0表示心电信号质量很差,而接近或等于1表示心电信号质量很高。
2.4 基于SQI的卡尔曼滤波心率估计器参数调节
当心电信号由于人体运动而受到干扰时,使用R波检测算法得到的心率将出现一定误差,本文提出在运动状态下对R波检测算法得到的心率应用卡尔曼滤波进行最佳估计,并研究了通过心电信号质量指数SQI调节卡尔曼滤波器增益系数的方法。由于当心电信号在人体运动时会受到干扰,这将使心电信号质量指数发生变化,而这种干扰大小的变化表现为卡尔曼滤波器方程中测量噪声协方差R的变化,因此根据SQI值调节测量噪声协方差R:
由式(9)可知,当心电信号质量相对较高(即SQI值较大)时,R的值相对较小,从而Kg(k)值较大,此时较多地由测量值Z(k)来调整心率值;反之,当心电信号质量较低(即SQI值较小)时,R值相对较大,Kg(k)值减小,此时较多地由先验估计来调整心率值,从而避免运动干扰的影响。
2.5 卡尔曼滤波方程初始值的确定
在运用卡尔曼滤波进行动态心率估计之前,应确定滤波器方程中系数的初始值。假设人的心率不会发生突变,即k时刻的心率近似等于k-1时刻的心率,因此 A=1。另外,前面提到如果系统没有控制量,U(k)可以为0。由于系统的测量值由R波检测算法获得,和心率直接对应,因此H=1。系统测量噪声协方差 R=R0=1,该系数会随着心电信号的SQI值的变化而变化。系统过程协方差Q初值设为0.1,P(0|0)=1。
3 结果和讨论
3.1 评价数据库
本文所采用的评价数据库均由埃德ML870 PowerLab 8/30数据采集系统获得,该系统通过屏蔽线与传统的氯化银电极、集成在智能服装上的织物电极相连,采集人体在静止、走路、慢跑等状态下的生理信号,采样频率为1 000 Hz,各10 min时间,然后经过放大、滤波和整形等处理,最终在终端上进行实时显示并保存心电数据。
3.2 结果
为了验证本文提出的模型,首先选取了2 min标准心电信号,并对其进行心率计算,如图4中(a)所示,以此结果作为之后的评价标准。随后在该心电信号的40 s~60 s数据段添加干扰,添加了干扰后的心电信号如图4(b)所示,并用两种R波检测算法和基于卡尔曼滤波的估计算法对其进行心率估计。
由标准心电信号计算所得的心率如图5(a)所示,从图中可以看出,因为心电信号的质量较高,两种R波检测算法的准确率很高,所以在这2 min内得到的心率比较稳定,没有心率突变的情况发生。
在添加了干扰过后,由R波检测算法得到的心率(测量值)和由基于卡尔曼滤波的心率估计算法得到的心率(估计值)如图5(b)所示。从图中可以看出,由于 40 s~60 s的心电信号数据段受到了干扰,因此使得R波检测算法出现了较大的误差,出现了心率突变的情况。而由基于卡尔曼滤波的心率估计算法得到的心率值并没有因为干扰受到太大的影响,心率仍然保持平稳。因此,基于卡尔曼滤波的心率估计算法具有很强的抗干扰性,是一种较为理想的动态心率估计算法。
为了验证该模型能够用于动态心电监护,同样选取了2 min慢跑时的心电信号来进行测试。
利用幅值法和斜率法虽然能够计算心率,但心电信号中的各种干扰会影响计算结果,信号的信噪比越低,心率计算的误差会越大。本文提出的新的基于信号质量评估的卡尔曼滤波估计算法,可以显著改善心率估计的误差。
针对可穿戴动态心电监护系统需要嵌入服装、柔性化和低功耗的要求,本文进行了基于信号质量评估和卡尔曼滤波的可穿戴动态心电监护系统的设计,针对可穿戴心电信号处理系统抗干扰的要求,研究了人体生理信号质量评估方法,提出了基于信号质量指数的卡尔曼滤波器的设计,提高了心率估计的准确性,实现了可穿戴的动态心电监护,并最终通过实际的测试表明了该设计的有效性和可靠性。
参考文献
[1] 盛虎.新型动态心电监护系统的研究[D].大连:大连交通大学,2006.
[2] ARNOLD M, MILNER X H R, WITTE H,et al.Adaptive AR modeling of nonstationary time series by means of Kalman filtering[J].IEEE Transactions on Biomedical Engineering, 1998,45(5):553-562.
[3] 李桥.危重病人生命体征信号质量评估与分析[D].济南:山东大学,2008.
[4] 石金兰.面型智能服装的亚健康评估系统的研究[D].上海:东华大学,2008.
[5] 敬喜.卡尔曼滤波器及其应用基础[M].北京:国防工业出版社,1973.