APP下载

基于相关性评估与FastICA的实时心电信号提取算法

2018-08-03高立坤刘东启陈志坚

传感器与微系统 2018年8期
关键词:基线漂移负熵电信号

高立坤, 刘东启, 陈志坚

(浙江大学 电气工程学院,浙江 杭州 310027)

0 引 言

实时提取心电(electrocardiogram,ECG)信号[1]并最大限度消除外部噪声干扰,对后续心脏活动分析及疾病诊断至关重要。目前心电信号的提取主要采用滤波的方法[2~5]。然而,心电信号的频率主要分布在0.25~40 Hz,与肌电信号、移动噪声等干扰信号存在频段的重叠,导致基于滤波的方法不具备强抗噪性。当移动噪声较大甚至超过心电信号本身时,基于滤波的方法将无法准确地提取出心电信号。

独立成分分析(independent component analysis,ICA)能够准确地分离出混合信号中的各个源信号[6]。通过将肌电信号和移动噪声作为独立信号源进行建模,从信号混合的角度进行信号分离,为强抗噪性的心电信号提取提供了一种新的解决思路。但传统的ICA算法只能分离非实时信号,且分离出的信号具有幅值和信号顺序不确定的问题。为了实现实时心电信号提取,本文提出了基于相关性评估和FastICA的心电信号提取方法。核心思想是在对实时信号进行分段处理的基础上,利用信号相关性原理对分离出的信号进行提取和重构,即按照时间顺序将采样到的实时信号分段进行FastICA处理,应用相关性评估方法,从分离信号中提取出心电信号,并进行相位的修正和幅值的缩放,从而持续稳定地提取出心电信号。文章进一步研究了算法的鲁棒性设计,在ICA处理前引入中值滤波器过滤基线漂移,有效地解决了ICA运算周期长,分离过程易发散的问题。

1 基于FastICA的心电信号分离模型

1.1 基于负熵最大化的FastICA算法

ICA的基本模型如图1所示。

图1 ICA基本模型

ICA算法的核心思想是通过不断更新分离矩阵W,使得到的估计值更接近真实的源信号。本文使用了基于负熵最大化的FastICA算法[7],该算法以负熵来度量非高斯性,从而判断分离结果间的相对独立性。当负熵达到最大时,表明已完成对各路独立信号的分离。基于负熵最大化的FastICA算法的基本步骤为:

1)选择随机的初始权向量W;

2)对权向量W进行调整,其中E[·]为均值运算,g(·)为非线性函数

W=E(Z·g(WT·Z)}-E{g′(WT·Z)}·W

(1)

3)对权向量W进行归一化处理

(2)

4)如果W收敛则使用y(t)=W·X(t)求取源信号的估计量;否则,返回步骤(2)继续迭代。

1.2 基于FastICA的心电信号分离模型

FastICA分离心电信号的基本模型如图2所示。在提取心电信号时,首先对3路采样信号心电信号、移动噪声、肌电信号进行FastICA处理,分离出混入了基线漂移与工频噪声的心电信号、肌电信号和移动噪声。由于基线漂移和工频噪声的频段与心电信号的主频没有混叠,可以进一步使用滤波器滤除基线漂移和工频噪声,从而得到准确的心电信号。

图2 FastICA分离心电信号的基本模型

独立成分分析能够在观测信号成分未知的情况下准确地进行信号的分离,但其算法本身也存在明显的缺陷:只能处理采样点数已知的信号,无法处理实时信号;分离出的信号是源信号的估计值,存在一定程度的随机性;对同一组采样信号进行多次独立成分分析,每次分离出信号的幅值和次序可能不同,甚至可能出现相位相反的情况;只能完成信号的分离,而无法从分离出的各路信号中提取出目标信号。

2 基于相关性评估的实时心电信号提取算法

为了解决FastICA算法提取实时心电信号的一系列问题,本文提出了基于相关性评估的FastICA算法,该算法以信号相关性为判断依据,找出FastICA分离后各路信号中的心电信号并进行信号的重构,从而持续稳定地提取出实时心电信号。

基于相关性评估与FastICA的实时心电信号提取流程如图3所示。对观测到的各路信号进行分段处理,采用中值滤波器滤除采样完成的各信号段中的基线漂移成分;对该段信号进行FastICA处理,分离出心电信号和各类噪声信号;采用相关性评估的方法提取出心电信号,并进行相位的修正和幅值的缩放;采用滤波器滤除工频噪声并将得到的信号输出。

图3 相关性评估与FastICA融合的实时心电信号提取算法流程

2.1 基于相关性评估的心电信号提取

传统的ICA方法无法处理实时信号,因此本文对实时信号进行分段,每段信号采用固定的样本数目,由FastICA进行分离。对于N路的信号段,ICA处理后会得到N路的分离信号,其中有一路信号为心电信号,但是由于分离信号的次序存在随机性,因此无法根据信号的次序确定分离信号中心电信号所在的位置。鉴于各路信号的特征具有显著的区别,其中心电信号与典型心电信号有高度相关性,因此本文使用典型心电信号片段作为基准信号,与各路分离信号进行相关性评估,选取相关系数最大的分离信号作为目标心电信号。

