发明内容
本发明的目的是针对现有技术的缺陷,提供一种用于心电信号中P波和T波的检测方法和装置,基于小波变换以及动态阈值的方法,较为准确的定位了T波的峰值位置以及宽度,提高了T波检测的准确率,并同时实现了P波检测准确率的提高。
为实现上述目的,在第一方面,本发明提供了一种用于心电信号中P波和T波的检测方法,包括:
接收待检测的长程心电监测数据,对所述长程心电监测数据进行预处理,得到长程心电监测数据中的多个数据片段;所述数据片段的长度为预设时长;
根据长程心电监测数据中的每个数据片段包括的QRS波群信号的心搏分类信息,确定所述数据片段中QRS波群数据的心搏类型是否都是窦性心搏;
如果是,根据所述QRS波群信号的位置信息,将每个窦性心搏中QRS波的起始位置到终止位置的信号幅值置为0,并通过边缘差值算法进行边缘数据平滑处理,得到含有P波信号和T波信号的待处理片段数据;
对所述待处理片段数据进行T波检测和P波检测;
所述T波检测包括:使用4-20Hz带通滤波器对所述待处理片段数据进行第一带通滤波处理;对第一带通滤波后的数据进行小波分解并保留低频成分;其中小波基为db2,分解层数为2层;将所述小波分解的得到的低频成分与4-20Hz带通滤波后的数据进行点乘,得到T波特征信号;对所述T波特征信号进行峰值检测,峰值点的位置为T波波峰位置,峰值点前后的拐点位置为T波的起止点位置;
所述P波检测包括:根据所得的T波的起止点位置,对含有P波信号和T波信号的待处理片段数据进行T波数据置0处理,得到含有P波信号的待处理片段数据;使用7-20Hz带通滤波器对所述含有P波信号的待处理片段数据进行第二带通滤波处理;将第二带通滤波后的数据与所述含有P波信号和T波信号的待处理片段数据进行点乘,得到P波特征信号;对所述P波特征信号进行峰值检测,峰值点的位置为P波波峰位置,峰值点前后的拐点位置为P波的起止点位置。
优选的,所述接收待检测的长程心电监测数据,对所述长程心电监测数据进行预处理,得到长程心电监测数据中的多个数据片段具体包括:
接收待检测的长程心电监测数据,对所述长程心电监测数据进行QRS信号检测处理,确定所述长程心电监测数据中各QRS波群信号的位置信息;所述QRS波群信号的位置信息包括每个QRS波的起始位置和终止位置;
将所述QRS信号检测处理后的长程心电监测数据进行心搏分类处理,得到每个QRS波群信号的心搏分类信息,并根据所述心搏分类信息,对所述长程心电监测数据进行标注;
对所述心搏分类处理及标注后的长程心电监测数据进行滤波处理,以去除心电信号的杂质信号,输出滤波后的长程心电监测数据;
对所述滤波后的长程心电监测数据按照预设时长顺序进行数据片段截取,得到多个预设时长的所述数据片段;每个数据片段包括多个QRS波群信号。
优选的,在所述确定所述数据片段中QRS波群数据的心搏类型是否都是窦性心搏之后,所述方法还包括:
如果不是,则将所述一个数据片段中全部信号幅值都置为0。
优选的,所述根据所得的T波的起止点位置,对含有P波信号和T波信号的待处理片段数据进行T波数据置0处理具体包括:
将含有P波信号和T波信号的待处理数据片段中,T波的起止点位置之间的信号幅值置为0;
对所述T波的起止点位置之间的信号幅值置为0后得到的数据片段通过边缘差值算法进行边缘数据平滑处理;所述T波的起止点位置包括起始位置和终止位置。
进一步优选的,所述边缘数据平滑处理具体为:
以波的起始位置作为第一边界位置的终点,以第一边界位置向前0.03s的位置为起点,对所述第一边界位置的起点到终点间的信号幅值进行线性差值;以及
以波的终止位置作为第二边界位置的起点,以第二边界位置向后0.03s的位置为终点,对所述第二边界位置的起点到终点间的信号幅值进行线性差值。
优选的,所述对所述滤波后的长程心电监测数据按照预设时长顺序进行数据片段截取具体为:
对所述滤波后的长程心电监测数据从数据起始点开始,按照设定步进间隔,依次顺序截取预设时长的数据片段;所述设定步进间隔小于所述预设时长。
优选的,所述对所述T波特征信号进行峰值检测,峰值点的位置为T波波峰位置,峰值点前后的拐点位置为T波的起止点位置具体为:
以T波峰值点位置为第一初始点,并根据设定规则确定T波前后的第一末端点和第二末端点;
以第一末端点和第一初始点为起止点进行线性拟合处理,得到第一线性拟合信号,计算每一时刻第一线性拟合信号与所述第一初始点到第一末端点间的T波信号的幅值差,确定其中最大幅值差对应的位置为峰值点前的拐点;
以第一初始点和第二末端点为起止点进行线性拟合处理,得到第二线性拟合信号,计算每一时刻第二线性拟合信号与所述第一初始点到第二末端点间的T波信号的幅值差,确定其中最大幅值差对应的位置为峰值点后的拐点;
所述峰值点前后的拐点位置即为T波的起止点位置。
进一步优选的,所述根据设定规则确定T波前后的第一末端点和第二末端点具体包括:
以所述T波前0.2s的位置为所述第一末端点;
如果所述T波峰值点至T波后第一个QRS波的起始位置对应的时间间隔不小于0.2s,以所述T波后第一个QRS波的起始位置前0.2s的位置为所述第二末端点;
如果所述T波峰值点至T波后第一个QRS波的起始位置对应的时间间隔小于0.2s,以所述T波后第一个QRS波的起始位置前0.2s的位置和T波后0.2s的位置的中点为所述第二末端点。
优选的,所述对所述P波特征信号进行峰值检测,峰值点的位置为P波波峰位置,峰值点前后的拐点位置为P波的起止点位置具体为:
以P波峰值点位置为第二初始点,并根据设定规则确定P波前后的第三末端点和第四末端点;
以第三末端点和第二初始点为起止点进行线性拟合处理,得到第三线性拟合信号,计算每一时刻第三线性拟合信号与所述第二初始点到第三末端点间的T波信号的幅值差,确定其中最大幅值差对应的位置为峰值点前的拐点;
以第二初始点和第四末端点为起止点进行线性拟合处理,得到第四线性拟合信号,计算每一时刻第四线性拟合信号与所述第二初始点到第四末端点间的P波信号的幅值差,确定其中最大幅值差对应的位置为峰值点后的拐点;
所述峰值点前后的拐点位置即为P波的起止点位置。
进一步优选的,所述根据设定规则确定P波前后的第三末端点和第四末端点具体包括:
以所述P波后0.2s的位置为所述第四末端点;
如果所述P波峰值点至P波前第一个QRS波的终止位置对应的时间间隔不小于0.2s,以所述P波前第一个QRS波的终止位置后0.2s的位置为所述第三末端点;
如果所述P波峰值点至P波前第一个QRS波的终止位置对应的时间间隔小于0.2s,以所述P波前第一个QRS波的终止位置前0.2s的位置和P波前0.2s的位置的中点为所述第三末端点。
优选的,当接收到的待检测的长程心电监测数据为双导联心电监测数据时,在所述对含有P波信号和T波信号的待处理片段数据进行T波数据置0处理之后,所述方法还包括:
将两个导联各自的进行T波数据置0处理的数据进行归并排序得到一个含有P波信号的叠加片段;
结合所述长程心电监测数据对于所述叠加片段进行P波位置融合,将处在两个QRS波之间的处于60ms以内的两个或多个P波融合为一个,得到所述含有P波信号的待处理片段数据。本发明实施例提供的用于心电信号中P波和T波的检测方法,基于小波变换以及动态阈值的方法,较为准确的定位了T波的峰值位置以及宽度,提高了T波检测的准确率,并同时实现了P波检测准确率的提高,对于心电分析提供了有效和准确的数据保障。
第二方面,本发明实施例提供了一种设备,该设备包括存储器和处理器,存储器用于存储程序,处理器用于执行第一方面及第一方面的各实现方式中的方法。
第三方面,本发明实施例提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第一方面及第一方面的各实现方式中的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面及第一方面的各实现方式中的方法。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明实施例提供的用于心电信号中P波和T波的检测方法流程图,可以用于心电信号的自动分析。图1为本发明实施例提供的检测方法流程图,下面结合图1所述,对本发明实施例提供的用于心电信号中P波和T波的检测方法进行说明。
在本例中,其实施方法步骤如图1所示:
步骤110,接收待检测的长程心电监测数据,对长程心电监测数据进行QRS信号检测处理,确定长程心电监测数据中各QRS波群信号的位置信息;
具体的,QRS波群信号的位置信息包括每个QRS波的起始位置和终止位置。所用长程心电监测数据的心电信号采集时间长度为12小时或者24小时。长程心电监测数据的一段数据如图2所示。
本步骤的具体执行方法可以采用申请人在先申请的专利201711203259.6《基于人工智能自学习的心电图自动分析方法和装置》中步骤120及步骤120之前的方法获得。在《基于人工智能自学习的心电图自动分析方法和装置》的步骤120之前先进行了滤波处理,在本例中采用对长程心电监测数据进行QRS信号检测处理之后再进行滤波处理的方式。当然也可以在对长程心电监测数据进行QRS信号检测处理之前进行滤波处理,这都不影响本发明的实现。
步骤120,将QRS信号检测处理后的长程心电监测数据进行心搏分类处理,得到每个QRS波群信号的心搏分类信息;
具体的,心搏分类处理的过程,可以参考申请人在先专利201711203546.7《基于人工智能的心电图心搏自动识别分类方法》,通过该专利记载的方法实现,在此不再着重说明。
步骤130,对心搏分类处理后的长程心电监测数据进行滤波处理,以去除心电信号的杂质信号,输出滤波后的长程心电监测数据;
具体的,杂质信号可以包括高频杂质信号—例如高频干扰,以及低频杂质信号—例如基线漂移。可以先通过0.5Hz高通滤波器去除心电信号的基线漂移,然后再通过30Hz低通滤波器去除心电信号频率之外的高频干扰,输出用于后续处理的滤波后的长程心电监测数据。
步骤140,对滤波后的长程心电监测数据按照预设时长顺序进行数据片段截取,得到多个预设时长的数据片段;
其中,每个数据片段包括多个QRS波群信号。
优选的,为了更加合理的处理边界情况,对滤波后的长程心电监测数据从数据起始点开始,按照设定步进间隔,依次顺序截取预设时长的数据片段;其中,设定步进间隔小于预设时长。
例如预设时长选取10s,设定步进间隔为9s。也就是说,每个10s的片段都会有重叠部分。比如重叠为1秒。即第一个片段为0-10s,第二个片段为9-19s,第三个片段为18-28s,以此类推。
步骤150,根据每个数据片段包括的QRS波群信号的心搏分类信息,确定数据片段中QRS波群数据的心搏类型是否都是窦性心搏;
如果是,执行步骤160,如果不是,则执行步骤190,将一个数据片段中全部信号幅值都置为0。
步骤160,根据QRS波群信号的位置信息,将每个窦性心搏的QRS波群数据的起始位置到终止位置的信号幅值置为0,并通过边缘差值算法进行边缘数据平滑处理,得到含有P波信号和T波信号的待处理片段数据;
也就是说,判断每个10s片段中的QRS波的类型,将心搏类型不是窦性心搏的心电信号片段全部置零,也就是只要10s片段中存在任一不是窦性的心搏,就将整个将片段的心搏信号的幅值置为0,只保留全部为窦性心搏的心电信号片段。
为了避免出现阶跃信号造成后续滤波出现较大的数据扰动,在本例中通过边缘差值算法进行边缘数据平滑处理。
以QRS波的起始位置作为一个边界位置的终点,以该边界位置向前0.03s的位置为起点,对该边界位置的起点到终点间的信号幅值进行线性差值;以及
以QRS波的终止位置作为另一个边界位置的起点,以该边界位置向后0.03s的位置为终点,对该边界位置的起点到终点间的信号幅值进行线性差值。
这样就避免了在边界点处出现前后两个点的斜率发生突变(阶跃)引起后续滤波后的信号不稳定。
步骤170,对待处理片段数据进行T波检测;
具体的,T波检测步骤如图5所示,包括:
步骤171,使用4-20Hz带通滤波器对待处理片段数据进行第一带通滤波处理;
具体的,第一带通滤波处理后,保留了信号中T波频段的成分,如图3所示。图中箭头所指为T波信号。
步骤172,对第一带通滤波后的数据进行小波分解(wavelet transform)并保留低频成分;
其中,小波基为db2,分解层数为2层;
步骤173,将小波分解的得到的低频成分与4-20Hz带通滤波后的数据进行点乘,得到T波特征信号;
步骤174,对T波特征信号进行峰值检测,峰值点的位置为T波波峰位置,峰值点前后的拐点位置为T波的起止点位置。
起止点位置的确定采用动态阈值的方式,具体的起止点位置即拐点计算的方式具体可以如图6所示,以T波峰值点位置为第一初始点,并根据设定规则确定T波前后的第一末端点和第二末端点;
以第一末端点和第一初始点为起止点进行线性拟合处理,得到线性拟合信号,计算每一时刻线性拟合信号与第一初始点到第一末端点间的T波信号的幅值差,确定其中最大幅值差对应的位置为峰值点前的拐点;其中,进行线性拟合处理的过程可以看作是形成图中第一末端点到第一初始点的连线的过程,根据第一末端点到第一初始点间的时间间隔以及两点的幅值按照一维线性关系拟合成两点间的各个时间点对应的赋值,然后计算同一时刻该连线上一个点与第一末端点到第一初始点间的T波信号的幅值差,其中最大幅值差对应的位置为峰值点前的拐点;
以第一初始点和第二末端点为起止点进行线性拟合处理,得到第二线性拟合信号,计算每一时刻第二线性拟合信号与第一初始点到第二末端点间的T波信号的幅值差,确定其中最大幅值差对应的位置为峰值点后的拐点;其中,进行线性拟合处理的过程可以看作是形成图中第一初始点到第二末端点的连线的过程,方法同上所述,然后计算同一时刻该连线上一个点与第一初始点到第二末端点间的T波信号的幅值差,其中最大幅值差对应的位置为峰值点后的拐点;
峰值点前后的拐点位置即为T波的起止点位置。
优选的,以T波前0.2s的位置为第一末端点;
如果T波峰值点至T波后第一个QRS波的起始位置对应的时间间隔不小于0.2s,以T波后第一个QRS波的起始位置前0.2s的位置为第二末端点;
如果T波峰值点至T波后第一个QRS波的起始位置对应的时间间隔小于0.2s,以T波后第一个QRS波的起始位置前0.2s的位置和T波后0.2s的位置的中点为所述第二末端点。
步骤180,对待处理片段数据进行P波检测;
具体的,P波检测步骤如图7所示,包括:
步骤181,根据所得的T波的起止点位置,对含有P波信号和T波信号的待处理片段数据进行T波数据置0处理,得到含有P波信号的待处理片段数据;
具体的,将含有P波信号和T波信号的待处理数据片段中,T波的起止点位置之间的信号幅值置为0;所得信号波形如图4所示。
采用边缘差值算法对T波的起止点位置之间的信号幅值置为0后得到的数据片段进行数据平滑处理。
具体的,数据平滑处理可以是:
以T波的起始位置作为第一边界位置的终点,以第一边界位置向前0.03s的位置为起点,对第一边界位置的起点到终点间的信号幅值进行线性差值;以及
以T波的终止位置作为第二边界位置的起点,以第二边界位置向后0.03s的位置为终点,对第二边界位置的起点到终点间的信号幅值进行线性差值。
步骤182,使用7-20Hz带通滤波器对含有P波信号的待处理片段数据进行第二带通滤波处理;
步骤183,将第二带通滤波后的数据与含有P波信号和T波信号的待处理片段数据进行点乘,得到P波特征信号;
步骤184,对P波特征信号进行峰值检测,峰值点的位置为P波波峰位置,峰值点前后的拐点位置为P波的起止点位置。
起止点位置的确定采用动态阈值的方式,具体的起止点位置即拐点计算的方式具体可以如图8所示,以P波峰值点位置为第二初始点,并根据设定规则确定P波前后的第三末端点和第四末端点;
以第三末端点和第二初始点为起止点进行线性拟合处理,得到第三线性拟合信号,计算每一时刻第三线性拟合信号与第三末端点到第二初始点间的T波信号的幅值差,确定其中最大幅值差对应的位置为峰值点后的拐点;其中,进行线性拟合处理的过程可以看作是形成图中第三末端点到第二初始点的连线的过程,方法同上所述,然后计算同一时刻该连线上一个点与第二初始点到第三末端点间的T波信号的幅值差,其中最大幅值差对应的位置为峰值点前的拐点;
以第二初始点和第四末端点为起止点进行线性拟合处理,得到第四线性拟合信号,计算每一时刻第四线性拟合信号与第二初始点到第四末端点间的T波信号的幅值差,确定其中最大幅值差对应的位置为峰值点后的拐点;其中,进行线性拟合处理的过程可以看作是形成图中第二初始点到第四末端点的连线的过程,方法同上所述,然后计算同一时刻该连线上一个点到第四末端点间的P波信号的幅值差,其中最大幅值差对应的位置为峰值点后的拐点;
峰值点前后的拐点位置即为P波的起止点位置。
优选的,以P波后0.2s的位置为第四末端点;
如果P波峰值点至P波前第一个QRS波的终止位置对应的时间间隔不小于0.2s,以P波前第一个QRS波的终止位置后0.2s的位置为第三末端点;
如果P波峰值点至P波前第一个QRS波的终止位置对应的时间间隔小于0.2s,以P波前第一个QRS波的终止位置前0.2s的位置和P波前0.2s的位置的中点为第三末端点。
此外,对于双导联的心电监测数据为输入的长程心电监测数据的情况,对于P波的检测可以进一步的采用更加优化的处理方式,即在对含有P波信号和T波信号的待处理片段数据进行T波数据置0处理之后,将两个导联各自的进行T波数据置0处理的数据进行归并排序得到一个含有P波信号的叠加片段;然后结合长程心电监测数据对于叠加片段进行P波位置融合,得到所述含有P波信号的待处理片段数据,再执行步骤182-184的方法。
这里所说的归并排序,就是将两个导联各自的进行T波数据置0处理的数据,即P波信号的P波位置的数组放到同一个数组中进行排序,这个数组中包含两个导联的P波位置信息。
而P波位置融合,是将处在两个QRS波之间的处于60ms以内的两个或多个P波融合为一个,
通过这个过程,实现了双导联情况下P波的优化定位,使得P波的检测更加准确。
本发明实施例提供的用于心电信号中P波和T波的检测方法,基于小波变换以及动态阈值的方法,较为准确的定位了T波的峰值位置以及宽度,提高了T波检测的准确率,并同时实现了P波检测准确率的提高,对于心电分析提供了有效和准确的数据保障。
图9为本发明实施例提供的一种设备结构示意图,该设备包括:处理器和存储器。存储器可通过总线与处理器连接。存储器可以是非易失存储器,例如硬盘驱动器和闪存,存储器中存储有软件程序和设备驱动程序。软件程序能够执行本发明实施例提供的上述方法的各种功能;设备驱动程序可以是网络和接口驱动程序。处理器用于执行软件程序,该软件程序被执行时,能够实现本发明实施例提供的方法。
需要说明的是,本发明实施例还提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,能够实现本发明实施例提供的方法。
本发明实施例还提供了一种包含指令的计算机程序产品。当该计算机程序产品在计算机上运行时,使得处理器执行上述方法。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。