融合峰值最大化小波分析与fastICA 的胎儿心电提取

2019-04-18 06:44黄艺格杨雨丹贺知明
医疗卫生装备 2019年4期
关键词:负熵波包电信号

黄艺格,杨雨丹,贺知明

(电子科技大学广东电子信息工程研究院,广东东莞523808)

0 引言

胎儿心电信号监测是获取妊娠和分娩期间胎儿状况信息的常规方法[1]。胎儿心电的特征如心率、波形和动态行为在确定胎儿的生命、胎儿发育、胎儿成熟度、胎儿窘迫或先天性心脏病的存在等方面都有相当重要的意义。

盲源分离(blind source separation,BSS)是一种不知道原始信号,但是却能通过获取混合信号恢复出原始信号的方法[2]。其中,独立成分分析(independent component analysis,ICA)是盲源分离的一个主要方法,分离出的源信号数目在分离之前是确定已知的,由此可以将信号分解成几个独立的分量。另外,小波包变换是一种多尺度的时频分析工具,具有多分辨率的特点[3]。因此可以将小波包变换与ICA 相结合用来提取胎儿心电信号。

本文首先利用小波包变换实现在峰值最大点进行小波包分解以降低母体腹部混合信号重叠度,接着利用精度高、速度快的快速独立成分分析(fast independent component analysis,fastICA)对处理之后的母体腹部混合信号进行分解得到纯净的胎儿心电信号。实验结果表明,该方法较好地处理了常规方法因母体心电信号和胎儿心电信号重叠导致的提取算法精度不高的问题。

1 胎儿心电信号波形介绍

生物医学信号是从人体器官中获得的电信号,它代表一个物理变量,通常被认为是时间的函数,并且可以从它的振幅、频率和相位来描述[4]。胎儿心电信号是一种生物医学信号,它提供了胎儿心率的电子表示,胎儿心率包含了胎儿状况的重要信息,可以提前预知胎儿的健康状况以及是否出现呼吸窘迫等情况。但是胎儿心电信号是一个相对微弱的信号(小于20%的母体心电信号),并且经常包含50 Hz 的工频干扰、基线漂移、肌电干扰等。有时候母体心电信号和胎儿心电信号可能是紧密重叠的。胎儿心电信号与成人心电图相似,包含了相同的基本波形,包括P波、QRS 复合波、T 波和U 波[5]。

2 基于小波分析和fastICA 的提取算法

2.1 提取算法原理

小波包变换和fastICA 是目前信号提取最常用也是性能较好的2 种算法,本文中将2 种算法结合起来,利用基于峰值最大化的小波包分解和基于负熵最大化的fastICA 提取胎儿心电信号。

小波包分解是一种时频分析方法,具有多分辨率分析、表示局部信号特征等特点。离散小波包变换被定义为

其中,d表示小波包变换系数,j表示分辨率,k表示小波基函数ψ 的位移,f表示源信号,2-j和k2-j表示将分辨率进行幂数级离散化,f(2-j,k2-j)为源信号的离散化表达式。小波包分解是一种把第j级的系数dj,k分解为第j-1 级的2 个小波包变换系数aj-1,k和dj-1,k的方法,以此类推,直到分解到指定的多层小波包级数。

非高斯函数是描述信号偏离高斯分布的一个度量,用于测量在BSS 中混合信号之间的独立程度。非高斯性越强,信号的独立程度越高[6]。根据小波包分解的性质,只有少数小波包系数是重要的,因为只有很少的点的幅值比0 大,这些幅值比0 大的点的非高斯性比源信号更强。因此,本文选择了小波包分解处理混合信号。

在BSS 问题中,峰度是第四阶累积量,根据随机变量的峰值k(x)的大小,信号y可以分为以下3类:(1)如果kurt(y)<0,称y为亚高斯信号;(2)如果kurt(y)>0,称y为超高斯信号;(3)如果kurt(y)=0,称y为高斯信号。

本文利用小波包分解和峰度来确定最好的小波包分解节点,这个节点的系数是低重叠度源信号的近似表示[3]。每个节点的小波包系数的峰度可以通过下式计算得到:

其中,c表示每个节点的小波包系数,E表示求解平均值。

将混合信号用小波包变换分解之后,去除了小波包系数小于零的信号点,得到非高斯性比原混合信号高得多的信号,为之后fastICA 提取减少迭代次数。