2.1.1 相关性评估计算

采用皮尔逊相关系数来进行相关性评估,能够简单有效地对两组数据进行相关性评估

(3)

2.1.2 基于相关性评估的心电信号提取

使用相关性评估的方法提取心电信号,需要选取段长为H个采样点的典型心电信号作为基准信号。所选典型心电信号有且仅有一个R峰,且该R峰位于典型心电信号的第K个采样点。

如图4所示,对分离出的信号进行相关性评估时,使用QRS检测[8]的方法从每路分离信号中定位出J个R峰,截取R峰左侧K-1个采样点,右侧H-K个采样点作为待评估信号段。对得到的J段待评估信号分别进行相关性评估,并计算评估结果的平均值作为该路分离信号与心电信号的相关系数。分离信号与心电信号相关系数绝对值的大小反映了该信号是心电信号的概率,选择相关系数最高的分离信号为心电信号。根据相关系数的符号对分离出的心电信号进行相位的修正,修正后的信号即为提取到的心电信号。

图4 待评估信号段的截取

2.2 实时心电信号重构

为了使各输出信号段的幅值与原始心电信号保持相同的比例,需要在信号输出前对提取结果进行幅值的缩放。通过对提取结果与前段输出信号进行幅值的比较,调整提取到的心电信号的幅值,重构出幅值稳定的输出信号。

如图5所示,处理实时信号时,对采样信号按照时间顺序分段,采样点数达到分段段长L后,对该段信号进行FastICA处理,并使用相关性评估的方法提取出心电信号。心电信号提取完成后,取当前信号段的后M个点(即与下一信号段重合区域)的分离结果作为基准信号段,用于下一信号段幅值的修正;取当前信号段的前M个点(即与上一信号段重合区域)的分离结果作为待评估信号段。计算出基准信号段各采样点幅值的平均值以及待评估信号段各采样点幅值的平均值,对提取的心电信号段的各个采样点进行修正后输出,修正后各点的值为修正前该点的值×基准信号段的平均值/等评估信号段的平均值。

图5 混合信号片段

2.3 引入基线漂移过滤提高算法鲁棒性

研究发现,基线漂移引入的噪声会降低ICA算法的实现效果。在原始信号存在基线漂移的情况下,引入相关性评估的FastICA算法分离出的心电信号的幅值发生抖动,甚至会发生逐级放大的情况,使得分离出的心电信号的幅值随着时间的延长而与标准值的差距越发增大,严重影响了心电信号提取的准确性。

本文算法使用中值滤波器,在进行ICA分离前先对每一路观测信号进行滤波,滤除各路信号中的基线漂移。中值滤波器具有运算简单且运算速度快的优点,能够抑制噪声和保护边缘的特征,且对后续ICA的分离处理不会造成影响[9,10]。

3 仿真实验

本文采用MIT-BIT中的心律不齐数据库(arrhythmia database)与噪声压力测试数据库(noise stress test database)进行MATLAB仿真实验。对心电信号、肌电信号、移动噪声进行随机混合,得到3路各不相同的混合信号作为采样信号。

由于实验选取数据库的采样频率为360 Hz,因此每段信号需要在22.22 s(即(10 000-2 000)/360)内完成心电信号的提取。设置FastICA的最大迭代次数为100 000次,每段心电信号提取的最大时间小于19 s,能够保证信号的实时输出。

表1随机抽取了arrhythmia database中10组不同的心电信号进行实验,给出了先过滤基线漂移再进行FastICA处理与先进行FastICA处理再过滤基线漂移2种方法的实验结果。其精确度为提取到的心电信号与原始信号的相似程度,利用式(3)计算。从表中可以看出,在FastICA后引入中值滤波器的方法提取出的心电信号的准确率仅为90.4 %,平均提取时间则高达724.44 s。相比之下,本文所述方法可以提高6.3 %的准确率,并节省74.5 %的分离时间。本文所述算法的准确率高达96.7 %,且具有较快的提取速度,基本符合后续信号分析与疾病诊断的要求。

表1 2种实验方法对比数据

4 结束语

提出了一种融合相关性评估与FastICA的实时心电信号提取算法,收敛速度快且提取出的心电信号的精确度可达96.7 %,具有良好的应用前景。

猜你喜欢

基线漂移负熵电信号
基于联合聚类分析的单通道腹部心电信号的胎心率提取
你要和他们不一样
基于Code Composer Studio3.3完成对心电信号的去噪
心电信号中基线漂移的去除方法比较及算法实现
基于CEEMDAN和小波阈值的ECG去噪算法研究
你要和他们不一样
基于EMD和SVD的光电容积脉搏波信号去噪方法
基于随机森林的航天器电信号多分类识别方法
自组织管理在慈善机构中应用的初探
基于EMD去除心电信号基线漂移的探讨