APP下载

基于CEEMD的心音信号小波包去噪算法研究

2019-05-27董利超郭兴明郑伊能

振动与冲击 2019年9期
关键词:心音波包小波

董利超,郭兴明,郑伊能

(重庆大学 生物工程学院 重庆市医疗电子工程技术研究中心,重庆 400044)

心音中含有关于心脏各部分及大血管功能状态的大量生理及病理信息,在心血管疾病的临床诊断中具有重要价值[1]。由于心音信号极其微弱,而在采集过程中不可避免地会引入各种噪声。环境噪声等外部干扰可在安静室内采集而避免,或利用普通滤波器即可去除,而普遍存在于采集设备与传输装置中以热噪声和散弹噪声为主的高斯白噪声却很难得到滤除[2],极大影响信号后续分析。Zeng等[3]的研究表明高斯白噪声能够反映实际信道中的噪声情况,代表了心音中所含噪声的特性。因此去除干扰最大的高斯白噪声是进行后续心音信号分析及处理的前提,去噪效果直接影响分析结果的有效性和准确性。传统心音信号去噪方法主要有小波阈值去噪、经验模式分解(Empirical Mode Decomposition,EMD)去噪等。基于小波的去噪算法[4-5]利用小波的时频局域化特性,在心音去噪方面取得了良好的效果,但存在参数选择困难的问题。在较高信噪比下,性能较优;但在较低信噪比下由于阈值较大,此时,会将信号部分的小波系数视为噪声,误剔除,影响去噪性能。EMD去噪算法[6]具有自适应分解,去噪简单等特性,但它是一种粗糙的去噪算法,直接舍去前几阶固有模态函数(Intrinsic Mode Function,IMF)分量只对其余分量进行重构会导致高频特征参数的丢失;陈新华等[7]所提出的基于EMD的小波去噪算法,结合二者的优点,利用小波变换对前几阶IMF分量进行小波阈值去噪来提取信号的高频特征参数,一定程度上改善了去噪效果。但此方法存在的一个问题是,对于要做去噪处理的IMF分量范围缺少客观的界定标准,人为主观界定使处理过程存在很大的不确定性,无法保证不同类型心音信号或不同噪声水平下的去噪效果的一致,算法鲁棒性较差。另外小波变换用于提取高频信息的效果受其在低信噪比条件下易去噪过度的限制,不如小波包更有优势[8]。加上EMD算法本身存在的模态混叠问题[9],影响了此算法用于心音信号的去噪效果。

为有效从含噪心音中提取有用的心音信息,针对心音信号宽频特性以及噪声成分与心音信号频谱存在部分重叠,若采用传统心音去噪方法,去除噪声的同时,也去除了大量高频有用信号,造成信号失真的问题,在此基础上的改进算法去噪效果有一定的改善,但由于无法准确界定模态分量范围依旧影响去噪效果。本文提出了一种基于互补总体经验模式分解(Complementary Ensemble Empirical Mode Decomposition,CEEMD)的心音信号小波包去噪算法,利用CEEMD对信号的自适应分解特性,避免了小波分解面临的参数选择问题,同时也克服了EMD分解存在的模态混叠,并利用自相关函数的特性准确界定去噪范围,最后利用小波包变换在高频部分具有的多分辨率特性,在去除噪声的同时最大限度地提取高频分量中的有用成分,并将其与剩余低频分量重构得到去噪后心音信号。实验结果表明,经本文算法滤波后的含噪心音信号,不仅噪声得到有效滤除,而且有效保留了高频有用信号,同时算法的鲁棒性也得到改善,有利于大量数据的准确处理,为心音信号的临床分析奠定了良好的基础。

1 基本理论和方法

1.1 CEEMD算法理论

CEEMD是基于EMD和总体经验模式分解(Ensemble Empirical Mode Decomposition,EEMD)提出的一种改进算法。EMD算法由美国国家宇航局的Huang[10]提出,该算法假设一个信号由多个模态组成,一个模态描述一个单一的震动状态。任意一个复杂的时间序列经EMD分解为一系列不同频率尺度上的固有模态函数(IMF)之和,每一阶IMF都反映原始信号的动态特性。IMF分量必须满足两个条件:①其极点数和零点数相同或最多相差一个;②其上下包络线关于时间轴局部对称。

假设输入信号为x(t),具体的EMD分解步骤如下:

步骤1 求得x(t)的所有极值点,极大值序列包络为emax(t),极小值包络为emin(t);

