徐 利,徐久强,冯家乐
1(东软集团股份有限公司 研究院,沈阳 110179)
2(东北大学 计算机科学与工程学院,沈阳 110819)E-mail:xu-li@neusoft.com
心电信号中包含了大量用于诊断心脏疾病的生理信息.由于体表心电信号是一种弱电信号,在采集过程中易受外界干扰,因此降噪成为心电信号预处理中最重要的一环.小波变换作为一种时频分析方法,是研究非平稳、非线性信号的热点,已有大量基于小波变换的降噪方法被提出[1].但小波存在一定的局限性,如小波基的选取、固定的基函数等会影响基于小波的ECG降噪效果.经验模态分解(Empirical mode decomposition,EMD)[2]是一种完全根据信号特点进行时频分析的方法,利用EMD分解含高斯噪声信号时其作用类似于一组二进滤波器[3].在基于EMD方法的降噪研究方面,Kopsinis Y等人提出了间期阈值和模态单元的概念并基于间期阈值和模态单元进行滤波[4].
近年来,随着物联网技术的快速发展,对信号传感器的要求越来越高,信号降噪方面的研究也越来越活跃,出现了许多基于EMD降噪改进算法.如:使用EMD将信号分解为若干本征模态函数(Intrinsic mode function,IMF),再通过组合这些IMF以达到低通、高通、带通滤波效果的重构法[5];直接对IMF进行滤波然后再重构的IMF滤波法[6];改进的区间阈值法与迭代法相结合的基于EEMD的去噪方法[7];利用相关性分析去除IMF分量中的噪声分量,对剩余的IMF分量分量进行小波包能量处理后在进行信号重构的方法[8];基于完全集合经验模态分解(CEEMDAN)联合排列熵(PE)的BCG降噪方法[9]等.尽管上述方法都取得了较好的效果,但仍存在以下问题:重构法会丢失信号的高频细节,类小波阈值法和IMF直接滤波法忽略了IMF的物理意义,直接使用会导致信号某些物理特征的丢失.这些方法用于ECG降噪会存在某些点不连续的问题.也有基于深度学习的各种研究方法[10],但用于ECG降噪效果都不理想.
针对上述问题,本文提出基于自适应白噪声的完备总体经验模态分解(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise,CEEMDAN)并结合ECG特点进行阈值选取的解决方案.该方案使得降噪后不连续的点有所减少,信噪比也相对提高了,另外本文提出的解决基线漂移的方法,也有效解决了低频噪声干扰的问题.
含噪声的数字信号x(t)可以描述如下:
(1)
CEEMDAN方法是基于EMD的一种优化的分解算法,具体步骤如下:
1)在信号x(t)中添加不同幅值高斯白噪声nk(t)得到若干新的信号,xk(t)=x(t)+σknk(t).
2)利用EMD方法对xk(t)进行分解得到他们的第一个IMF,然后计算他们的平均值:
(2)
4)记Ej(•)为对信号进行EMD分解操作后的第j个IMF分量,则第二个IMF获取方式为:
(3)
5)依次类推计算L个剩余分量为:
(4)
第L+1个IMF为:
(5)
一直分解到剩余分量为单调函数,即不满足EMD分解条件时,分解过程结束.
6)最后,原始心电信号被表示为:
(6)
R(t)为剩余分量.
心电信号经过上述过程分解后,较高频率的信号会分布在前几层IMF中,例如,QRS波群、T波和高频噪声,最后几层中包含低频细节,例如基线.
针对高频噪声的降噪.在这里假设CEEMDAN分解得到的IMFs的第一层是高频噪声含量最多的[3],因此可根据第一层所含噪声的能量估算剩下IMFs的能量:
(7)
(8)
相关文献通过对噪声能量的研究,得出第k层IMF的阈值估计式:
(9)
这里B是个常数[4],一般取0.7,M是IMF的长度.
和小波阈值法降噪很相似,EMD降噪也用到了阈值降噪,但小波阈值法是直接针对每一层中的小波系数进行的赋值处理.直接对IMF进进行软(硬)阈值处理会对重构信号的连续性产生灾难性后果.
文献[4]中提出了间期阈值法的概念.
(10)
(11)
(12)
在文献[7]提出了一种基于EEMD和改进区间阈值的方法,其改进的阈值函数如下:
(13)
(14)
其中α为可调节参数,文献中给出的值为5.这种方法在心电信号降噪时会出现在某些情况下一些关键点出现不连续,会导致疾病的误诊,如图1所示.
图1 EEMD-MIT方法降噪
针对2.4节中所提文献存在的问题,本文提出了一种改进区间阈值的方法.阈值函数如下:
(15)
(16)
(17)
迭代在降噪中是种非常强力的策略,通过多次的迭代可以进一步削减噪声的影响,于是本文进一步改进了降噪的策略,提出CEEMDAN-MIIT算法.具体步骤如下:
1)利用CEEMDAN对原始含噪声的信号进行分解x(t).
4)利用后L-1个IMF进行重构得到新的数据:
5) 随机改变hn(1)(t)的位置得到新的噪声数据:
6)将新的噪声数据加入xp(t)中得到xa(t):
图2展示了迭代次数为4和10的降噪效果以及随着迭代次数的变化,降噪后信噪比的变化.其中心电信号选择的是MIT-BIH中107号数据,添加噪声为10dB.
图2 CEEMDAN-MIIT降噪效果与迭代次数的联系
在心电信号中的基线漂移是一种变换缓慢干扰信号,可以被认为是一种低频噪声,其频率一般在1.5Hz以下[11],因此基线漂移成分主要分布最后几层IMF.由于心电信号的主要成分集中在前几层IMF中,所以直接丢弃包含基线漂移信号的IMF对原始信号的影响很小,故关键问题在于如何确定基线漂移所在的IMF.本文利用过零率来判断哪些IMF为基线漂移的成分,过零率的计算公式如下:
(18)
其中tn为要计算的信号,sgn为符号函数,即:
具体过程如下:
1)对每个分解得到的IMF计算过零率.
2)丢弃过零率低于1.5的IMF.
3)叠加剩余IMF重构信号.
在本文实验中,使用来自MIT-BIH心律失常数据库的mitdb/100、mitdb/105、mitdb/107、mitdb/108、mitdb/203和mitdb/223评估所提出方法的性能,降噪的效果使用信噪比(signal to noise ratio,SNR)和均方根误差(root mean square error,RMSE)来衡量,公式如下:
(19)
(20)
在上述两个公式中x(n)是原始信号,x′(n)是降噪后的信号,N是样本的数量.本文实验中样本数量均选择随机挑选的十秒钟,其中采样频率为360Hz.
图3和图4是mitdb/107在添加不同分贝高斯噪声后4种方法的降噪对比图,从图中可以看出4种算法中,在添加噪声分贝值较低的情况下,本文提出的两种方法均好于文献[7]中提出的方法,在添加噪声分贝较高时,文献中提出的迭代EEMD-MIT要好于CEEMDAN-MIT但始终低于本文的迭代CEEMDAN-MIT.表1给出了4种方法对mitdb/100、mitdb/105、mitdb/108、mitdb/203和mitdb/223进行降噪处理后信噪比的对比,可以从表中看出,4种降噪方法的效果与图4表现的一致.
图3 降噪后RMSE
表1 不同信号降噪后的信噪比
图4 降噪后SNR
图5展示了使用过零率来去除基线漂移.其中使用的是mitdb/107在添加mitdb 噪声测试数据库中真实的基线漂移信号后得对比,从图中可以看出,添加的基线漂移的信号中还包含着高频噪声,去除基线漂移后,对信号的高频部分影响甚微.
图5 去除基线漂移
本文提出了一种改进区间阈值法与CEEMDAN相结合的方法CEEMDAN-MIT去除高频噪声,另外迭代的CEEMDAN-MIT进一步地改进了降噪的效果.本文提出的算法相对于文献[7]和文献[9]所提出的方法降噪后不连续的点有所减少,相对于文献[7]所提出的方法信噪比也相对提高了.另外本文还基于文献[11]提出的过零率的概念提出了一种解决基线漂移的方法,有效解决了低频噪声的干扰.