APP下载

基于STMHT算法的心音分割研究

2021-01-11孙树平吴越黄婷婷张弼强杜小玉何沛光杨文博

中国医学物理学杂志 2020年12期

孙树平,吴越,黄婷婷,张弼强,杜小玉,何沛光,杨文博

南阳理工学院,河南南阳473000

前言

近年来心血管疾病的患病率和死亡率均呈现持续增长的趋势,根据《中国心血管报告2018》[1],2016年中国居民因心血管疾病死亡人数在全部因疾病死亡人数中占有很大比重,依据心血管疾病患病率持续上升的趋势,推测我国现有2.9 亿患者,其中心脏病占有很大比重。因此,利用现代信息处理方式诊断心脏病是医学研究的重要领域之一[2]。目前,心脏疾病的诊断方法包括无创性技术[3](心电图、胸透、心音听诊、超声成像和多普勒技术)和有创性技术(血管造影、经血管造影和超声心动图)。在这些方法中,心音听诊是一种无创、经济、简便、高效的方法[4],广泛应用于医疗过程中心脏疾病的诊断和心脏功能的评估中。

国际上,法国医生Laennec 发明的简易听诊器是最早利用心音听诊诊断心脏功能的方法。但此方法易因地域、知识储备程度不同而产生差异,且依赖于主观能动性,使听诊不能十分精确。而我国对心音信号的研究始于20 世纪90年代初,1922年由翁剑岭、华蕴博[5]对心音在临床上的应用做出相关研究,对心音的产生、时频分析等做出综述。1993年姬军等[6]利用Burg 算法对心音信号进行分析,最终实现心音信号的功率谱分析。因此,使用计算机进行信号分析将会使诊断精确度大大提升,同时也能减轻医生的负担。

而国内外对心音分割的研究主要归纳为以下3类:(1)参考心电图[7],虽然此方法可以将心音分割过程很好地体现出来[8],可有时却有不便,例如在给婴儿体检时,由于婴儿躯干空间有限加上检查不配合,此时导线的放置就会变得十分困难。此外,在患有左心室或右心室肥厚的儿童中,心脏轴偏差会导致心电信号异常,这使得心音分割变得更复杂[9];(2)基于频率的分割算法[6],此方法借助于频域分析,首先根据时域特征提取某些频率分量,并且通过给定阈值范围内使用时域搜索方法确定每个周期的起点和终点。然而,在这种方法中,阈值的选择和意外噪声的过滤仍然是难以解决的问题,并且很少有研究提到这个问题;(3)基于包络的分割方法[10]。有研究报道,与传统的香农包络和希尔伯特包络算法相比,心音特征波形的算法能提供足够的性能,以上算法可以手动及自动选择方式中估计心音分割[11]。然而,在该方法中,阈值的选择和意外噪声的滤波仍然是难题。

本研究是基于短时修正希尔伯特变换算法(简称STMHT)的心音分割研究。其内容结构如下:首先利用小波分解对心音信号进行预处理;其次通过Viola积分法提取出其中的信号包络;最后用STMHT算法自动定位和提取第一心音(S1)和第一心音(S2)。此算法能快速准确提取心音信号,有效避免主观能动性,为心音分析提供良好的辅助手段。

1 方法

1.1 心音采集

本研究使用3M-3200 电子听诊器实现采集心音信号的工作,3M-3200 电子听诊器的功率参数如表1所示,图1为心音信号采集样本图。

表1 3M-3200电子听诊器功率参数Tab.1 Power parameters of 3M-3200 electronic stethoscope

1.2 小波分解

图1 心音信号样本图Fig.1 Signal sample of heart sound

心音信号在采样频率为FS= 44.1 kHz下以16位深度进行数据采集得到ST。经研究报道,心音信号主要分布在20~700 Hz 的频率范围内[12]。在通过小波分解方法对信号ST进行预处理,保留21.5~689.0 Hz的频率分量。由于用dB10小波为母小波过滤心音信号具有优势[13],因此,本文中也使用dB10小波为母小波。在下面的分析中,提取心音包络时滤波和归一化信号将用XT表示。

1.3 包络的提取

提取心音包络的过程中,常常受到意外噪音的影响,而基于Viola 积分法提取心音包络ET[14]如图2所示,可以减小复杂背景和噪声影响,并对振幅变化有效。方法叙述如下:

以小波分解预处理的数据序列XT[m]为信号ST[m],m= 0, 1,…, M - 1,其中,M表示ST的个数,LT的邻域m称为宽度LT的时间尺度,通过式(1)获得M点包络ET[m],由式(1)可得出式(2):

S1或S2的持续时间大于0.1 s[10,15],因此本文设定LT= 0.5× 0.1× FS= 2 205。最后,通过将ET的最大振幅设置为1来应用归一化。

1.4 基于STMHT算法的心音定位和提取

1.4.1 STMHT 算法STMHT 算法[16]能够自动定位心音的分割点和峰值点,从而提取S1和S2。叙述如下:

对于M 点离散时间ET[m](m= 0, 1, 2,…,M-1),假设窗口的数量WN[l]( = -(N- 1)/2,-(N-2)/2 + 1,…,(N- 1)/2)是奇数。我们用窗口离散时间序列WN[m-n]ET[m]代替N点离散时间序列XN,n[i],即为式(3):

图2 心音信号包络提取Fig.2 Envelope extraction of heart sound

其中

