一种心电信号基线识别器及识别方法

文档序号:922099阅读:663来源:国知局
专利名称:一种心电信号基线识别器及识别方法
技术领域
本发明涉及生物医学工程领域,特别涉及一种心电信号基线识别器及识别方法。
背景技术
理论上,心电信号基线一般是电位差为零的一段平整信号,见图1所示,一般一次心动周期就会在心电图上记录出一系列地高低宽窄不同的波形包括P波、QRS波群、T波和U波(U波有时没有),每个波形之间有一定时间记录是在等电位线上(该等电位线称为基线),分别称作P-R间期、S-T段和Q-T间期。但在心电图的记录过程中,由于电极电阻变化、电极的极化电位变化、心电放大器的直流偏置漂移、人体呼吸或其他肌肉缓慢运动等原因,实际采集的信号中基线位置的电位差并不为零,甚至发生不规则的基线漂移,如基线忽高忽低,上斜或下斜等。在心电信号分析中电压的计算和波的起止点均要参考其前后基线,若基线漂移和定位不准,会对后续各波电压的计算和各波的起止点寻找带来很大问题,如电压计算误差大、波的起止点寻找误差大等。 目前,现有研究均是采用基线漂移抑制技术(如滤波技术、小波变换和拟合技术等技术)对基线漂移进行抑制,例如,北京理工大学申请的发明专利CN102499670,提供基于稳健估计和固态模函数的心电基线漂移校正方法,而没有关于心电信号基线直接识别的研究报道,研究表明,采用基线漂移抑制技术虽然抑制了大的基线漂移,但是却让本没有基线漂移的产生漂移,同时导致信号失真。

