基于MATLAB的心电信号QRS波标定方法的研究.doc
文本预览下载声明
基于MATLAB的心电信号QRS波标定方法的研究
摘要:心电信号特征参数的提取和检测是心电图分析的基础,而在ECG分析中,快速准确地检出QRS波群十分关键,本文对QRS波的识别方法进行研究,对传统的Moriet-Mahoudeaux算法进行改进,并提出了自己的改进算法,通过MATLAB编写程序实现这一算法,并用MIT-BIH心电数据库对这一算法进行检验,同时与传统的算法检测结果进行实验对比,结果表明该算法简单有效,准确率高。
关键字:ECG;MATLAB ;MIT心电数据;QRS波标定
一、引言
心电数据的波形识别和参数提取是心电自动化分析系统的关键,其可靠性和准确性直接决定诊断结果的准确性。在ECG检测中QRS波是检测的关键,只有正确识别了R波的位置,才能分析ECG的其他细节,从而进行参数测量和波形分析。因此R波标定的准确性,对于心电分析技术是很重要的。
目前,R波标定的方法有很多种[1-3],但是各种方法均有不足,因为心电信号波形的复杂性和各种类型的噪声存在生理上的变异性,都使R波的标定有很大困难。本文对Moriet-Mahoudeaux算法进行改进,在一定程度上消除了QRS波的漏检与错检。由于MATLAB的具有强大的信号处理功能,本文采用MATLAB作为编程工具。
二、QRS波的识别
2.1心电信号的简述
典型的心电波形包括P波、QRS波群和T波。P波反映了左右两心房的去极化过程,QRS波群代表左右两心室去极化过程的电位变化,它通常包括了3个紧密相连的电位波动,T波反映了心室复极化过程中的电位变化.除了各波的形状有特定意义外,各波之间的时间间隔在临床上也有重要的理论和实践意义。
2.2 QRS波识别的算法及其改进
1981年,Moriet-Mahoudeaux[4]根据正常心电信号的特点和幅频特性,首次提出了幅值和一阶导数的算法,也称为Moriet-Mahoudeaux算法。但是在实际的应用中,这个算法还存在很多的不足,例如:在R波识别的过程中会存在漏检和错检,对于一些病理的心电信号的识别能力比较差,基于此对原有的算法加以改进,在一定程度上减少了漏检和多检。
具体算法如下:
2.2.1阈值选择
1)对数据进行隔点差分,其中是点的心电数据的幅值。
2)得出中的最大值和最小值,根据其求斜率阈值
其中为阈值系数。
2.2.2斜率判断
查找中连续两点的值大于最大斜率阈值的点及连续两点的值小于最小斜率阈值的点。
2.2.3幅值判断
在点与之间查找的极大值,该点即为R波波峰
2.2.4阈值系数的选择[5-8]
由于 K值一定时,大P波,大T波,小R波可能使该算法产生多检或漏检,所以本文根据当前间期与前一个间期的关系对K值进行调整,以消除多检或漏检,其具体方法如下:
1)判断是否小于300ms,若是则判定该点位噪声,剔除。
2) 若1)中条件不满足,则将与前一个RR间期相比较,当 时,初步判断有漏检,将阈值系数减少为原来的0.9倍,从上一点重新开始检测,并用记录阈值系数调整系数,当时,若R波波峰仍在t时刻出现,则恢复阈值,并判定无漏检,且该心电心律不齐。
R波识别算法流程图
2.3 基于MATLAB的程序设计与标定结果
2.3.1程序设计
本文利用MATLAB对算法进行实现,MATLAB的版本为Version 7.0.019920(R14)。为了让读者更直观的了解程序的设计过程,下面给出程序的伪代码:
2.3.2标定结果
为了进一步验证本算法的有效性[9],我们在MIT-BIH[10]心电数据库中选择了具有代表性的心电信号101,103,105,109,111,200,201,207,208,222。由于每一个编号的心电数据非常多,共有65000个数据,为了处理简便,在这里,我们只取了每个文件里的3000个数据。
由图3可以看出,利用MIT-BIH心电数据库中的编号为101的心电信号进行标定的结果是很不错的。
图3 R波标定的结果
图4 算法改进前后标定结果对比
对以上这8组心电信号,我们分别采用原始算法和改进后的算法进行标定,通过统计R波的误检率来验证改进算法的优越性。
图5 两种方法R波误检率比较
三、结束语
本文对经典的Moriet-Mahoudeaux算法进行深入研究,并对这种算法的不足进行了改进,从而提高对R波的识别率。这种算法的特点:
1) 采用了自适应的阈值系数,一改以往使用固定阈值的方法,能够更好的适应各种心电信号,从而提高R波识别率
算法计算量较小,对正常心电信号的识别快速准确,适合在便携式心电监护装置中使用。
通过MATLAB实现这一算法,对各领域心电信号分析提供理论依据。
参考文献:
1余永纪?张
显示全部