基于CEP的ECG 实时监测分析系统的研究与设计

2014-12-23 01:29戴震宇
计算机工程与设计 2014年2期
关键词:波群心电心动过速

戴震宇,陈 梅,李 晖

(1.贵州大学 计算机科学与信息学院,贵州 贵阳550025;2.贵州大学 贵州省先进计算与医疗信息服务工程实验室,贵州 贵阳550025)

0 引 言

心动电流图 (electrocardiograms,ECG)是心脏在每个心动周期中心脏跳动时伴随的生物电变化,通过心电描记器从体表引出多种形式的电位变化的图形,它给出了每个人心脏的功能细节并能帮助分析出ECG 信号中的异常心跳。心电图中可观察到周期性的P,QRS 和T 波序列,在这个序列中,QRS波群是具有最大振幅的,对其的探测有助于计算出其周围的P,T 波和心跳的其他特征的。目前我国针对ECG 的临床应用主要存在检测时间短、无长期心电数据数字存储且无法进行实时心电分析、多以手工或半手工方式对心电图进行分析。心电检测的主要场所还是在医院,普通人日常生活时难以对自己的心率进行记录及分析等问题。针对上述问题,本文设计的系统将会进行一定程度的解决,并验证系统的可行性。

ECG 信号是实时产生的数据流,且信息量巨大,如果是要检测多个目标的ECG 就会带来更大的挑战。复杂事件处理 (complex event processing,CEP)是一种重要的对实时数据进行分析处理的技术,可以很好的满足对一个甚至多个ECG 信号的实时分析处理的需求。本文提出了利用CEP技术来对心电图进行分析,由此设计了一套基于CEP技术的实时的心电监测分析的系统,该系统可以保存病人的历史心跳数据指标,能够实时监测和分析异常心跳,结合病人病历进行日常保健级别的预诊断,对于病人的心脏健康提供有力的保证。

1 系统设计

实时心电分析系统需要从各种心电设备中获取ECG 信号,对于这些信号CEP技术是无法直接进行处理获取信息的,而且可能信号源还有噪音等影响判断质量的因素,所以第一步就是需要对ECG 信号进行一系列的预处理使得信号的质量符合算法检测的要求。接下来才能够通过ECG 检测算法提取出心电的信号特征以供CEP系统分析。CEP系统对送来的心电数据分析后找出异常心跳,对严重的异常心跳进行报警。并将异常心跳的表现与病人的病历与病人过去的心跳历史数据进行比对,给出针对每个病人的辅助预诊断,帮助医生更好的掌握病人的情况[1]。

针对以上的分析,基于CEP 的ECG 实时监测分析系统可以有效的对ECG 信号进行处理,识别出非正常心跳的事件,与病人的病历等信息进行比对并给出预诊断信息。对于帮助普通的病人了解自己的身体状况并及时作出就医的决定提供支持。图1描述了基于CEP的ECG 实时监测分析系统的系统框架。

图1 基于CEP的ECG 实时监测分析系统的系统框架

该系统由ECG 信号获取模块,信号处理识别模块,ECG 基本事件生成模块,模式识别模块,历史数据比对模块,异常心跳报警和预诊断模块。下面将分别对系统的主要功能模块及相关技术进行介绍。

1.1 ECG 探测模块

ECG 信号获取由心电监护仪、便携式心电仪等完成,这些信号通过蓝牙传输到手机或pc,在手机端或pc端进行ECG 的探测,为了节省带宽并不会将360HZ的心电信号实时传输到服务器端,而是由手机端或pc端的程序探测出每个心跳的特征信息后并压缩后,以每分钟或更长一个周期上传一次这个周期的ECG 特征信号到服务器端进行处理;如果在终端的探测中发现非正常心跳则立刻传输现有的这个周期内的ECG 压缩数据到服务器端进行分析。

ECG 探测模块主要由以下3步骤构成:

1.1.1 信号预处理

对于ECG 信号的识别率有着重要影响的是ECG 录制的质量,通常实际得到的心电信号是有着各种各样的干扰和漂移的,所以对于信号进行预处理是很有必要的行为。ECG 信号有两个重要的干扰源,一个是50Hz/60Hz及其谐波的工频干扰;另一个是小于1Hz的些基线漂移。首先使用小波变换来去除工频干扰并针对基线漂移问题,选用多项式拟合 (polynomial fitting)来调整基线。