发明内容
为了解决上述问题,避免使用基线漂移技术处理心电信号带来的误差,本发明公开了一种心电信号基线识别器及识别方法,直接进行基线位置识别,不需要现有的基线漂移抑制技术而直接对心电波的起止点、顶点识别和电压进行计算,可有效减少应用基线漂移技术带来的误差。直接对心电信号基线进行识别,不需基线漂移抵制手段,也使得信号不失真以及电压参数计算更准确。一种电信号基线识别器,包括数据输入模块80、FIFO缓冲模块82、中央控制模块84、基线识别模块86、数据输出模块88 ;所述数据输入模块80用于获取原始心电序列数据,将获取的数据存入FIFO缓冲模块82 ;所述FIFO缓冲模块82,用于缓冲存储原始心电序列数据,其数据位数大于原始心电序列数据位数至少一位,FIFO缓冲长度不小于2048 ;所述中央控制模块84、用于在识别器启动时控制其他模块初始化,设置FIFO缓冲长度,控制基线识别模块86进行基线识别,当数据处理完后控制FIFO缓冲模块82把FIFO缓冲区后半段数据传输给数据输出模块,传送完毕后把FIFO缓冲区后半段数据位置为O ;所述数据输出模块88,接收述FIFO缓冲模块82传来的数据并发送出去;所述的基线识别模块86,用于识别心电信号基线。
优选地,所述心电信号基线识别器,还包括键盘输入模块81,用于接收FIFO设置长度,把参数发送给中央控制模块84。优选地,所述基线识别模块86包括缓存单元86a、差分计算单元86b、选择求和单元86c、最小值计算单元86d、判断比较单元86e ;所述缓存单元86a用于缓存FIFO缓冲模块82传送来的数据、缓存差分计算单元86b计算后的数据等;所述差分计算单元86b用于在一个分析周期里对FIFO缓冲模块里面的心电数据求差分绝对值,将计算数据存储在缓存单元86a中;所述选择求和单元86c用于从心电原始数据中选择数据,对差分绝对值序列求和,寻找电压相差不超过U的连续最大段PL ;所述最小值计算单元86d,用于计算差分和序列的最小值DiffSumMin、在选定的长度为L的窗口差分和序列数据中寻找最小值LocalMin ;所述判断比较单元86e,用于判断是否LocalMin〈DiffSumMinXTH,TH取值为1. 1-1. 3,判断电压差是否不超过U,所述U取值为[-0. 15,0. 15]mv,判断是否PL兰O. 1,以及判断窗口差分和序列是否已经分析完毕。优选地,所述选择求和单元86c还用于计算U = U+Ua, Ua为增加步长,其取值范围为[-0. 08,0. 08]mv。一种心电信号基线识别方法,其特征在于,包括步骤101、获取原始心电序列数据;步骤102、计算原始心电序列的差分绝对值序列;步骤103、采用滑动窗口对差分绝对值序列求和得到窗口差分和序列DiffSumAbs,计算窗口差分和序列的最小值DiffSumMin ;步骤104、选定长度为L的窗口差分和序列数据;在选定的长度为L的窗口差分和序列数据中寻找最小值LocalMin及其位置PL ;步骤105、若 LocalMirKDiffSumMinXTH,进入步骤 106,否则返回步骤 104,TH 取值为1. 1-1.3 ;步骤106、确定此位置PL为内部点Ini,从心电原始数据中选同下标值L个原始数据步骤107、寻找与内部点电压相差不超过U的连续最大段PL;所述U取值为[-0. 15,O. 15] mv步骤108、如果PL ^ O.1毫秒,则进入步骤110,否则,进入步骤107 ;步骤110、把该段中心点作为基线点,依次存放到数组BaseData中;步骤111、判断此时窗口差分和序列是否已经分析完毕,是则结束流程,否则,返回步骤204,选取下一段数据继续分析,直到窗口差分和序列全部分析完毕。优选地,所述心电信号基线识别方法,步骤108所述进入步骤107之前包括步骤109,增加U值,U = U+Ua,Ua为增加步长,其取值范围为[-0. 08,O. 08]mv。本发明可直接识别出心电信号数据,为后面的数据特征点识别奠定了很好的基础,具有重要的经济效益和社会效应。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有技术心电图中心电彳目号基线标识不意图;图2为本发明心电信号基线识别方法优选实施例流程示意图;图3为本发明心电信号基线识别方法另一优选实施例流程示意图;图4为本发明心电信号基线识别器优选实施例结构示意图;图5为本发明心电信号基线识别器另一优选实施例结构示意图; 图6为本发明心电信号基线识别器心电识别模块优选实施例结构示意图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,均属于本发明保护范围。在本发明在基础上,再进行R检波、和后续识别其他特征波,会使这些R检波以及其他特征波识别变得非常简单和更准确。实施例一一种心电信号基线识别方法,如图2所示,包括步骤201、获取原始心电序列数据EcgData。所述原始心电序列数据EcgData可以通过心电采集装置采集,也可以通过来源于心电序列的离线数据,本发明对此不作限定。原始心电序列EcgData为一维数组,序列长度表示为LS,假设原始心电序列数据的采样率为F。步骤202、计算原始心电序列的差分绝对值序列DiffAbs。步骤203、采用滑动窗口对差分绝对值序列DifTAbs求和得到窗口差分和
序列DifTSumAbs,并把窗口中心数据下标作为差分和序列下标,其和值作为其值
j+k
!)iJfSumAbs[j + k /2] = YjDiffAbs[/)];所述滑动窗口大小为(O. 2-3) XF,采用逐个序列滑动
P=J
方式,即一次滑动I个值;滑动窗口大小选择主要是根据以下特征进行的,一是分析的心电信号心率范围在20-300次范围之内,滑动窗口大小系数(60/300-60/20,即O. 2_3),二是经研究实验测试表明,当滑动窗口大小在(O. 2-3) XF范围内时,检测误差小于20%,当滑动窗口大小不在(O. 2-3) XF范围内时,检测误差急剧上升(超过50%)。计算窗口差分和序列的最小值 DiffSumMin=min (DifTSumAbs);需要说明的是,心电数据的采集可根据需要采用不同的采样率F,不同的采样率在同一时间长度t内采样到的数据个数Nm (Nm=FXt)不一样,本发明数据长度采用时间长度而不采用心电数据序列长度,使得本发明具有更广泛的适应性。步骤204、选定长度为L的窗口差分和序列数据;在选定的长度为L的窗口差分和序列数据中寻找最小值LocalMin及其位置PL ;所述L〈LS,一般取值(O. 3-3) XF ;步骤205、若LocalMirKDiffSumMinXTH,进入步骤206,否则返回步骤204,其中TH 取值为1. 1-1.3;步骤206、确定此位置PL为内部点Ini,从心电原始数据EcgData中选同下标值L个原始数据,L的长度在O. 3-3秒内选取即可,L的长度在O. 3-3秒内选取的理由是基线长度一般在O. 2秒左右,考虑到存在心脏停博,一段基线长度可达2秒,所以分析的数据要比这长一些,而通过实验研究表明,L的长度选取在O. 3-3秒最合适;以Ini为中点,取其前后若干个数据。207、寻找与EcgData[Ini]电压相差不超过U的连续最大段PL ;所述U取值为[-0. 15,0. 15]mv ;
步骤208、如果PL兰O.1毫秒,则进入步骤210,否则,进入步骤207 ; 步骤210、把该段中心点作为基线点,依次存放到数组BaseData中;步骤211、判断此时窗口差分和序列是否已经分析完毕,是则结束流程,否则,返回步骤204,选取下一段数据继续分析,直到窗口差分和序列全部分析完毕。本方法首先对心电数据求差分绝对值序列和窗口的差分和序列,然后依次一段一段的在窗口差分和序列中找出最小值位置,若在心电数据序列中以该最小值位置左右一段心电序列两两之间的最大差值不大于O. 15毫伏并且不小于-O. 15毫伏,则该点识别为基线位置点。实施例二—种心电信号基线识别方法,如图3所示,包括步骤301、获取原始心电序列数据EcgData。所述原始心电序列数据EcgData可以通过心电采集装置采集,也可以通过来源于心电序列的离线数据,本发明对此不作限定。原始心电序列EcgData为一维数组,序列长度表示为LS。步骤302、计算原始心电序列的差分绝对值序列DiffAbs。 步骤303、采用滑动窗口对差分绝对值序列DifTAbs求和得到窗口差分和序列DifTSumAbs,并把窗口中心数据下标作为差分和序列下标,其和值作为其值
DiffiSumAbs[j + k/2\ = ^DiffAbslp];所述滑动窗口大小为O. 2-3秒;计算窗口差分和序列
P=!
的最小值 DiffSumMin=min (DiffSumAbs);步骤304、选定长度为L的窗口差分和序列数据;在选定的长度为L的窗口差分和序列数据中寻找最小值LocalMin及其位置;所述L 一般取值O. 3-3秒;步骤305、若LocalMirKDiffSumMinX TH,进入步骤306,否则返回步骤304,其中TH取值为1. 1-1.3;步骤306、确定此位置为内部点Ini,从心电原始数据EcgData中选同下标值L个原始数据,307、寻找与EcgData[Ini]电压相差不超过U的连续最大段PL ;所述U取值为[-0. 15,0. 15]mv ;步骤308、如果PL兰O.1毫秒,则进入步骤310,否则,进入步骤309 ;
步骤309、增加U值,U = U+Ua,Ua为增加步长,其取值范围为[-0. 08,O. 08]mv,回到步骤307。步骤310、把该段中心点作为基线点,依次存放到数组BaseData中;步骤311、判断此时窗口差分和序列是否已经分析完毕,是则结束流程,否则,返回步骤304,选取下一段数据继续分析,直到窗口差分和序列全部分析完毕。
实施例三一种心电信号基线识别器,如图4所示,包括数据输入模块80、FIF0缓冲模块82、中央控制模块84、基线识别模块86、数据输出模块88 ;所述数据输入模块80用于获取原始心电序列数据,将获取的数据存入FIFO缓冲模块82 ;其既可以是心电数据采集装置,也可以是存储有心电序列离线数据的外部设备,本发明对此不作限定。特别地,所述数据输入模块80包括电平控制单元,当电平控制单元处于低电平时,所述数据输入模块80不获取心电数据,当电平控制单元处于高电平时,所述数据输入模块80获取心电数据;当需要接收数据时,电平控制单元由低电平变为高电平,获取原始心电序列数据。所述FIFO缓冲模块82,用于缓冲存储原始心电序列数据,数据位数大于原始心电序列数据位数至少一位,FIFO缓冲长度不小于2048 ;当心电信号基线识别器启动时,FIFO缓冲区数据位全置为0,每个数据位数可选10位、16位、24位或者32位等。所述中央控制模块84、用于在识别器启动时控制其他模块初始化,设置FIFO缓冲长度,控制基线识别模块86进行基线识别,当数据处理完后控制FIFO缓冲模块82把FIFO缓冲区后半段数据传输给数据输出模块,传送完毕后把FIFO缓冲区后半段数据位置为O。所述数据输出模块88,接收述FIFO缓冲模块82传来的数据并发送出去;并同时把触发端口从低电平改为高电平;所述的基线识别模块86,用于识别心电信号基线;优选地,所述的基线识别模块86,如图6所示,包括缓存单元86a、差分计算单元86b、选择求和单元86c、最小值计算单元86d、判断比较单元86e ;所述缓存单元86a用于缓存FIFO缓冲模块82传送来的数据、缓存差分计算单元86b计算后的数据等;所述差分计算单元86b用于在一个分析周期里对FIFO缓冲模块里面的心电数据求差分绝对值,将计算数据存储在缓存单元86a中;所述选择求和单元86c用于从心电原始数据中选择数据,对差分绝对值序列求和,寻找与EcgData [Ini]电压相差不超过U的连续最大段PL,所述最小值计算单元86d,用于计算差分和序列的最小值DiffSumMin、在选定的长度为L的窗口差分和序列数据中寻找最小值LocalMin所述判断比较单元86e,用于判断是否LocalMirKDiffSumMinXTH,TH取值为1. 1-1. 3,判断心电原始数据电压与EcgData[Ini]相差是否不超过U,所述U取值为[-0. 15,0. 15]mv,判断是否PL ^ 0. 1,以及判断窗口差分和序列是否已经分析完毕。所述基线位置识别模块对窗口差分和序列计算模块中的窗口差分和序列存储缓冲区内的数据进行基线位置识别,并对FIFO缓冲模块里面的数据基线位置进行标识;实现本发明公开的基线识别方法对FIFO心电数据进行分析甚至校正,并对基线位置处的FIFO数据最高位置1,当数据分析完后或当心电数据传输完毕后调动数据输出模块把后FIFO缓冲区后半段数据发送出去,把FIFO缓冲区后半段数据位置为O ;实施例四一种心电信号基线识别器,与实施例三基本相同,不同之处在于,所述选择求和单元86c还用于计算U = U+Ua, Ua为增加步长,其取值范围为[-0. 08,0. 08]mv ;实施例五一种心电信号基线识别器,在实施例三或实施例四的基础上,所述心电信号基线 识别器还包括键盘输入模块81,如图5所示,所述键盘输入模块81接收FIFO缓冲长度参数和窗口大小参数,并把这些参数发送给中央控制模块84 ;优选地,所述键盘输入模块81,包括由O到9的10个数字键、FIFO缓冲区设置键和确认键等三个功能键区组成,当按下FIFO缓冲区设置键然后按数字键再按确认键来设置FIFO缓冲长度,把参数发送给中央控制模块84。以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种心电信号基线识别器,其特征在于,包括数据输入模块(80)、FIFO缓冲模块(82 )、中央控制模块(84 )、基线识别模块(86 )、数据输出模块(88 ); 所述数据输入模块(80)用于获取原始心电序列数据,将获取的数据存入FIFO缓冲模块(82); 所述FIFO缓冲模块(82),用于缓冲存储原始心电序列数据,其数据位数大于原始心电序列数据位数至少一位,FIFO缓冲长度不小于2048 ; 所述中央控制模块(84)、用于在识别器启动时控制其他模块初始化,设置FIFO缓冲长度,控制基线识别模块(86)进行基线识别,当数据处理完后控制FIFO缓冲模块(82)把FIFO缓冲区后半段数据传输给数据输出模块,传送完毕后把FIFO缓冲区后半段数据位置为0 ;所述数据输出模块(88),接收述FIFO缓冲模块(82)传来的数据并发送出去; 所述的基线识别模块(86 ),用于识别心电信号基线。
2.根据权利要求1所述心电信号基线识别器,其特征在于,包括键盘输入模块(81),用于接收FIFO设置长度,把参数发送给中央控制模块(84 )。
3.根据权利要求2所述心电信号基线识别器,其特征在于,所述键盘输入模块(81),包括由0到9的数字键、FIFO缓冲区设置键和确认键组成。
4.根据权利要求1所述心电信号基线识别器,其特征在于,所述数据输入模块(80)包括电平控制单元,当电平控制单元处于低电平时,所述数据输入模块(80)不获取心电数据,当电平控制单元处于高电平时,所述数据输入模块(80)获取心电数据;当需要接收数据时,电平控制单元由低电平变为高电平,获取原始心电序列数据。
5.根据权利要求1所述心电信号基线识别器,其特征在于,所述基线识别模块(86)包括缓存单元(86a)、差分计算单元(86b)、选择求和单元(86c)、最小值计算单元(86d)、判断比较单元(86e); 所述缓存单元(86a)用于缓存FIFO缓冲模块(82)传送来的数据、缓存差分计算单元(86b)计算后的数据; 所述差分计算单元(86b)用于对FIFO缓冲模块里面的心电数据求差分绝对值,将计算数据存储在缓存单元(86a)中; 所述选择求和单元(86c )用于从心电原始数据中选择数据,对差分绝对值序列求和,寻找电压相差不超过U的连续最大段PL ; 所述最小值计算单元(86d),用于计算差分和序列的最小值DifTSumMin、在选定的长度为L的窗口差分和序列数据中寻找最小值LocalMin ; 所述判断比较单元(86e),用于判断是否LocalMin〈DiffSumMinXTH,TH取值为1. 1-1. 3,判断电压差是否不超过U,所述U取值为[-0. 15,0. 15]mv,判断是否PL兰0. 1,以及判断窗口差分和序列是否已经分析完毕。
6.根据权利要求5所述心电信号基线识别器,其特征在于,所述选择求和单元(86c)还用于计算U = U+Ua, Ua为增加步长,其取值范围为[-0. 08,0. 08]mv。
7.—种心电信号基线识别方法,其特征在于,包括 步骤101、获取原始心电序列数据; 步骤102、计算原始心电序列的差分绝对值序列; 步骤103、采用滑动窗口对差分绝对值序列求和得到窗口差分和序列,计算窗口差分和序列的最小值DiffSumMin ; 步骤104、选定长度为L的窗口差分和序列数据;在选定的长度为L的窗口差分和序列数据中寻找最小值LocalMin及其位置PL ; 步骤105、若LocalMirKDiffSumMinXTH,进入步骤106,否则返回步骤104,TH取值为1.1-1. 3 ; 步骤106、确定此位置PL为内部点Ini,从心电原始数据中选同下标值L个原始数据; 步骤107、寻找与内部点电压相差不超过U的连续最大段PL ;U取值为[-0. 15,0. 15]mv ; 步骤108、如果PL ^ 0.1毫秒,则进入步骤110,否则,进入步骤107 ; 步骤110、把该段中心点作为基线点,依次存放到数组BaseData中; 步骤111、判断此时窗口差分和序列是否已经分析完毕,是则结束流程,否则,返回步骤.204,选取下一段数据继续分析,直到窗口差分和序列全部分析完毕。
8.根据权利要求7所述心电信号基线识别方法,其特征在于,步骤108所述进入步骤107之前包括步骤109,增加U值,U = U+Ua,Ua为增加步长,其取值范围为[-0. 08,0. 08]mvo
9.根据权利要求7所述心电信号基线识别方法,其特征在于,所述原始心电序列数据为心电采集装置采集的数据或者心电序列的离线数据。
全文摘要
本发明实施例提供一种心电信号基线识别器,所述识别器包括数据输入模块、FIFO缓冲模块、中央控制模块、基线识别模块、数据输出模块;还提供一种心电信号基线识别方法;本发明直接进行基线位置识别,使得后续心电分析直接基于这基线位置进行分析计算、不再需采用基线漂移抑制技术进行预处理,这样可有效减少应用基线漂移技术带来的误差,同时使后续心电分析更加简便。
文档编号A61B5/0452GK103006205SQ20121059232
公开日2013年4月3日 申请日期2012年12月29日 优先权日2012年12月29日
发明者曾垂省, 谢永芳, 舒坤贤, 李章勇, 赵志强 申请人:重庆邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1