步骤3 用x(t)减去均值包络m0(t),得到差值h1(t),即h1(t)=x(t)-m0(t);

步骤4 以h1(t)代替x(t),重复上述过程,直到h1(t)符合固有模态函数条件a)和b),则将其作为第一个IMF分量,记作imf1(t)=h1(t);

步骤5 计算残差部分r1(t)=x(t)-imf1(t),将r1(t)作为一个新的信号x(t)来处理,再重复以上步骤,可得到其他IMF分量imf2(t),imf3(t),…,imfn(t)直到残差rn(t)是一个常数或单调函数或只有一个极值的函数,则分解结束。经过EMD方法分解后,原始信号x(t)可表示为IMF分量与残差之和

(1)

式中:n为IMF分量个数;rn(t)为信号的残差,代表信号的平均趋势。

从上述流程可以看出,EMD是一种更具适应性的时频局部化分析方法,较依赖于先验函数基的小波分析方法更适合于处理非线性、非平稳信号[11]。但正是因为其自适应性,缺乏约束条件,使其存在一定缺陷,这种缺陷称为“模态混叠”。即不同频率尺度的信号存在于同一个IMF分量中,或是相似频率尺度的信号出现在不同的IMF分量中,其结果会导致频谱计算错误。

针对EMD方法的不足,Wu等[12]提出以噪声辅助来解决模态混叠问题的EEMD数据分析方法。EEMD把白噪声加到待分解的信号中,利用白噪声频谱的均匀分布特性,使混入白噪声的信号在不同时间尺度上具有连续性,从而有效的解决了模态混叠问题。原始信号加入白噪声后,每次 EMD 得到的各 IMF 分量都混入了特定尺度下的噪声成分,因此需要经过上百次的EMD分解才能抑制或者完全消除噪声的影响,所以其分解效率较低,影响了它在实际中的应用。Yeh等在EEMD的基础上提出了CEEMD方法,采用正负成对的形式加入辅助噪声,这样很好地消除了重构信号中的残余辅助噪声,而且加入的噪声集合次数可以很低,计算效率较高。

CEEMD包括以下几个步骤:

步骤1 在原信号中以正负成对的形式加入n组辅助白噪声,从而生成两套集合IMF

(2)

式中:x(t)为原始信号;n(t)为辅助噪声,其幅值可选择0.2倍~0.5倍原始信号的标准差或者可随噪声的强度而适当调整增大;m1,m2分别为加入正负成对噪声后的信号。从而集合信号个数为2n个;

步骤2 对集合中的每一个信号做EMD分解,每个信号得到一系列的IMF分量,其中第i个信号的第j个IMF分量为imfij(t);

步骤3 然后对多组分量组合的方式求均值

(3)

其中,imfj(t)是信号经CEEMD分解后得到的第j个IMF分量。

该方法保证了信号分解的完备性,可以较好的解决模态混叠效应,且计算效率得到极大的提高。

1.2 小波包理论

小波包分析是在小波分析的基础上提出来的一种时频联合局部化分析方法。与小波分析相比,小波包分析能够为信号提供一种更加精细的分析方法,在处理信号时,它将信号的频带进行多层次划分,对小波分析没有细分的高频部分进一步分解,并能够根据被分析信号的特征,自适应地选择频带,使之与信号的频谱相匹配,更适合于分析非平稳的信号[13]。

在数学上,一个小波包由一组线性组合的小波函数构成,它可以由下面的递归关系表示

(4)

(5)

其中φ0(t)=∅(t)为尺度函数,φ1(t)=φ(t)为小波函数,h(n)和g(n)代表一对与尺度函数和小波函数相关的共轭镜像滤波器组系数,且满足公式g(n)=(-1)nh(1-n),即两系数也有正交关系。每一次分解,共轭镜像滤波器组就把输入离散信号分解成一个低频的粗略逼近和一个高频的细节部分。根据小波包理论,信号可分解为

(6)

(7)

这里xj,k(t)表示小波包分解中第j层,第k个子空间的小波包系数,m为该子空间小波包系数的个数,信号x(t)可用下式表示

(8)

1.3 基于CEEMD的心音信号小波包去噪

