一种基于小波去噪心电信号的R峰识别方法与流程

文档序号:15984010发布日期:2018-11-17 00:40阅读:566来源:国知局
技术简介:
本发明针对心电信号去噪与R峰识别难题,提出基于小波变换的去噪方法,结合自适应阈值算法与波峰检测策略,实现R峰的高精度自动识别,提升心电诊断效率与准确性。
关键词:小波去噪,R峰识别

本发明涉及一种基于小波去噪心电信号的r峰识别方法,属于智能医疗技术领域。

背景技术

心电图(electrocardiogram,ecg)是一种通过心电采集设备将心脏起搏产生的电位变化以时间为函数记录下的信号图,是临床诊断心脏是否出现病变的重要依据;因此,对心电信号的分析与识别有十分重要的意义,是研究的重点。

正常健康的人体心电波形图由p波、qrs波群以及t波组成,蕴含心电最主要的特征信息。一个完整心电周期波形中每个特征子波形或间期都有其特定的电生理学含义。如p波起因于心房收缩之前的心房除极时的电位变化;qrs波群起因于心室收缩之前的心室除极时的电位变化;t波为心室复极时的电位变化。

由于心电图具有无创、安全简便等优点,为临床心脏病的诊断提供了极大的方便。传统的诊断方法是患者到医院,医师对其进行心电图检查,进而给出诊断结果,任务繁重且需要医师有丰富的临床经验和专业知识。而稀缺的医疗资源,很难满足数量庞大患者群体的要求。

为了提高就诊效率,方便性和快捷性,出现了自动分析诊断心电技术,辅助医师进行诊断,而对心电信号的处理与准确识别则是自动化诊断的基础。

对心电信号的自动化诊断是非常有意义且又有困难的工作,其过程主要有信号的预处理、特征提取以及诊断。心电信号的预处理是心电分析的基础,是后续工作的前提。近些年,心电信号去噪算法主要有传统的数字滤波方法、改进的自适应滤波器、小波变换等方法;这些算法的基本思想是将信号转换到频域中,在主要频率范围内对信号进行识别,抑制噪声。

特征提取指的是对各种参数进行提取,为诊断提供依据;qrs波、p波、t波、波形起始点以及终点等的准确识别是参数提取的保证。识别检测方法主要有滤波与差分阈值法、神经网络法、斜率阈值法、小波变换等。在ecg中,r波是最明显的特征,确定r波的位置之后,可以以此为基准,寻找其它波形的位置,因此,r波是ecg检测的关键。



技术实现要素:

本发明的目的就在于为了解决上述问题而提供一种基于小波去噪心电信号的r峰识别方法,通过使用小波变换、阈值法以及r峰提取策略等方法,来自动识别r峰,为实现自动化诊断、缓解紧缺的医疗资源、减少医疗资源的浪费、提高就诊效率提供基础。

本发明通过以下技术方案来实现上述目的:一种基于小波去噪心电信号的r峰识别方法,包括以下步骤:

步骤1)获取心电信号;

步骤2)对心电信号用小波变换进行尺度分解;

步骤3)使用软阈值算法去噪;

步骤4)对心电信号进行重构;

步骤5)依据自适应阈值算法,获取所有目标待测点;

步骤6)使用波峰检测策略,获得r峰位置;

步骤7)进行漏检查询;

步骤8)进行误检查询,算法结束。

所述步骤2)对心电信号用小波变换进行尺度分解包括:

a.连续小波变换

设ψ(t)∈l2(r),其傅立叶变换为ψ(ω),如果满足

则ψ(t)为母小波,母小波是小波变换的出发点,通过伸缩和平移得到的小波称为小波基函数ψa,τ(t),即

其中,a是尺度因子,τ是平移因子,是为了保持函数拉伸变形后能量不变;l2(r)指r是平方可积函数构成的函数空间;

函数内积为

定义为f(t)的连续小波变换(continuouswavelettransform,cwt),wtf(a,τ)是变换系数;其等价的频域定义为

b.离散小波变换

离散小波变换(discretewavelettransform,dwt)本质是对a和τ进行离散化,一种经典的离散方式是a0,τ0∈c>0,m,k∈z,带入得

在实际使用过程中,通常设置a0=2,τ0=1;

c.多分辨率分析