1.1.2 信号QRS波群检测

由于是对实时数据进行分析,所以无法对完整的心率记录的特征进行提取,故使用一种动态阀值检测方法,对实时传输过来的数据进行逐点方差、逐点平方,信号幅度逐点平方等操作,是的输出后的数据都有为正,且非线性的放大了微分输出的信号,吐出来新高的高频部分,更加突出了R 峰,并减少了T 波引起的假阳性;在有R 峰做移动窗口的积分,抽取出R 波的其他信息,如斜率、宽度、以及提高QRS综合波检测的准确率[2]。

1.1.3 P、T 波检测

通过对QRS 波群的检测,以及RR 间隔的计算,可以很容易的大致计算出一个完整心跳的窗口期,并分析出这个窗口期中,QRS波群前,后的信号从中试图找到这个心跳对应的P,T 波位置和其他信息;但并非所有的P,T 信号都可以被用这样的方式识别出来,诸如心动过速,震颤,以及其他的P、T 波与其他波重叠的情况就难以被加以识别了,但是通常,P、T 波无法识别也能成为一种信号,也可以用来对异常心电做判断。

此模块是系统对心跳类型分析准确性的基石,起着至关重要的作用。

1.2 心跳识别模块

ECG 基本事件生成模块将心跳的基本信息制成基本事件发往CEP,并将心电数据压缩存入历史数据库以备以后查找;CEP在接收到传来的心跳事件以后将进行模式匹配,将每一个心跳的所有基本事件作为历史数据存入数据库,如果符合异常心跳的特征将会把异常心跳的特征存入异常特征数据库以备稍后预诊断模块进行调用。

心跳事件构成:从心电监护仪等中所读取出的数据在进行预处理和识别后,QRS波群及T 波的详细信息作为基本事件,基本事件仅仅是能够反映实时探测到的当前心跳的一些参数,尽管它也能提供许多相关的细节信息,但是这些信息与要自动探测到心跳异常的目标还有很大的距离,无法表达一个完整的含义。因此需要将基本事件聚合成一个个具备实际医学含义的复杂事件。下面是对事件的基本描述[3]。

基本事件 (base events)

Base name

on source_list

schema attribute list

每一个基本事件都有一个唯一可用的名字,这里由病人Uid+BeatPart+BeatID 组成。来源列表表明ECG 信号源来自于移动设备还是心电监护仪,以及设备号;还有病历数据库名表明病历存储的位置。属性列表包括:ecg_id是表明是哪一条导联的信息;Beat_ID 用于标记是哪一个心跳的属性事件;strat_time and end_time表示事件的开始时间和结束事件,如果事件没有持续的时间end_time可以为空。

以下是一个基本事件的举例:表示用户001 的35032个心跳QRS波群情况 (人的心跳按每分钟200次连续跳24小时计算,每日心跳总数不会超过30 万次,所以每日24点后将BeatID 清零,以日期加以区分),ECG 来源是移动端Mob004的心电监控。病人有病历和历史数据在His1;QRS波群的波峰是1.54V,跨度是0.11秒,与前波距离为0.82秒,日期为13年7月9日。

Base 001_QRS_35032 on Mob:004,DB:His1 schema Peak:1.54,Interval:0.11,RR:0.82,D:13.7.9

复杂事件 (Complex Events)

Complex name

on source_list

schema attribute list

subevent event expression

where constraint list

与基本事件相比多了subevent子事件和constraint list约束条件,复杂事件是有多个子事件和其约束关系构成的。复杂事件主要用来表示一些特有的非正常心率事件,如VT室性心动过速、室性二联律、室性三联律等。

1.3 预诊断模块

当心跳识别模块识别出非正常心率之后,会启动混合查询,同时对历史ECG 数据、异常心率模式库、病历查询并与实时ECG情况比对。[4]当对比找到病人的病历中与之相关的部分,且有高危险等级时向报警模块传输异常心跳警报和预诊断信息,报警模块会对病人病历设定的医师和病人家属发送警报或求救信息,待他人收到信息进行救治[1]。

2 ECG 探测算法