由上述CEEMD基本理论可知,经CEEMD分解后,信号可以被分为n阶IMF分量,其分解过程可以看成是信号的自适应滤波过程,所得阶数小的IMF对应于高频,一般是含有噪声的噪声模态函数;阶数大的IMF对应于低频,一般认为含有噪声很少,为信号占主导的信号模态函数。对于含有噪声的信号,其信号的能量大部分集中在阶数相对较大的IMF分量处,即低频段。阶数越小,对应频率越高,集中的能量会越少。因此,会存在一个分界点k,使得IMF1~IMFk为噪声主导模态分量,k之后的IMF为信号主导模态分量。通过相关分析确定k值,对k+1阶到n阶IMF分量进行重构,就可以得到去噪后信号。

但在实际应用中,由于心音信号的宽频特性,噪声与信号的频带会存在交叠现象。对图1所示一例正常S2分裂心音利用上述CEEMD算法进行分解,从图2可以看出,前3阶IMF分量主要含高频噪声,但同时也包含少量有用心音信号,属于噪声主导模态分量。而心音信号所处的几个主要分量中也含有不同程度的噪声干扰,属于混叠模态分量。因此分界点k就等于噪声主导模态分量与混叠模态分量个数之和。另外,心音信号中可能包含许多尖峰和突变,而且能够表征心音病变的心脏杂音也往往是类似于白噪声的高频分量。高频杂音不同于噪音,它来自心壁、血管壁的振动,不同性质的杂音反映不同的心脏病变情况,是诊断心脏疾病的重要依据[14]。为了在去除噪声的同时,有效保留心音信号高频特征参数,在确定k值后对前k阶IMF分量进行小波包去噪,将去噪后各分量与其余低频分量重构得到去噪后信号。

图1 正常S2分裂心音Fig.1 A normal S2 split heart sound

由于不同信号经CEEMD分解后所得IMF分量个数不同,且分界点k随信号含噪水平升高而增大,即不存在普遍适用的分界点,因此如何界定不同信号的k值成为CEEMD用于去噪研究中的一个难点,现有界定方法一般为主观判定及互相关系数法[15]两种方式,前者缺乏客观标准,后者易将低频分量作为噪声舍弃,都易导致去噪过度。

为了确定小波包去噪的范围,本文通过自相关分析法确定噪声模态分量和信号模态分量的分界点k,这种方法的根据是高斯白噪声和心音信号它们的IMF分量的自相关函数表现不一样。假定x(t)为随机信号,则其自相关函数定义为

图2 CEEMD分解的前12层Fig.2 The first 12 IMFs of CEEMD

Rx(t1,t2)=E[x(t1)x(t2)]

(9)

为了使心音信号和高斯白噪声的相关程度准确表示,本文采用归一化自相关函数,即

(10)

通过大量的研究,Chen等[16]发现了白噪声在经验模态分解算法下的统计特性:白噪声信号经经验模式分解得到的所有本征模态函数都符合正态分布。由高斯白噪声这一正态随机过程本身所具有的不相关性可知,噪声信号经经验模式分解后所有本征模态函数在任意n个不同时刻都相互独立,这也就意味着

(11)

即高斯白噪声自相关函数表现为在零点数值最大,其它点处约等于零。

图3所示为一例强度为5 dbW的高斯白噪声及其经CEEMD分解后一阶本征模态函数的自相关函数图;而心音信号的自相关函数表现为在零点取极大值,其余时刻都是向两侧重复原信号特征的同时有衰减、振荡。

图3 白噪声及其IMF自相关函数Fig.3 WGN and the autocorrelation function of its IMF

由此,将心音信号所在主分量的自相关函数脉宽作为判断标准,小于此脉宽的的分量为噪声主导模态分量,符合振荡衰减条件的为有效信号模态分量,其余为混叠模态分量。由图4中IMF分量的自相关函数图可以看出,第一阶到第三阶的IMF分量是噪声主导模态分量,第四阶到第七阶的IMF分量中,噪声和心音信号发生重叠,为混叠模态分量,其余为有效信号模态分量。由此确定此信号模态分量与噪声模态分量的分界点k为7,即需要进行去噪处理的范围为前7阶IMF分量。

图4 各阶IMF自相关函数Fig.4 The autocorrelation function of each IMF