多分辨率分析也称多尺度分析,是将信号分解为不同尺度空间和小波空间中的部分;实现函数空间l2(r)中小波的多分辨率分析,需要构造满足如下条件的闭子空间{vj}j∈z,即

(1)一致单调性:

(2)渐进完全性:∩j∈zvj=φ∪j∈zvj=l2(r)

(3)二进伸缩规则性:

(4)平移不变性:

(5)正交基存在性:存在φ(t)∈v0,使得{φ(t-n)}n∈z成为v0的正交基,即且<φ(t-n),φ(t-m)>=δ(n-m),通常称vj为尺度j的尺度空间,φ(t)称为多分辨率分析的尺度函数。

所述步骤2)使用软阈值算法去噪,包括:

利用db4小波来对心电数据进行8层小波分解、去噪:

第1层与第七层细节系数和第8层的近似系数置0,直接去除高频成分与基线漂移;

第3层至第6层采用软阈值算法;最大程度的保留心电信号中的特征成分,减少信号重构时的失真。

步骤5)依据自适应阈值算法,获取所有目标待测点,包括:

获得重构后的心电信号后,依此来求取信号的正负阈值;考虑到个体之间的差异,首先依据采样频率截取10s的数据,将数据等分10段,在各段中分别找到最大值与最小值,取其均值的0.7倍作为查找r波峰值的初始阈值;分别标记为max_th,min_th;

为了提高检测精度,采用一种自适应跟随r波幅值变化的更新策略,分别以0.3与0.7的权重分配给当前阈值及找到的极值点,以此获得下一个阈值;以正峰值为例,更新公式为:

max_th=0.3×max_th+0.7×0.7max_c式中,max_c是找到的当前极值点幅值,通过这种方法来使阈值适应信号的突变。

步骤6)使用波峰检测策略,获得r峰位置,其包括以下过程:

s1~s6是数据点,首先取三个点,计算两相邻数据点之间的距离,分别记为temp1,temp2,如果(temp1<rr_thr)&&(temp2<rr_thr)成立,则说明s1,s2,s3是在同一个包内,如r1包所示;

当取到s4,s5,s6时,s5,s6之间的距离较大,不满足判断条件,即得s6与s1~s5不在同一个包内,该次运算结束,依次类推;

正常情况下同一个包内两点之间的距离为1,而正常人rr间期一般不低于200ms,参数rr_thr设置为30,在s1~s5中,找到的最大值点就是r波峰值点。

步骤7)进行漏检查询,其过程如下:

利用自适应阈值搜索到的序列信息,计算两数据之间的间隔,判断间隔是否超过其平均间隔的1.8倍;平均间隔为10个rr间隔的平均值。

步骤8)误差查询是检测两数据之间的间隔是否满足误检条件,如果满足,则删除该点;以正值为例,分两步:

(1)计算两点间的距离

dis=max_index(i+1)-max_index(i)

(2)判断是否满足误检条件

误检条件为dis<median(rr),满足则删除第i+1个点。

与现有技术相比,本发明利用小波变换对心电信号进行尺度分解,使用加权阈值算法进行去噪,再依据波峰检测策略等方法提取r峰,为实现自动化诊断、缓解紧缺的医疗资源、减少医疗资源的浪费、提高就诊效率提供基础。

附图说明

图1为本发明具体方法流程图;

图2为本发明粒子群算法与其他算法性能对比图;

图3为本发明算法与其他方法设计的滤波器性能比较图;

图4为本发明r波峰检测策略示意图;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如附图1所示,一种基于小波去噪心电信号的r峰识别方法,其特征在于,包括以下步骤:

步骤1)获取心电信号;

步骤2)对心电信号用小波变换进行尺度分解;其包括:

包括:

a.连续小波变换

设ψ(t)∈l2(r),其傅立叶变换为ψ(ω),如果满足

则ψ(t)为母小波,母小波是小波变换的出发点,通过伸缩和平移得到的小波称为小波基函数ψa,τ(t),即

其中,a是尺度因子,τ是平移因子,是为了保持函数拉伸变形后能量不变。l2(r)指r是平方可积函数构成的函数空间;

函数内积为

定义为f(t)的连续小波变换(continuouswavelettransform,cwt),wtf(a,τ)是变换系数;其等价的频域定义为

b.离散小波变换