针对CEP系统需要将心跳的基本信息细节从几百个样本点的电压值压缩成对每个心跳的基本数据信息,ECG 探测算法的主要描述如下[5]。

(1)整个实时监测的算法都建立在一个大小为1000个样本点的窗口中,随着新的信号输入,老的样本点移出窗口。

(2)将预处理过的信号进行滑动平均值处理,11个样本点的滑动窗口取平均

(3)动态阀值THR1等于滑动窗口中样本点的平均值与样本均值的和来过滤掉低于阀值的信号部分[6](4)动态阀值THR2等于滑动窗口中样本点的平均值与样本均值的之差来过滤掉高于阀值的信号部分

(5)对比第 (3)步与第 (4)步中产生的非零区间的间隔,当间隔非零区间小于50个样本点时,将相邻的后面一个非零区间置零,并将 (3)步与 (4)步中的结果合并。

(6)第 (5)步处理之后的部分都是在QRS 波群内,找到波峰中最值点作为R 峰的点。

(7)在第 (4)步处理后,如果非零区间在滑动窗口边缘没有回落,则视作QRS波群可能没有达到最高点,既第(6)步所找到的最新一个R 峰值可能存在误差,将第 (7)步所分析出的最新一个R 峰值标记。

(8)若第 (4)步处理后的非零区间在窗口边缘已经回落,则再执行一次第 (6)步将新的结果对比滑动窗口中已经找到的R 峰位置从而确定最新的一个R 峰的位置。

(9)计算第5步处理后不为零的区间边缘的两个大小为20样本区间内找出二阶导数的正负号改变的样本点作为R 波的区间。

(10)通过前后两个RR 区间的算出中间这个完整心跳的区间,并对QRS波群前后的窗口进行分析,找出满足次阀值THR3的区间来作为P,T 波的区间进行分析。

(11)将每个心跳区间内的QRS波群、P波、T 波 (如果P波、T 波可探测)的详细数据,如间隔时间,峰值,起始结束的样本点位置信息保存并发给识别模块。

本算法针对MIT-BIH 心电数据集的识别情况见表1。

3 系统验证

3.1 验证环境

PC机个数为1台,配置如下:

Core 2E7500 2.93,8GB 内存,320GB 硬盘,所使用的操作系统为:WINDOWS 7 64bit。

使用软件,MATLAB、NEsper、Mysql。

数据集采用的是MIT-BIH 的48组心率记录。

表1 MIT 数据库QRS波群检测结果

3.2 验证方法及结果

3.2.1 心动过速种类分析

在医学上,心动过速的概念为成人每分钟心率超过100次以上者统称为心动过速,但是实际心动过速的原因有多种,如窦性心动过速、房性心动过速、交界区心动过速、室性心动过速 (ventricular tachycardia,VT)等,各种心动过速的成因和治疗应对方式是不同的,利用CEP技术可以实现实时或准实时分析并区分不正常心率,如心动过速的种类在临床上对救治病人是十分有益的[7]。

例如窦性心动过速主要为正常人运动和情绪激动引起,病理性引起为低血压,出血,病痛等;房性心动过速分为MAT 和PAT 两类,正常人可能是由于过度饮用咖啡因或兴奋剂,大麻等导致以及原发性原发性心脏病,心肌梗死,心肌病,先天性心脏病,wpw 综合征和心脏瓣膜病等;交界区心动过速主要常见的是地高辛中毒原因;室性心动过速 (ventricular tachycardia,VT)主要是由于心急的应激性增加所致,其他,心肌缺血,心肌梗死,冠心病,瓣膜性心脏病,心力衰竭,心肌病,电解质紊乱,低钾血症,临床意义,由于其不可预知性和潜在的致命性作用,室性心动过速的临床意义重大。当这种心率失常出现时,心室充盈时间减少,心搏量锐减,病人可能很快恶化为心室颤动和完全性血管性虚脱[8]。

以室性心动过速的识别为例,如图2 所示,用事件探测树来表示非正常心跳的复杂事件。矩形表示基本事件,既P波,QRS波群及T 波的特征值。若P波、T 波与其他波/波群重叠则不可测,则无此基本事件;椭圆形代表一个复杂事件,同时复杂事件和基本事件可以再构成更高层次的复杂事件,3个或3个以上的连续心跳的RR 期间算得的瞬时心率范围100~250/min、QRS 波群期间>0.12s、T波与QRS波群方向相反以及连续3个或3个以上室性早搏事件构成室性心动过速事件[9]。