为了进一步提取出前7阶模态分量中的有用心音信号,本文利用小波包变换对前7阶IMF分量进行小波包分解降噪。利用小波包变换进行信号分解时,它可以有效的对高频信息部分继续进行再分解,对各IMF分量作小波包变换,对各小波包系数进行阈值操作以及重构,这样可以有效去除各IMF分量中的噪声实现信噪分离。在对各节点系数进行阈值去噪时,主要有硬阈值和软阈值两种方式,硬阈值去噪可以使噪声几乎完全得到抑制,并且可以保留信号的特征尖点和峰值点,而软阈值去噪法可实现最优估计,保证去噪后的重建信号与源信号有同样的平滑,并且不会产生附加震荡。文中采用基于软阈值的小波包变换的方法对各IMF分量信号进行去噪,阈值函数表达式为

(12)

通过计算香浓熵选取“sym6”为最优基,对需要去噪的各阶IMF分量分别采用上述方法和小波阈值法去噪,图5为IMF3的去噪结果。对于噪声主导模态分量IMF3,相较于小波阈值去噪,采用小波包阈值去噪后更有效的保留了IMF3中所含有用高频信号;对于混叠模态分量,采用小波包去噪效果同样优于小波去噪。由此可以看出对前7阶IMF分量采用小波阈值去噪效果不是很理想,尤其在对前3阶噪声主导模态分量提取高频信息时无法实现较好的信噪分离,这与小波本身处理低信噪比效果差有关。对比可知,本文采取小波包阈值法对前k阶IMF分量进行滤波,不仅去噪效果更优,同时也较好的保留了信号的高频特征参数。

图5 IMF3及其去噪结果Fig.5 IMF3 and its denoising results

综上,本文提出的基于CEEMD的心音信号小波包去噪算法流程图如图6所示。

图6 心音去噪算法流程图Fig.6 The flow chart of heart sound denoising algorithm

2 结果与讨论

2.1 实验结果

本文中使用的心音样本由“运动心力检测仪”(ECCM,专利号01256971.2,第一代产品注册证号:渝药管械(试)字99第220007)在重庆医科大学附属医院进行采集,采样频率是11 025 Hz,量化值为8 bit。经测试者同意,要求测试者平躺,在其平静状态下进行录制。异常心音均采集经专家确诊的单一性病例。

采用四种不同去噪算法对图1心音信号进行去噪,来对比不同算法的去噪效果。算法一,采用经验模式分解法对心音进行去噪;算法二,采用小波软阈值法对心音进行去噪;算法三,采用CEEMD联合小波算法对心音进行去噪;算法四,采用本文改进算法对心音进行去噪。结果如图7所示。

(a)原始信号

(b)EMD去噪

(c)小波阈值去噪

(d)CEEMD联合小波去噪

(e)CEEMD联合小波包去噪

图7(b)为EMD去噪结果,可以看出心音信号中还保留了大量噪声,并且第二心音分裂不易看出,存在严重的信号失真。图7(c)为小波软阈值去噪结果,由图可见噪声去除效果良好,但同时损失了部分第二心音,同样导致第二心音分裂不易看出。由此可见小波阈值去噪取得良好噪声去除效果必然伴随高频能量的损失。图7(d)为CEEMD联合小波阈值法的去噪结果,可见其噪声去除效果较好,但第二心音存在一定程度的能量损失。图7(e)为采用本文算法的去噪结果,该方法去噪明显提高,而且能够清晰地看出第二心音分裂,可见改进的去噪算法可以弥补小波阈值去噪适应性不足的问题,并能很好地保留心音信号的高频特征参数。

同样采用上述四种不同方法对图8(a)所示一例二尖瓣关闭不全(MI)心音进行去噪,由图8可以看出EMD去噪效果粗糙,且高频心杂音几乎全被去除;小波阈值去噪法在保留高频心杂音的同时不可避免地保留了一部分噪声;CEEMD结合小波去噪效果好,但同时也损失了部分高频心杂音以及S3成分;利用本文算法去噪后,信号中高频噪音全部去除,同时保留了第一心音和第二心音之间的有用高频心杂音。

(a)原始信号

(b)EMD去噪

(c)小波阈值去噪

(d)CEEMD联合小波去噪

(e)CEEMD联合小波包去噪

真实采集过程中不可避免的会引入少量环境噪声,经分解后较多分布于高频分量中,但其所占比例远小于分量中所含高斯白噪声,因此仍可以准确界定分界点k。且由以上实验结果可以得出,小波阈值去噪存在参数选择困难,易造成图7(c)中去噪不完全的情况或图8(c)中去噪过度的情况。本文采用小波包去噪克服了小波的这种局限性,既能有效去除心音信号中的噪声,同时也保留了高频细节参数。

2.2 去噪性能分析