FastICA 的工作原理是最大化非高斯性,即源信号的独立性,母体腹部混合信号来源于母体心电信号、胎儿心电信号和环境的干扰信息[7]。FastICA 利用采用高阶统计数据的固定点算法来恢复独立成分。当观测信号数量少时,fastICA 对于分离信号非常有效。理论上讲,母体心电信号、胎儿心电信号和复杂的噪声相互之间是独立的。母体心电信号和胎儿心电信号的信号形态相似并且具有几乎相同的光谱,唯一的区别是胎儿的心率几乎是母亲的1.5~2 倍[8]。

假设已经观察到的信号x(t)=[x1(t),x2(t),…,xn(t)]T是由一些未知的、相互独立的信号s(t)=[s1(t),s2(t),…,sn(t)]T混合而成的,混合公式如下:

其中,A=[a1,a2,…,an],是混合矩阵;n(t)表示噪声信号。FastICA 算法步骤就是求出一个n×n的分离矩阵W,W=A-1,再求出y(t)=Wx(t),求得的y(t)=[y1(t),y2(t),…,yn(t)]T就是对s(t)的估计,其中某一路数据即为胎儿信号[9]。总的来说,ICA 可以被建模为求解一个最优化问题,它可以对一个输出为独立信号的函数进行建模。

本文的FastICA 基于负熵最大化,负熵近似由以下目标函数估计:

其中,W 是分离矩阵;V是标准高斯随机变量,其均值为0,方差为1;函数G(V)为一个非二次函数,表达式如下:

当负熵达到最大时,就表明信号是可以分离的,所以本文算法求得W 需要满足负熵最大和估计信号y的均值为0 且方差为1,也就是E{G(WTx)2}=1,这样混合信号中的几个独立分量便可以估计出来。

本文中使用的是单位化的fastICA 算法,首先需要注意的是,上文中提到的JG(W)的最大值是在E{G(WTx)}的某些最优值中得到的[10]。被E{G(WTx)2}=||W||2=1 约束的E{G(WTx)}的最优解是在公式(7)成立时得到的。