因此,使用心音编程方法求解虽然很简单,但心音编程方法[17]是通过一次离散傅里叶变换(DFT)计算、一次序列重排计算和一次逆DFT 计算得到的,计算成本过高。然而,通过利用离散时间分析信号计算程序,能够更好地计算[n],计算程序如下:

通过N点逆DFT 计算XN,n、ZN,n的N点离散时间分析信号如式(7)所示:

其中,是N点离散时间序列ZN,n的DFT,式(8):

其中,是N点离散时间序列XN,n的DFT,由式(9)给出:

基于方程式(12)~式(14),ZN,n在(N-1)/2,[(N- 1)/2]处的部分图像[18]为心音,由式(10):

因此,[(N- 1)/2]相当于式(11):

其中,WE是一个等效的窗口,则可得式(12):

因此,由式(12)计算[n]为式(13):

其中,n=(N- 1)/2,(N- 1 )2 + 1,…,(M- 1 )-(N-1)/2。[n]的计算仅需要一次乘法运算,故该计算必须有更高的运算速率。

图3中,S1包络的负-正点(NPP)P1,为S1的峰值,S2包络的负-正点P2,为S2的峰值,T12是从S1到S2的瞬间分割点,T21是从S2到S1的瞬间分割点。

1.4.2 S1和S2的自动提取综上所述,的NPP 基本对应于P1或P2,的PNP 基本对应于T12或T21。因此,中发现NPP 和PNP 的问题得到了初步解决。检测出包络中的PNP 与NPP,通过PNP、NPP 确定第一心音、第二心音的峰值,心音分割点。为了检测NPP 和PNP,首先的符号函数,对应于如下式(14)所示:

图3 P1、P2、T12、T21的发现Fig.3 The discovery of P1,P2,T12,T21

最后,NPP和PNP位于如式(16)所示:

因此,对于ET上S1可以分离S2的情况,可以通过识别NPP来定位图4b 中的P1、P2、T12和T21。ET的PNP 和NPP 如图4d 所示。因此,所提方法的性能评估方法总结如下:(1)在ET中,对于S1分离S2的情况,检测ET中P1和P2是否为S1和S2上的实际峰值,T12是否为S1到S2的实际分段点;(2)在ET中,对于S1不能分离S2的情况,检测ET中P12是否为S1和S2的实际峰值。

2 实验与分析

2.1 指标评估

对于S1不能与S2分离的情况,S1和S2上的峰值被正确检测到的情况为真实峰值(TP12)。在STMHT算法中,S1和S2的峰值丢失时为丢失的峰值(MP12),S1和S2产生假峰值(FP12)时,则检测出真实心动周期(TCC)是正确的,且此时未正确检测到心动周期[19]的情况称为假心动周期(FCC)。因此,峰值的丢失率(MRP12)、峰值的错误率(FRP12)、峰值的准确度(AP12)和心动周期的准确度(ACC)可以通过式(17)方法计算:

根据P1(MRP1)、P2(MRP2)和力矩分割点T12的丢失率MRT12。P1(FRP1)、P2(FRP2)和T12(FRT12)的误差率,P1的准确度为AP1,P2的准确度为AP2,T12的准确度为AT12和心动周期(ACC)的准确度可以通过式(18)计算得出:

图4 心音分割图Fig.4 ECG signal Segmentation

2.2 实验结果

在基于STMHT算法的心音提取的研究中,我们对两例典型心脏病(VSD[16],ASD[20-21])的心音信号首先利用小波分解对其进行预处理,提取出的心音信号再通过Viola波形积分法提取出其中的信号包络,后将此段信号使用STMHT算法对其进行分割,检测出包络中的PNP与NPP,通过PNP、NPP确定第一心音、第二心音的峰值和心音分割点,提取得到S1和S2。此算法可快速分割出符合VSD和ASD的心音特性并准确定位S1、S2峰值和瞬间分割点。其中VSD是一种与左心室和右心室之间血流异常相关的先天性疾病。对于VSD患者在三尖瓣位置听诊时第一心音是正常的,第二心音未分裂,在第三个心音后接着是一个短的菱形舒张期杂音,此杂音充满了所有的收缩。ASD是与左心房和右心房之间血流异常相关的先天性疾病。其第一和第二心音都是分开的,第二心音分裂固定为80 ms。收缩早期有一个短暂的菱形杂音,舒张早期有另一个短暂的菱形杂音。

在收集的异常心音信号和正常心音信号中,本研究对其中30组心音信号分割后进行性能评估分析结果见表2。表2数据表明基于STMHT算法提取心音S1(AP1)峰值、S2(AP2)峰值,从S1到S2(AT12)传输点的平均准确度分别为98.53%、98.31%和98.36%,平均ACC达97.37%。因此,本研究所提出的算法能够快速准确定位并提取心音,是一种具有优良性能的算法。

3 结论

本研究是基于STMHT 算法对心音进行分割,主要分为3个阶段:首先采用小波分解对心音信号进行预处理,保留心音信号的有效成分(21.5~689.0 Hz);其次用Viola 积分波形法提取心音包络;最后,基于STMHT 算法自动定位和提取S1和S2。结果表明:AP1、AP2、AT12传输点的平均精确度分别为98.53%、98.31%、98.36%,此算法能快速准确定位并提取心音,有效避免主观能动性,提高诊断心脏杂音心音信号的能力。本研究后续将继续采用此方法对心音信号进行分类,为诊断心脏病提供有效的保障。

表2 基于STMHT算法的心音提取性能评估表Tab.2 Performance evaluation of heart sound extraction based on STMHT algorithm