基于差分过零检测法的QRS波群识别方法
2021-10-15顾羽飞孙凯斌唐家磊杜宇人
顾羽飞 孙凯斌 唐家磊 杜宇人
(扬州大学信息工程学院,江苏 扬州 225127)
1 引言
目前,我国心血管疾病患病率和死亡率处于上升阶段[1],而定期对心脏进行检测与诊断能有效帮助病患了解病情、提早接受医学治疗。24小时心电图检测是诊断心血管疾病的常用手段,由于一些心血管疾病的短暂性和阵发性,心电图仪必须长时间记录患者的心电数据以供诊断,因而其采集数据量十分庞大,难以通过肉眼诊断与分析。医学上将心电图的分为P波、PR间期、QRS波、ST段及T波,其中QRS波代表心室除极时的情况,通过对QRS波的检测可以检测室性早搏、房颤、房扑、冠心病等疾病,因此对于QRS波的自动化检测具有一定的意义[2]。
目前,针对QRS波形检测有小波变换、神经网络、模板匹配、Teager能量算子等方法[3],小波变换虽然具有误检率较小的优势,但其由于庞大的计算量难以在性能较弱的便携心电监护仪中做到实时检测;神经网络的方法由于训练周期长、难以判别与训练集相差较大的心电波形而难以广泛应用[4];模板匹配较易实现,但也存在难以判别与模板相关性较小的波形的问题;Teager能量算子通过跟踪信号的瞬间能量变化进行判别,其可以有效检测R峰,但对于Q点和S点的判别略显挣扎[5]。本文提出了一种实时心电图QRS波检测的方法,能够实时检测心电图仪采集的数据并进行QRS波的检测和波长的测量,可以大大缩短医师在大量心电波形中找到异常波形的时间,提高其工作效率。此外,由于该方法运算量小,实时性高,且对主控芯片的算力要求极低,因此可以广泛应用于价格较低的家用便携式心电监护仪和远程医疗[6]。
2 方法
本文提出的基于差分过零检测的QRS波检测方法如图1所示,首先将原始心电信号通过自适应基线漂移滤波器,去除信号的直流偏置,得到在0值附近上下波动的心电信号。其次将信号通过11Hz巴特沃斯低通滤波器,滤除工频干扰、抑制肌电干扰对信号的影响。然后对信号进行一阶和二阶差分,分析一阶差分后数值的概率分布确定用于检测R峰的阈值,再通过二阶差分依次找到S谷和Q谷,最后依据采样频率算出心率和Q、R、S波的波长,提取波形特征,送入后续的疾病检测方法。
图1 基于差分过零检测的QRS波检测方法流程图
2.1 心电信号预处理
2.1.1 自适应基线漂移滤波器
由高精度模拟前端芯片直接采集得到的心电信号十分微弱,幅值通常在0.1mV至3mV之间,且伴随着基线漂移、工频干扰和肌电干扰三类噪声[7],必须经过预处理才能进行QRS波的检测。其中,工频干扰属于低频干扰,在测量过程中,模拟前端电路、测量电极以及体表组成了一个分压网络,四肢动作、呼吸节奏、体表的汗液等都可能影响体表与电极间接触电阻阻值发生改变,进而造成基线漂移。此类噪声会致使心电波形变得扭曲,严重影响了QRS波群的检测,因此滤除基线漂移是十分必要的预处理环节。
自适应基线漂移滤波器的本质是一个数字低通滤波器,其需要设定合适滤波器的窗口宽度。若窗口宽度过窄,则难以滤除变化缓慢的基线漂移;若窗口宽度过宽,则难以滤除突变的基线漂移。实验中发现,窗口宽度设置为采样频率数值的十分之一左右效果较好。此外,考虑到输出的稳定性,该滤波器在输出之前需预采样一个窗口宽度的数据,若采样频率为500Hz,则窗口宽度可以设置为50,其预采样时间为0.1s。若设窗口宽度为"W",则滤波器时域输出方程为:
式中:x[]n为滤波器输入值,y[]n为滤波器输出值,B[n]为修补的基线漂移量,其数学表达式为:
2.1.2 IIRButterworth数字低通滤波器
高精度模拟前端芯片采集到的信号频谱主要集中在0Hz~60Hz之间,而自适应基线漂移滤波器仅仅滤除了原始信号的基线,此时信号仍受工频干扰和肌电干扰影响,其中工频干扰是在采集阶段造成的,国内一般是指50Hz的电源线干扰和各次谐波干扰,幅值大约在0 mV~0.4mV,根据不同的情况,一般相当于R波幅值的5%~40%,这是一种一般采样到的信号都会碰到的较为常见的干扰,使得ECG信号的SNR下降,甚至淹没原始信号[8]。而肌电干扰频谱范围较广泛,约集中在1 Hz~1000Hz,因而信号从时域上看并不平滑,而夹杂着尖峰与毛刺。为了抑制这两类噪声,本文采用IIR Butterworth数字低通滤波器,滤除15Hz以上的频率成分,其输出信号中工频干扰被完全滤除,仅剩肌电干扰的低频成分,对于QRS波群的检测影响较小。IIRButterworth数字低通滤波器的参数如表1所示。
表1 IIRButterworth数字低通滤波器的参数
2.2 QRS波群的检测
2.2.1 一阶差分
在心电信号中,QRS波群斜率的模值大于其他波群,因此信号的一阶差分能将有效分割QRS波群和其他波群,其差分方程为:
2.2.2 非线性映射
对滤波后信号进行一阶差分之后,QRS波间期对应的差分波形呈现一个正波峰与一个负波谷,且峰谷模值大于其他波群,但模值差别仍较小,对R峰的检测有一定影响,因此使用幂函数作为映射函数,对差分值进行放大,从而将QRS波群与其他波群进行有效区分。Willis J.Jiapu Tompkins曾提出Pan-Tompkins方法,其通过平方函数,对差分后的输出进行放大,再分段积分进行检测,能粗略地检测出QRS波群是否存在,但是无法做到对QRS点的精确定位,其主要原因是平方函数将所有负值映射为正值,从波形上看将原有的一个正波峰和一个负波谷映射为两个正波峰,损失了原有波形中包含的信息,因此本方法中使用三次方函数进行非线性映射,保留差分波形的正负性,便于后期的处理和检测。
其映射函数为:
经此步骤后,QRS波群对应的波峰波谷能被明显放大。
2.2.3 过零检测QRS点
在非线性映射后的差分波形中,可以明显地观察到,在一个心跳周期内,存在一个波峰与一个波谷,波峰与波谷的时间间隔之间差分值过零处即为心电信号中R峰出现的时刻,而差分值下一个过零处即为心电信号中S谷出现的时刻。由于在非线性映射后的差分波形具有明显的特征,可通过设置阈值的方法检测到R峰、S谷出现的时刻,而R峰时刻之前最近的过零处即为Q点,其流程如图所示。在一次QRS识别中,R、S点先后被识别到,最后确定Q的位置,因此本方法能在一个QRS波群的S点时刻确定此波群的特征和信息,后期可根据QRS波群的特征(如QRS三点之间的时间间隔)进行辅助诊断。
图2 检测流程图
3 实验结果
这次实验分为静态测试与动态测试两部分,静态测试中,被测试者处于站立静止状态;动态测试中,被测试者在房间内进行走动。经实验验证,如图3所示,本方法在动态与静态测试中均能有效抑制基线漂移和高频噪声,获得较好的波形,同时能检测出QRS点的位置。
图3 实验结果图
测试环境:选用德州仪器ADS1292R芯片作为前端模数转换芯片,在实际测试中使用500Hz的频率进行采样,使用电极贴片连接被测者测试样本,分别利用传统的基于差分法及形态学运算检测QRS波群的方法和本发明方法进行测试并获得结果数据;开启自动化测试设备并运用MATLB软件编程实现两种方法的仿真测试,根据实验结果得到仿真数据。每种方法各测试7组数据,结果见表2、3。
4 结语
根据目前国内外对廉价、实时性高的心电信号监测识别软件的需求,提出了基于差分过零检测法的QRS波群识别算法,该方法在Pan_Tompkins方法的基础上,加入了对QRS点的定位功能。从表2、3可以看出,本方法相对传统方法在实时性高、运算量少的同时还具有较高检测准确率。
表2 基于差分法及形态学运算检测QRS波群的方法测试数据表
本次实验完成了基于ads1292系列前端芯片与STM32F103系列单片机的心电采集、处理系统,其性能表现良好。此外,该方法具有通用性,只需改动参数便可适用于其他采集硬件。因此本方法应用前景广阔。
表3 本方法实验数据表