本文选择二尖瓣狭窄(Mitral Stenosis,MS)、二尖瓣关闭不全(Mitral Insufficiency,MI)和主动脉瓣关闭不全(Aortic Insufficiency,AI)三类病理性心音作为实验对象。

为了对比不同噪声水平下四种去噪方法对心音信号的去噪性能,采用一些客观准则作为主要标准来评估重构信号的质量,通常采用的是原始信号数据和重构信号数据之间的信噪比(SNR)和均方根误差(RMSE)。向纯净心音样本(20例NHS,10例MS,10例MI,10例AI)中分别叠加不同信噪比的高斯白噪声,模拟在不同噪声水平下的含噪心音信号。用SNR、RMSE来衡量上述四种去噪算法的性能,结果如表1和图9所示。

由表1知,在不同噪声水平下,本文算法均能有效提高含噪心音的信噪比,且采用本文改进算法去噪后的心音信号的信噪比均高于其它三种算法。EMD去噪算法直接舍去高频分量,损失了大量有用的心音信息,导致去噪后心音信噪比低。小波去噪算法在去噪的同时,无法从噪声中充分提取心音成分,损失了部分有用的高频信息,使得去噪后心音信噪比较低。虽然在低噪声水平下,CEEMD联合小波阈值去噪与本文算法去噪所得信噪比相差不大,但随着噪声水平的提高,本文算法去噪所得信噪比明显高于前者,即本文算法在强噪声条件下也能够获得良好的去噪效果,自适应性更好。

表1 不同噪声强度下四种去噪方法SNR值Tab.1 The SNR value of heart sound in different noise intensities using four different methods

由图9可知,随着噪声水平的提高,本文算法所得RMSE也逐渐增大。图中横坐标代表噪声与原信号的电压幅值比,噪声水平0.1~1对应信噪比为20~0 dB。而RMSE值的大小代表去噪后信号原始纯净信号之间的误差程度。噪声强度较低时,RMSE值较小,说明去噪后信号与原始纯净信号的吻合程度高,去噪效果好;而在噪声强度较高时(如SNR为5时),去噪后信号的RMSE达到0.030 6,说明去噪后信号与原始纯净信号之间误差程度增大。但对比其它三种算法的结果可知,在不同噪声强度下,本文算法所得RMSE值均低于其它三种算法,说明本文算法在去除噪声的同时,更好地保留了信号的有用成分。尤其在高噪声水平下,本文算法所得RMSE远低于其它三种算法,可知本文算法良好的适应性,在强噪声条件下仍能获得良好的去噪效果。

图9 四种去噪方法对心音信号去噪的均方根误差Fig.9 The RMSE curve of 4 denoising methods for heart sound

3 结 论

针对传统心音去噪算法的不足,本文将互补总体经验模式分解与小波包变换相结合运用到心音信号去噪预处理中。实验结果表明,这种方法非常适合心音信号。一方面,互补总体经验模式分解对信号具有自适应分解特性,摆脱了传统小波去噪算法参数选择困难的问题,同时克服了模态混叠的缺陷。另一方面,信号分解后所得的模态分量,通过自相关函数分析可以准确界定噪声分布范围,再利用小波包变换具有的多分辨率特性,有针对性的提取心音信号中的高频信息,虽然每例信号都必须根据分析结果再做进一步处理,存在不便,但相较于现有方法,可避免人为主观因素造成的去噪过度,提高了去噪处理的准确性和一致性。由此,针对传统心音去噪算法易将高频有用信号作为噪声去除,本文提出的基于互补总体经验模式分解的小波包去噪算法可有效滤除心音信号中的噪声,自适应性强,且极大程度地保留了信号自身的高频细节特征,避免了能量损失和信号失真的问题,对正常和各类异常心音信号处理,都获得了良好的信噪分离效果,为心音信号的后续分析处理奠定扎实基础。

猜你喜欢

心音波包小波
基于多小波变换和奇异值分解的声发射信号降噪方法
基于小波包的电力网冲击接地电阻系统分析*
构造Daubechies小波的一些注记
基于支持向量机和小波包变换的EOG信号睡眠分期
基于小波包分解和K最近邻算法的轴承故障诊断方法
基于MATLAB的小波降噪研究
基于双阈值的心音快速分段算法及其应用研究
双声道心音能量熵比的提取与识别研究
基于改进的G-SVS LMS 与冗余提升小波的滚动轴承故障诊断
基于香农熵的心音信号检测方法研究