离散小波变换(discretewavelettransform,dwt)本质是对a和τ进行离散化,一种经典的离散方式是a0,τ0∈c>0,m,k∈z,带入得

在实际使用过程中,通常设置a0=2,τ0=1;

c.多分辨率分析

多分辨率分析也称多尺度分析,是将信号分解为不同尺度空间和小波空间中的部分;实现函数空间l2(r)中小波的多分辨率分析,需要构造满足如下条件的闭子空间{vj}j∈z,即

(1)一致单调性:

(2)渐进完全性:∩j∈zvj=φ∪j∈zvj=l2(r)

(3)二进伸缩规则性:

(4)平移不变性:

(5)正交基存在性:存在φ(t)∈v0,使得{φ(t-n)}n∈z成为v0的正交基,即且<φ(t-n),φ(t-m)>=δ(n-m),通常称vj为尺度j的尺度空间,φ(t)称为多分辨率分析的尺度函数。

步骤3)使用软阈值算法去噪;

心电信号的频率范围是0.05~100hz,而90%的能量集中在0.25~40hz。具体来说,qrs波群频率在3~40hz,p、t波频率在0.7~10hz;

利用db4小波来对心电数据进行8层小波分解、去噪:

第1层与第七层细节系数和第8层的近似系数置0,直接去除高频成分与基线漂移;

第3层至第6层采用软阈值算法;最大程度的保留心电信号中的特征成分,减少信号重构时的失真。

步骤4)对心电信号进行重构;

步骤5)依据自适应阈值算法,获取所有目标待测点;

获得重构后的心电信号后,依此来求取信号的正负阈值;考虑到个体之间的差异,首先依据采样频率截取10s的数据,将数据等分10段,在各段中分别找到最大值与最小值,取其均值的0.7倍作为查找r波峰值的初始阈值;分别标记为max_th,min_th;

为了提高检测精度,采用一种自适应跟随r波幅值变化的更新策略,分别以0.3与0.7的权重分配给当前阈值及找到的极值点,以此获得下一个阈值;以正峰值为例,更新公式为:

max_th=0.3×max_th+0.7×0.7max_c式中,max_c是找到的当前极值点幅值,通过这种方法来使阈值适应信号的突变。

步骤6)使用波峰检测策略,获得r峰位置;

如图4所示:其包括以下过程:

s1~s6是数据点,首先取三个点,计算两相邻数据点之间的距离,分别记为temp1,temp2,如果(temp1<rr_thr)&&(temp2<rr_thr)成立,则说明s1,s2,s3是在同一个包内,如r1包所示;

当取到s4,s5,s6时,s5,s6之间的距离较大,不满足判断条件,即得s6与s1~s5不在同一个包内,该次运算结束,依次类推;

正常情况下同一个包内两点之间的距离为1,而正常人rr间期一般不低于200ms,参数rr_thr设置为30,在s1~s5中,找到的最大值点就是r波峰值点。

步骤7)进行漏检查询;

对r峰进行漏检查询,可以利用自适应阈值搜索到的序列信息,计算两数据之间的间隔,判断间隔是否超过其平均间隔的1.8倍;平均间隔为10个rr间隔的平均值。初始值平均间隔的设置,是依据自适应阈值更新过程中,获得的相邻最大值或最小值之间距离的平均值;为提高准确性、适应性,需要经常更新平均间隔;如果超过,则在该区域进行漏检,漏检阈值设为初始阈值的0.3倍,之后步骤不变。

步骤8)进行误检查询,算法结束:

与漏检类似,误差查询是检测两数据之间的间隔是否满足误检条件,如果满足,则删除该点。以正值为例,分两步:

(1)计算两点间的距离

dis=max_index(i+1)-max_index(i)

(2)判断是否满足误检条件

误检条件为dis<median(rr),满足则删除第i+1个点。

为便于叙述,使用mit-bih数据库中的心电数据,以此数据库的数据作示意性分析介绍。

图2是用db4小波对心电信号进行8尺度分解图。通过8尺度小波分解,可以将有用的信号分量与噪声区别开来,然后用没有噪声的信号分量重构信号,可以达到去噪的目的。

图3是依据本发明方法提取r峰的效果显示图。从图中可以看出,依据本发明方法可以准确识别出心电波形中的r峰,验证了本发明方法的可行性、有效性。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!