通过对心动过速类型的识别,可以及时的在病人发生这类心脏异常心跳时,实时的在历史数据中进行数据比对,找到病人上次发生此类异常心跳时的病因及医生处理方案,进行报警并将上次的处理方案一并告知医护人员。

图2 室性心动过速事件构成

3.2.2 对室性异常心率的识别验证

实验将监测分析MIT 心跳中出现的室性异常心率。

图2所示的室性心动过速;图3 所示的连续3 次或3次以上的在一个正常心率后发生一次室性早搏,被称为室性二联律;同理,室性三联律是连续3次或3次以上的在两次正常心跳后发生一次室性早搏。

图3 室性二联律

3.2.3 实验结果

为了验证CEP 技术在心跳监测分析中的作用,针对MIT-BIH 的心跳记录进行实验后得到以下实验结果,对记录号为200,208,223的记录分别统计了异常室性心跳的发生次数,见表2。从表2中可以看出,200号心率记录中存在有室性早搏826次,系统识别为719 次,其中二联律发生的次数71 次,实际识别63 次,室性心动过速7 次,实际识别6 次。3 组记录的平均识别率都分别高于85%,实验结果很好的说明了CEP技术的适用性。

表2 室性异常心率识别统计

4 结束语

本系统主要是利用了CEP 技术将其应用到ECG 监测分析当中,很好的解决ECG 实时检测和实时分析没有办法共同完成的临床应用问题。本系统即可以应用在医院系统帮助医生更好的掌握病人的状况,也可适用于想了解并监控自己心电情况的个人用户。本系统现可以对多种室性和房性的早搏、心动过速等情况进行有效检测。系统的识别准确率直接取决于ECG 检测算法的精确度,对于起搏器与正常心跳融合的心跳,以及不正常心跳中P,T 波的检测还不够完善,是需要改进的部分;今后的工作将重点放在实时数据与历史数据的混合连续分析部分,使得系统能够最终完善。

[1]Nihal Dindar,Peter M Fischer.Effciently correlating complex events over live and archived data streams[C]//International Conference on Distributed Event-Based System,2011.

[2]Mohamed Elgendi,Sivaram Mahalingam.Robust QRS complex detection algorithm using dynamic thresholds [C]//Proceedings of the International Symposium on Computer Science and its Applications,2008:153-158.

[3]Mert Akdere.Plan-based complex event detection across distributed sources[J].Proceedings of the VLDB Endowment,2008(1):66-77.

[4]Magdalena Balazinska,YongChul Kwon.Moirae:History-enhanced monitoring [C]//Third Biennial Conference on Innovative Data Systems Research,2007.

[5]Gari D Clifford.Advanced methods and tools for ECG data analysis[M].London:Artech House,2006.

[6]Peng Qiu,Ray Liu K J.A robust method for QRS detection based on modified P-spectrum [C]//IEEE International Conference on Acoustics,Speech and Signal Processing,2008:501-504.

[7]Mohammed Omar Ahmed Omar.Application of the empirical mode decomposition th ECG and HRV signals for congestive heart failure classification [C]// Middle East Conference on Biomedical Engineering,2011:392-395.

[8]John R Hampton.The ECG made easy [M].Churchill Livingstone,2008:67-77.

[9]Rodrigo V Andreao.ECG signal analysis through hidden markov[J].Biomedical Engineering,2006,53 (8):1541-1549.

[10]Mo Liu,Ming Li.Sequence pattern query processing over out-oforder event streams[C]//IEEE 25th International Conference on Data Engineering,2009:784-795.

猜你喜欢
波群心电心动过速
心电向量图诊断高血压病左心室异常的临床应用
基于ResNet与BiLSTM的心电QRS波群检测方法
《思考心电图之169》
《思考心电图之166》答案
基于非接触式电极的心电监测系统
穿戴式心电:发展历程、核心技术与未来挑战
《思考心电图之162》答案
更正启事
《思考心电图之161》答案
曲美他嗪治疗心房颤动致心动过速性心肌病疗效观察