其中,I 为单位矩阵。为了简化这个矩阵的求逆,我们决定近似第一项。由于数据已被白化,即E{xxT}=1,所以E{xxTG'(WTx)}≈E{xxT}E{G'(WTx)}=E{G'(WTx)}I,可以用来得出近似值。这样导数矩阵就变成了对角矩阵,大大简化了求逆过程。同时用W 的当前值取代W0来求出β 的近似值。因此,我们得到了以下近似的牛顿迭代公式:

其中,W*表示W 的更新值,β=E{WTxG(WTx)},并且标准化提高了稳定性。这个算法可以通过在第一个等式的两边同时乘β-E{G'(WTx)}来进一步简化。因此得到了fastICA 的迭代公式:

在实践中,fastICA 的期望值将被它们的估计值所取代。理想情况下,所有可用的数据都应该被使用,但这会导致迭代时间太长。所以一般用一部分样本的均值进行估计,其数目多少可能对最后估计的准确性有相当大的影响。因此,在每次迭代时应该分别选择取样点,如果收敛不尽如人意,可以选择增加样本数量。

2.2 本文算法与fastICA 算法的比较

(1)本文算法与现有的fastICA 算法相比,前期增加了小波包变换,在ICA 之前就减少了不相关信号点的数量,使得fastICA 提取的时候样本数大大减少,从而具有非常快的收敛速度。

(2)小波包变换和fastICA 结合算法与fastICA算法相比,不需要选择步长参数。改进算法可以使用任何一个非线性函数G得到非高斯分布的独立分量,这与fastICA 算法形成了对比[11]。

2.3 算法步骤

在BSS 方法中,源信号的混合被假定为固定的和线性的[12],但是胎儿心电信号和其他干扰因素总是不固定和线性可分的,因此ICA 并不能把源信号完全分开。在这种情况下,本文算法是基于fastICA的基础上提出的,信号处理步骤如下:

(1)输入采集的原始信号。原始信号为包含母体心电信号和胎儿心电信号以及各种噪声的母体腹部混合信号,将其定义为原始混合心电信号X。

(2)对输入的原始混合心电信号X进行中心化处理,使其均值为0,再对信号进行白化处理,得到处理后信号Z。

(3)对信号Z进行小波包分解处理,得到混合心电数据矩阵A,即小波包分解后的混合心电信号(混合母体和胎儿的心电信号)。

(4)采用基于负熵最大化的fastICA 对混合心电信号A 进行母体与胎儿心电信号分离处理,获取含有噪声的胎儿心电信号。

(5)对含有噪声的胎儿心电信号进行小波去噪处理,去除其中的噪声和基线漂移,输出清晰的胎儿心电信号。

3 采样与结果分析

本文使用的临床实验信号来自DaISy(Database for the Identification of Systems)数据库。图1 为观测到的胎儿心电信号与母体心电信号的混合信号,通过观察可以看到该混合信号中包含母体心电信号、胎儿心电信号以及各种噪声,为了更方便地观测各路信号,使用MATLAB 将各通道信号分离出来进行分析。

图2 为DaISy 数据库中某位孕妇的8 个导联的母体体表心电信号,(a)~(e)是母体腹部混合信号,(f)~(h)是母体胸部心电信号。5 个母体腹部混合信号中,第1 通道可以明显地观察到胎儿心电,可见腹部信号是母亲心电和胎儿心电的混合;第4 通道中噪声多,几乎不含胎儿心电;第5 通道中的胎儿心电成分很少,不能用来分离胎儿心电。

图2 8 通道母体心电信号(源信号)

本文采用第1、3、6 通道的信号进行fastICA 处理,首先将这3 个通道的信号混合,在小波包处理阶段,选择db4 多贝西小波函数对混合信号进行两层小波包分解,从而减少重叠。经过小波包分解,利用峰度极大化进行最优节点选择,得到2 条清晰的直线,即源信号的非高斯表示,减少了重叠度。图3(a)为混合心电信号的联合分布图,可以看出图上母体心电信号、胎儿心电信号重叠在一起;图3(b)为经过小波包分解处理之后的混合心电信号的联合分布图,可以明显地看出信号的重叠程度减少了。

通过fastICA 解混后,可以观察到由第1、3、6 通道的观测信号分离出来了4 路信号,如图4 所示,由于胎儿心电较母体心电频率快、幅值低,可以判断出(a)为母体信号,(b)为包含了少量胎儿心电的母体心电,且(b)中含有的母体信号也仅为(a)信号的1/10 左右,(c)为分离出的较清晰的胎儿心电信号,(d)为噪声信号。

图3 母体腹部混合信号小波包分解前后的小波包系数的联合分布图

图4 解混后的信号

为方便观察,本文特意从图4 中截取了胎儿的心电图,如图5 所示,其中仍然包含了少量母体心电信号、噪声和基线漂移,对于后期观察会造成一定影响,并且大大降低了信噪比。

由于解混之后的胎儿心电信号包含太多噪声,我们利用小波包分解重构得到去噪后的心电信号,如图6 所示。

图5 本文算法获得的胎儿心电

图6 小波去噪之后的胎儿心电

4 结语

本文提出了一种利用峰度最大化小波包分解结合fastICA 算法进行胎儿心电分离。在小波包分解之后混合心电信号的重叠度大大减弱,之后对信号进行fastICA 处理,最终获取对源信号的估计。临床实验结果表明该算法拥有更好的性能。在进行fastICA分离信号之后,通过小波去噪、对胎儿心电图信号基线漂移和噪声的噪声抑制来重建信号,得到清晰的胎儿心电信号。实验结果表明,该算法可以将胎儿心电信号与母体心电信号分离开来。在基于负熵的fastICA 中即使只用到负熵一般形式的近似,其收敛速度也是二次化的,算法更简单可靠,收敛性更好。但是该算法需要使用3 导联母亲体表信号才能进行信号分离,增加了获取数据的复杂性,如果应用到临床医学中实时性还有待改进。

猜你喜欢
负熵波包电信号
基于联合聚类分析的单通道腹部心电信号的胎心率提取
基于支持向量机和小波包变换的EOG信号睡眠分期
原子双阱势中电子波包的非绝热操控
你要和他们不一样
基于Code Composer Studio3.3完成对心电信号的去噪
你要和他们不一样
基于随机森林的航天器电信号多分类识别方法
自组织管理在慈善机构中应用的初探
基于小波包变换的乐音时—频综合分析程序的开发
基于小波包的全信息解调方法及其应用