基于自适应滤波和独立分量分析提取胎儿心电的可行性研究毕业论文.docx_第1页
基于自适应滤波和独立分量分析提取胎儿心电的可行性研究毕业论文.docx_第2页
基于自适应滤波和独立分量分析提取胎儿心电的可行性研究毕业论文.docx_第3页
基于自适应滤波和独立分量分析提取胎儿心电的可行性研究毕业论文.docx_第4页
基于自适应滤波和独立分量分析提取胎儿心电的可行性研究毕业论文.docx_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于自适应滤波和独立分量分析提取胎儿心电的可行性研究毕业论文第1章绪论1.1 本课题的研究目的及意义反映胎儿宫内生理活动的客观指标之一是胎儿心电信号(FECG,Fetal Electrocardiogram),围产期对胎儿监护的质量直接影响到母婴的安全和胎儿的发育成长以及后天的智力成长。在围产期对胎儿进行心电监护能够预先诊断妊娠期和分娩期的胎儿宫内缺氧及先天性心脏病等疾病,降低围产儿发病率与死亡率1。胎儿心电图是一种针对子宫内胎儿的心电监护方法。胎儿心电信号与胎儿心音和心动信号相比是最能反映心脏活动全貌的生理信号,而且当胎儿出现异常的时候,胎儿心电图的异常要比胎心率电子监护和胎心宫缩监护等指标的异常来得更早、更敏感。从胎儿心电信号不但能发现胎儿的瞬时和平均心率的变化,也可以同一般成人心电图(ECG ,Electrocardiogram)一样,从看到的FECG中获得更多胎儿心脏状况的信息。通过对FECG波形变化的分析,结合临床观察,能够及时发现胎儿缺氧、脐带缠绕等妊娠期或分娩期的病理情况2。以便尽早地采取确保胎儿健康的措施,降低围产期胎儿的发病率和死亡率。有很少一部分胎儿心电图的异常表现为胎儿的先天性心脏病,此时应尽早中止妊娠,以达到优生目的。胎儿在母体内安全情况监测的有效手段之一是胎儿心电图检查,它可直接反映胎儿的健康状况,有非常高的诊断应用价值。由于胎儿心电图检查无创伤、可重复、方法简便,已经被临床医师所认可。结合其他手段如超声波检查等能更好地为临床服务。FECG早己是学习胎儿的心脏活动及尽早发现胎儿异常的重要方法,研究胎儿心电信号的提取技术具有重要的理论意义和实用价值。1.2 目前研究现状获取FECG的方法主要有直接法和间接法,直接法是侵入式的胎儿心电获取方法,在孕妇分娩时,直接从胎儿的皮肤上来获得清晰的胎儿心电,这种方法可以及时发现分娩过程中胎儿是否存在缺氧,但是是有创伤性的,而且只能用于产时,无法在围产期对胎儿监护,不能反复检测。间接法是非侵入式的胎儿心电提取方法,是在孕妇胸部和腹部放置多个电极,提取出多路信号,然后进行信号处理以获得令人满意的胎儿心电信号,优点是不会对孕妇和胎儿造成伤害,且操作起来简单,能够用于围产期监护,缺点是此方法极易引入各种噪声,如基线漂移,工频干扰,母亲心电等等,而且这些信号都比胎儿信号强,会使胎儿信号淹没在其中,因此,如何从中提取出令人满意的胎儿心电就成为中外各学者研究的难题。在信号处理领域中FECG的提取被作为一个典型的问题为人们所提出,这在临床医学诊断上是极具意义的。几十年来,人们为了消除MECG和其它噪声的干扰,提取出清晰的FECG,对FECG的提取进行了相当多的研究,也取得了丰硕的成果。目前常用的方法有自适应滤波,盲源分离,小波分析和神经网络等方法3-7。1.3 课题研究的主要内容本课题主要研究的是基于自适应噪声抵消技术来提取胎儿心电和基于独立变量分析的方法来提取胎儿心电两部分。孕妇胸部获得的信号和腹部获得的信号可以分别作为自适应噪声抵消系统的滤波器输入和原始输入,经过自适应噪声抵消系统输出胎儿心电信号,我们会用多个实验来研究自适应滤波参数的选取,并且利用这些结论提取胎儿心电,最后总结这种方法的优缺点。由于母体心电和胎儿心电是由于母体和胎儿各自的生理活动引起的,可以看做是统计独立的,理论上可以用独立变量分析方法来分离出胎儿心电。这里本文会用多个实验来研究不动点算法的分离能力,最后用此算法提取胎儿心电,并总结优缺点,然后对这两种算法的提取结果做一个对比。1.4 论文结构安排本文的结构安排如下:第1章 为绪论,简单介绍胎儿心电信号的重要意义,简述了胎儿心电信号提取的发展历程和研究现状,说明论文的研究目的和意义。第2章 主要介绍自适应最小均方算法的原理,以及优化的归一化最小均方算法原理,然后介绍自适应噪声对消的原理,最后用自适应噪声对消技术来提取胎儿心电,并且进一步研究了在工频干扰和微弱胎儿心电下的提取。第3章 主要介绍盲源分离的基本理论和独立变量分析原理,最后用快速独立分量分析方法提取胎儿心电,并且研究了母婴信噪比对其的影响。第4章 为结论与展望,总结本篇论文的研究工作,并指出进一步研究的方向。第2章基于自适应滤波的胎儿心电信号提取2.1 自适应滤波算法2.1.1 最小均方算法在自适应滤波器的诸多实现形式中,受到最广泛应用的就是由Widrow和Hoff提出的随机梯度算法。这种算法就称为最小均方(LMS)算法。如图2.1为自适应滤波模型。LMS算法自适应处理器期望输入原始输入图2.1 自适应滤波器模型其中为滤波器的主输入通道的输入,输入的是期望信号;为滤波器的输入,是与相关的信号;是自适应处理器的输出相对于的误差,LMS算法就是要使均方误差最小,从而使自适应滤波器的输出无限逼近期望信号。其表达式为: (2.1) (2.2)瞬时均方误差可表示为:,其有效估计值为。由最速下降法的定义能够知到权值更新公式为: (2.3)这里为权向量,为一调整步长常数,它的量纲为信号功率的倒数。是均方误差相对于权矢量的梯度。而LMS算法是用来近似,从而得出权向量迭代公式。这样就有 (2.4)这里=。最终可以得到 (2.5)式(2.5)便是LMS算法的权值递推公式。收敛条件是0, 为相关矩阵的最大特征值8。综上所述,LMS算法可以概括为:(1) 滤波器的输出(2) 估计误差(3) 权向量迭代公式影响LMS算法性能的主要参数有步长因子,滤波器阶数和初始权向量。步长因子主要决定算法的收敛速度,它越大算法收敛越快同时稳态误差越大,反之亦然,因此要合理的选取。滤波器阶数主要影响算法的效果,也会影响收敛速度,越大计算量越大,收敛越慢,但是算法的性能会越好。权矢量初始值对系统的影响主要体现在收敛速度方面,对其他性能影响不大,因此,一般我们都设它的初始值为零矩阵。2.1.2归一化LMS算法归一化LMS算法也叫最小均方算法,简称NLMS算法,算法可以看作是一种特别的变步长LMS算法,常用于回声消除领域。NLMS自适应滤波器和LMS自适应滤波器是相同的,都为横向结构,他们的不同仅仅在于两者的权值迭代式不同,NLMS算法只是多了将权值归一化处理的步骤9。归一化LMS算法可以看成是对原LMS算法的一种改进。NLMS算法的滤波器系数更新式的具体描述为: (2.6)上式中,是输入信号的欧氏范数平方。与传统的LMS算法的滤波器系数更新式(2.5)相比,NLMS算法可以看成是一种变步长的LMS算法,所以,相比LMS算法,NLMS算法将具有更好的收敛性能。当然,在收敛之前,NLMS算法也必须要满足一定的收敛条件,回顾LMS算法的收敛条件,可知该算法的收敛条件为02,此时不再受输入信号特征值的影响。再回顾式(2.6)中的,若输入信号过小,有可能导致分母过于接近0以致使算法发散。为了避免此情况发生,将式(2.6)改写为: (2.7)其中是一个很小的正数10。对于LMS算法,当输入信号比较大时,其进入稳态后的噪声矢量公式为: (2.8)对于NLMS算法,它的稳态噪声矢量公式为: (2.9)从式(2.8)和式(2.9)可明显看出,与LMS算法相比,NLMS算法的失调量将会减少(失调是稳态后的噪声引起的),同时因输入向量过大而产生的噪声也会减小。此外,NLMS算法中的步长因子是可变的从而具有了比LMS算法更快的收敛速度,同时还与LMS算法的计算量相当。因而NLMS算法在实际中比LMS算法应用更为广泛。NLMS算法用于N阶FIR自适应滤波器的流程图如图2.2所示。M-n=0输出开始参数初始化,W,M,N d(n): 原始输入 x(n): 参考输入 y=W*x e=d-yW=W+*e*x/(x*x)否是图2.2 NLMS算法流程图2.2自适应噪声对消提取胎儿心电信号的原理1975年,Widrow首次运用自适应滤波算法提取胎儿心电信号,经过几十年的发展,己经在信号处理方面得到了广泛应用。近些年来,国内外学者在基本自适应滤波算法基础上提出了一系列改进,用于胎儿心电提取研究。自适应滤波系统由两个输入端构成,即原始输入端和参考输入端。在胎儿心电提取中,原始输入端接母体腹部信号,参考输入端接母体胸部信号。其中,作为原始输入的母体腹部信号中,FECG的特征是由胎儿的生理现象所决定的,而MECG是由母体的生理现象所决定,所以可以假设混合信号中的FECG与MECG信号不相关。而作为参考输入的从母亲胸部提取出来的信号是由母亲的生理现象所决定的,所以可以假设胸部信号与腹部信号中母亲心电部分以某种方式相关。因此可以通过不断调整滤波器系数使滤波器输出成为某种意义下母亲心电的最佳估计,然后通过相减器减掉原始母体腹部信号中的母亲心电成分,实现FECG的提取。2.2.1 胎儿心电信号简介图2.3是胎儿心电波形的一个周期,下面给出一些正常胎儿心电图和异常胎儿心电图的特点4。图2.3 正常胎儿心电图1 正常胎儿心电图胎儿心率为120-160bpm,一分钟的差异为5-30bpm,因此R-R间距有微小的差异。QRS波时限为0.02-0.06s。2 异常胎儿心电图 (1) 胎儿心动过速: 即胎儿心率大于160bpm(持续30分钟以上); (2) 胎儿心动过缓: 即胎儿心率小于120bpm; (3) 胎儿心率不齐: 胎儿心率变化范围超过25-30bpm; (4) QRS时限赠宽: 即QRS时限大于0.05-0.6s; (5) ST段改变: 即ST段上移或下移5V以上; (6) R波振幅增高: R波振幅平均值大于30V; (7) 胎儿心脏早搏: 30s内出现三次以上; (8) 早搏: QRS波提前出现。从人的皮肤上提取到的心电信号中经常会引进很多噪声。因此如果我们想把这些噪声最大化的消除掉,就必须要对其中引进的噪声做一个全面的分析。我们在监护病人的时候经常在心电信号中引入的噪声如下:母体心电信号,由于母亲自身的心电信号比胎儿的强很多,对胎儿心电来说是很大的干扰源。工频干扰,也就是家用标准电压的标准频率,因每个国家的供电标准不同也不尽相同。肌电噪声,一般由母体宫缩等产生。基线漂移,通常是由于母体呼吸产生,频率往往在0.5Hz以下。2.2.2 自适应噪声对消自适应噪声抵消系统是自适应最优滤波器的一种变形,它是于1965年由美国斯坦福大学最先研究成功的。用一个噪声的参考信号与被噪声淹没的有用信号做减法将噪声干扰消去是自适应噪声抵消的基本思想。而要实现这个思想的基本假设是作为噪声信号的参考信号与混入有用信号中的噪声之间必须具有某种相关性,而且二者要与有用信号相互独立或者不相关。根据经验,从被噪声淹没的信号中直接减去与噪声相关的信号是不安全的,非常有可能会使噪声不但没能被消掉,而且压制有用信号。然而,我们可以通过自适应系统对权值不断的调节从而减弱噪声,获取稳定的有用信号。在至今为止的这几十年中,人们对自适应噪声抵消系统的不断研究和改进,使其早已被广泛的应用于各个领域。例如在语音系统中,它被用来抑制语音信号的失真和传输中的回声。在飞行战斗环境内,它也可以很好的提高飞行员战斗时的通信质量。而在医学方面,它可以用来提取胎儿的心电,母体腹部的信号作为原始输入,母体胸部信号作为参考输入,这样系统提取出来的便是胎儿的心电。自适应噪声对消的模型如图2.4所示11。 LMS算法自适应滤波器 + -图2.4 有参考信号的自适应噪声抵消在图2.4中有两个通道:主通道和参考通道,假定信号,为零均值平稳随机过程。由于混入两个输入端的噪声和是由一个噪声源所发出的,因而它们肯定以某种方式相关,然而和与要提取的信号是不相关的。原始输入端不仅接收从有用信号源传来的信号,也混入从噪声源传来的噪声,而参考输入端输入的信号为。自适应滤波算法自行调整后输出,并使其在最小均方误差意义下最接近主通道噪声,它是的最佳估计。这样就可以从原始输入端减去来消去噪声从而提取出有用信号。自适应噪声抵消系统的输出,可表示为 (2.10)则均方误差输出的均方值为= (2.11)因为与和均不相关,所以与也不相关,则有(2.12)这样,式(2.11)就可以写为(2.13)然而自适应系统的调节仅仅在于得到原始输入端噪声信号的最佳估计,并不会影响有用信号的功率,因此自适应系统通过调整参数令达到最小等同于令达到最小,再由式(2.10)可知 (2.14)于是我们可以知道当最小的时候,也变的最小,也就是说整个系统的输出与有用信号的均方误差最小。这也就意味着,是待提取信号的最优估计。我们可以用自适应噪声对消来提取胎儿心电,原始输入端输入母体腹部信号,它包括母亲心电和胎儿心电,而参考输入端用来自同一组数据中从母亲胸部提取出来的信号,它不含胎儿心电,那么系统的输出就是对胎儿心电的最佳估计。2.3 运用自适应噪声对消提取胎儿心电信号前面已经提到,理论上自适应滤波方法是可以用来提取胎儿心电信号的,下面我们就此进行研究。本文是基于MATLAB R2012a来做的仿真实验研究。MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。它功能强大,上手简单,在PC上可以免费使用,是一款非常棒的仿真软件。2.3.1 自适应滤波参数的选取研究我首先是编了一个NLMS算法程序,程序见附录,用一个20Hz幅度值为1的正弦波和一个33Hz幅度值为0.5的正弦波叠加作为原始输入,参考输入就用,来简单确定一下程序的参数。图2.5所示为步长取0.12,滤波器阶数N为100时的输出,从上往下依次为,。图2.5 仿真的结果可以发现这组参数获得的效果是不错的。考虑到和应是不相关的信号,而白噪声和任何信号都不相关。下面令是频率为20Hz幅度值为1的正弦波,是信号功率为0的高斯白噪声,重新来做测试,图2.6就是步长为0.12,滤波器阶数N为100时的仿真图,从上往下依次为,。图2.7为其均方误差。图2.6 仿真结果图2.7 均方误差可以看到输出的效果并不十分理想,可能是因为还没收敛。可以考虑调大一些步长,当为0.24时的仿真图和均方误差图分别如图2.8和图2.9所示。图2.8 仿真结果图2.9 均方误差可以发现效果明显好了许多,并且由图2.9可知算法已收敛。由此我们必须选取合适的参数以获取清晰的波形。经过本节的研究我们发现步长因子对NLMS算法的影响,当越大,算法收敛速度越快,但是稳态失调越大,当越小,算法收敛速度越慢,到达稳态后的失调量也相应变小。而阶数一般是在怎样调节步长结果都很差的时候需要调高,所以我们在调试程序的时候要多试一下参数,以达到最好的滤波效果。2.3.2 胎儿心电信号提取研究接下来,我们试着用此算法来提取胎儿心电,临床数据由Lieven De Lathauwer12提供,数据来源于DaISy(Database for the Identification of Systems)数据库。该数据是用电极从孕妇体表记录的心电信号,采样频率为250Hz,采集时间为10秒。该组数据共有8通道信号,其中前5道为母体腹部信号,后3道为母体胸部信号。我将其做了归一化处理后,画出波形如图2.10和图2.11所示。图2.10 前四道信号图2.11 后四道信号我们不妨选择第一路和最后一路来组合,第一路为母体腹部的信号,最后一路为滤波器的输入信号,参数依然沿用上一节最后所用的步长为0.24,滤波器阶数N为100。结果如图2.12,均方误差如图2.13所示。图2.12 仿真结果图2.13 均方误差由图2.12和图2.13我们可以看出结果的稳态误差比较大,因此我们必须调小步长。不妨令为0.01,结果如图2.14,均方误差如图2.15所示。图2.14 仿真结果图2.15 均方误差从这两幅图我们不难发现由于步长过小,算法没有收敛。经过不断的调整步长,最后发现为0.08时提取出来的胎儿心电效果最佳,如图2.16所示。图2.16 仿真结果不妨把它和母体腹部信号单独放出来看,如图2.17所示。图2.17 NLMS算法提取出的胎儿心电我们可以发现在前1000步内算法没有收敛,母体的信号没有被对消,1500步以后母体的心电基本被对消,但是可以发现对消的并不彻底,波形并不好。不过还是可以明显识别胎儿心电信号,效果还是可以令人接受的。下面我们用胎儿信噪比较小的来试一下,不妨用第二路和第七路来做一次,经过不断调试,步长为0.06,滤波器阶数N为100时结果最佳,仿真结果如图2.18所示。图2.18 仿真结果将胎儿心电信号单独放出来,如图2.19。图2.19 所提取出的胎儿心电图发现在1000步以内没收敛,后面算法基本收敛,发现胎儿心电信号可以被识别,但是效果似乎没有之前那幅图好,是因为这次所用腹部信号中胎儿信噪比较小,可见此算法会因为胎儿信号的减弱提取效果变差。2.3.3 运用此算法对胎儿心电提取的进一步研究为了进一步研究该算法对胎儿心电的提取性能,我们用另外一个数据库提供的母婴信号继续做实验,该数据库是PhysioBank数据库13,这个数据库记录的是一个孕妇连续几个月的胸部和腹部信号,采样频率为1000Hz。如图2.20就是其中一组数据。图2.20 原始数据从图中我们可以看出前两组是胸部信号,后四路是腹部信号,但显然胎儿信号很弱,几乎看不出来。除了第四路信号稍差,其余两路胸部和三路腹部信号可以随意组合,我们不妨用第一路和第三路来做一次。阶数为120,步长为0.1时结果如图2.21所示。图2.21 实验结果可见母体心电没有对消,而且仍然比胎儿信号强很多,因此必须提高滤波器阶数来消除母体心电,可是经过多次调试,最终发现最好的结果如图2.22所示,此时阶数为800,步长为0.07。图2.22 实验结果从图中可以看出母亲心电有所对消,但是仍很强,而且胎儿心电可识别的信号并不多,总体来说提取效果较差。用其他所有组合都来试一遍,最好的结果如图2.23。图2.23 实验结果发现可以艰难识别胎儿心电了,母体心电还是没对消干净,仍比胎儿信号强,因此提取仍然是失败的。在接下来的几周内,我几乎用这个数据库里所有的数据都进行了实验,但是没有一组能够成功提取,因此在此分析应该是PhysioBank数据库提供的数据中胎儿信号太弱了,以至于很难用自适应方法提取出令人满意的胎儿心电,可见该算法在胎儿信号很弱的时候并不适用。我们都知道,在母体皮肤上采集信号的时候,经常会引入工频干扰,按照自适应噪声对消的理论,如果胸部信号和腹部信号都含有工频干扰,那么完全可以在对消工频干扰的同时消去母亲心电,提取出胎儿心电。实验结果如图2.24所示。图2.24 带有工频干扰的胎儿心电提取可以看到同时消除工频干扰和母亲心电后胎儿信号被很好的分离了出来。因为用上面的PhysioBank数据库中的数据提取不出胎儿心电,因此想找到一个临界值,也就是当胎儿信号弱到什么程度的时候,算法会不适用。下面只考虑胎儿和母亲的信号功率比对提取的影响,用两路母亲心电和一路胎儿心电,通过改变胎儿能量来不断降低信号功率比,叠加到其中一路母亲心电上来构成腹部信号,实验结果如图2.25所示,第一路为母亲心电,第二路开始从上往下胎儿与母亲信号功率比依次为-12dB,-14dB,-16dB,-18dB。图2.25 不同功率比下的提取结果可以看到在-18dB的时候就几乎已经看不清楚胎儿心电了,因此可以认为使用该算法在胎儿与母亲信号功率比低于-16dB的时候就不能成功提取出胎儿心电了。本章主要介绍了LMS算法的推导过程和归一化LMS算法的原理,然后简单介绍了运用自适应噪声对消来提取胎儿心电的原理,最后用MATLAB来研究胎儿心电信号的提取,获得了可以令人接受的效果,最后总结一下LMS算法的优缺点,优点是算法简单,计算复杂度低,收敛速度快,能够在工频干扰的情况下成功提取胎儿心电,缺点是提取出来的胎儿心电信号常常混有母亲心电成分,仅仅能够识别QRS波,其他波段的信息几乎不能识别,而且对胎儿与母亲信号功率比较低的信号提取效果不理想,甚至在胎儿信号非常微弱的时候不能够提取出。49基于自适应滤波和独立分量分析提取胎儿心电的可行性研究第3章基于独立变量分析的胎儿心电信号提取3.1 盲源分离与独立变量分析简介独立分量分析(Independent Component Analysis,简称ICA)最初是为了解决盲源分离(Blind Source Seperation, BSS)问题而被人们所提出的,盲源分离是指仅从观测的混合信号中恢复独立的源信号,盲的意思是:源信号是不可观测的,混合系统也是事先未知的。“鸡尾酒会”问题就是一个典型的盲源分离的例子。所谓“鸡尾酒会问题”,就是有许多人(不同的发声源)同时在一个小房子里讲话时,来自不同位置的各个人的声音会传到放在不同位置的麦克风中,这样每个麦克风记录的信号是所有人声音的一个混和,我们称之为观测信号。盲源分离所要解决的问题是:怎样仅从这组麦克风所记录下来的信号中分离出每个说话者的声音信号,即源信号。但是若我们已经事先知道了混合系统的信息,那么这个问题就转化为求其混合系统的逆的问题。然而在实际情况中,我们往往很难得到混合系统的一些有用的信息,所以我们只能利用观测信号来估计混合系统,实现盲源分离。目前ICA己经在许多领域获得了实际的应用。在生物医学方面,ICA用于思维脑电和诱发脑电的特征提取、脑电噪声的滤除、提取FECG、功能核磁共振成像等;在图像处理方面,ICA己用于人脸识别、图像特征提取和消噪等方面;在远程通讯方面,ICA己在CDMA通信系统中的多用户检测、通信信道的盲均衡、盲辨识以及在TWACS中减小并行传输信号之间的相互干扰等方面获得了初步的应用;在语音分离问题上,ICA也是目前常用的一种技术。此外,ICA在金融数据分析、数据挖掘、机械故障检测、雷达信号处理、网络安全等其它许多领域中均获得了成功的应用。3.2 独立变量分析独立变量分析是在上个世纪90年代逐渐兴起的一种新的盲信号处理方法。ICA主要是以观测信号的非高斯性作为判据,在假设各源信号相互统计独立的基础上,确立合适的能够度量其非高斯性的目标函数,然后借助恰当的优化算法将源信号提取出来。人们为解决盲源分离问题,提出了独立变量分析,它经过快速的发展,已经成为处理信号和分析数据的有效工具。用ICA处理盲源分离的问题时,不需要复杂的先验知识,只要各源信号统计独立等较简单的假设就可以从观测信号中有效地提取出各个源信号。因此,ICA是盲源分离的一种方法,而盲源分离是ICA的应用实例之一。解决盲源分离问题的办法有很多,众多ICA方法只是其中一部分而已。其实,盲源分离的目标是得到原始源信号,并不关心它们是不是相互统计独立。然而ICA是找出某种方法最大化观测信号的非高斯性,从而使输出的各源信号的估值尽量的相互统计独立。ICA算法的实质是在假设源信号统计独立的基础上,在不知道源信号及混合矩阵任何信息的情况下,试图把观测信号表示为各源信号的线性组合。首先介绍一下基本的ICA的原理框图如图3.1所示。混合系统A分离系统W噪声源信号观测信号分离信号未知图3.1 ICA的原理框图如图所示,源信号经过一个混合系统然后和噪声叠加便是观测信号,即,观测信号经过分离系统便可以估计出源信号,这里有。明显这是一个盲辨识的问题,因为矩阵A和源信号矢量都是未知的。利用ICA设计出相应的权值学习算法,就可以使权矩阵收敛到分离矩阵。(为未知的源信号矢量,为已知的观测信号矢量,是未知的的满秩混合矩阵,为分离阵)。ICA问题的基本假设14:A是列满秩阵,即MN,可观测序列数多于盲源数。此时混合矩阵A是一个确定的且未知的N阶方阵,假设A满秩时,逆矩阵A-1存在。源信号是在任何时候都相互统计独立的时随机变量,且均值为零。源信号中最多只允许存在一个信号满足高斯分布,这是因为两个统计独立的高斯白噪声混合后还是高斯白噪声,独立分量分析不能分离它们。各传感器引入的噪声很小,可以忽略不计。对各源信号的概率分布函数略有一些先验知识。例如,自然界的语音和某些音乐信号具有超高斯特性;图像信号大多具有亚高斯特性;许多噪声则具有高斯特性。对求得的结果也允许有如下的不确定性:求出的各信号的幅值和符号可能不确定。分离信号排列顺序的不确定,即我们无法知道他们的对应关系,只能自己辨别。在实际应用中我们为了使估计任意混合矩阵A的问题变得简单,常常将观测数据进行预处理,包括中心化和白化,中心化是将零均值化,白化是将做一个线性变换得到,其中的各分量互不相关,且具有单位方差,即。白化后的信号与要分离的独立信号两者间的关系为 (3.1)其中为正交阵。通常情况下由于我们假设源信号是单位方差,所以 (3.2)通过白化,我们就将求复杂矩阵A的难题变成了求一个正交阵B这样的容易问题。其实ICA是一个优化过程,也就是使提取出的各个独立信号最大程度的成为源信号的最佳估计的过程。因此,ICA包括两个方面:优化判据(目标函数)和寻优算法。在ICA算法学习过程当中,我们应该确立一个能够用数值度量各输出之间的非高斯性的以为变量的目标函数,然后求出这个函数的极大或者极小值,则这个值所对应的就是要求的解。非高斯性是ICA估计中最重要的,可以说,如果没有非高斯性就无法进行ICA估计。中心极限定理表明,在一定条件下,独立随机变量的和更趋近于高斯分布14。所以我们就可以知道,若观测信号是由某几个独立源信号线性组合而成,那么观测信号要比各独立源更加近似于高斯分布,换句话说就是各独立源的非高斯性要强于观测信号。我们可以依据这个思想来寻找一个目标函数来度量提取信号的非高斯性,若提取信号的非高斯性达到最大,也就是目标函数取得了极值,便可以认为提取出的信号是独立源的最佳估计了。在实际计算中,非高斯性通常采用四阶累积量即峭度来表示。随机变量的峭度定义为 (3.3)在的均值为零时,高斯信号的峭度为0,亚高斯信号的峭度小于0,超高斯信号的峭度大于0。所以可以通过使源信号估计峭度的正最大化或负最小化来提高其非高斯性,从而分离出独立分量。然而在实际应用中,要计算峭度值我们需要用到测得的样本,而它对野值很敏感,即峭度不是一个鲁棒的非高斯性测度。学者们希望找到一个鲁棒性和计算速度俱佳的非高斯性法则,而满足要求的负熵就被人们所利用了起来。根据信息论的基本知识,高斯信号是等方差的随机信号中熵最大的。由此我们可以知道熵可以用来度量非高斯性。在此我们用微分熵的修正形式负熵来作为非高斯性的度量,高斯分布的负熵为零,且它总是非负的。负熵的定义:设为的高斯随机矢量,与有相同的均值和协方差阵,则 (3.4) (3.5)称为多变量负熵和边缘负熵。由可知,负熵总是非负的。概率论已经证明负熵作为非高斯性的度量是合理的。但是用定义式来计算负熵非常复杂,因为要用到概率密度函数的估计形式。所以我们一般用负熵的近似式。利用高阶矩的负熵近似式,如 (3.6)其中假设是零均值、单位方差。但这个近似公式的有效性范围有限,尤其是其中峭度估计的鲁棒性不能保证14。为避免这个问题,又提出如下的基于一般函数形式的负熵近似式: (3.7)其中,为某一正常数,为零均值、单位方差的高斯变量,函数为非二次函数。研究表明,即使这种近似不是很准确,但式(3.7)依然能够较好的度量非高斯性。而且明显式(3.7)是非负的,当且仅当服从高斯分布时为零。当所有的时,式(3.7)简化为 (3.8)其中是任意非二次函数,是任意常数。对适当选取的,可得到比式(3.6)好得多的近似负熵,尤其是选择增长不是很快的时,可得到更具鲁棒性的估计算法,下面的几个非二次函数已被证明是非常有效的14: (3.9) (3.10)其中是区间内的常数。目标函数实际上是随机变量概率密度函数的泛函,只有当随机变量互相独立时,目标函数才能达到最大或最小值。在进行ICA处理时,选择不同的目标函数就得到不同的算法,主要包括最小互信息(minimun mutual information,MMI)法,最大熵(maximum entropy,ME)法和最大似然估计(maximum likelihood estimation,MLE)法三大类。在确立了目标函数之后,我们需要选取一种学习算法,经过不断迭代令目标函数取得极大或极小值。常用的学习算法有随机梯度法和自然梯度法。本文主要介绍一种基于负熵最大的快速独立变量分析算法。3.3 快速独立变量分析算法快速独立变量分析算法,又叫FastICA算法,也叫固定点(fixed point)算法,是由芬兰赫尔辛基大学的Hyvarinent等人提出来的。该算法使用了批处理方式,也就是大量的样本数据在每一步迭代过程中都要参与运算。FastICA算法是一种基于定点迭代的方法,为了找出高斯性的最大值,用近似负熵来测量独立性,这里具有单位方差和零均值,是一个单位方差、零均值的高斯随机变量,而的选取我们在上面已经提到过。将带入式(3.8)可得到以为变元的目标函数 (3.11)首先要注意到的近似负熵的最大值一般是通过对求最大值来取得的。这样求式(3.11)的最大值就变成了在约束条件下求的条件极值问题。那么根据拉格朗日乘数法,可知 (3.12)将式(3.12)对求导,且使其导函数为零,可得 (3.13)这里,是一个常数,且为的导函数。不妨用用牛顿法来求解此等式,用表示(3. 13)左侧的函数,其梯度为 (3.14)这里为的导函数。为了简化计算,对式(3. 14)中的第一项取近似值,一个比较合理的估计是14: (3.15)这样就可根据牛顿迭代公式得到下面的近似迭代公式: (3.16)式(3. 16)可以进一步简化为式(3.17)15。 (3.17)其中表示的归一化更新值。式(3.17)的算法只估计了一个独立分量。因此我们应将其扩展到能够依次提取出多个权向量来构成分离矩阵。需要注意的是,在每次迭代求出一个新的独立分量时,为了避免新求出的权向量与之前已经求出的p个权值向量收敛到相同的方向,必须保证新求出的独立分量所对应的分离矩阵行向量与已求出的分离矩阵其他行向量相互正交14。所以使用基于Gram-Schmidt去相关的抽取法,在式(3.17)的每一次迭代后用下式进行去相关,并重新归一化: (3.18)总结基于近似负熵最大的固定点算法,可得下面的算法步骤:将混合信号预处理,即中心化和白化。取混合信号中的T个样本。初始化为一个随机阵,。当时,跳到步骤。否则令,计算。根据式(3.17)计算,根据式(3.18)将与去相关,并归一化。当时,转到步骤。,得到输出信号。基于负熵最大的固定点算法具有下面这些特性14:它的收敛速度非常快,迭代5到10次即可收敛,通常是二次方收敛。与梯度法相比,该算法不需要学习步长或其他参数。由于这个算法一次只提取一个独立成分,而不是所有的成分,因此若我们已经事先知道了要提取信号的一部分特性,就可以相应的减小一些运算量,更快的得到这个信号。任何的非线性函数都可以按非高斯性最强的要求迭代出独立成分,同时选择适当的非线性函数可以优化算法的性能。3.4 运用FastICA算法提取胎儿心电的研究本文用的是基于MATLAB的FastICA工具箱,是由Hugo Gavert, JarmoHurri, JaakkoSarela, 和AapoHyvarinen等人编写的基于负熵最大的固定点算法的工具箱。可以直接调用fastica函数,也可以在命令行输入fasticag来打开图形用户界面,如图3.2所示。图3.2 FastICA的图形用户界面点击Load data可以从Workspace中载入观测信号,但是要注意这里是一个矩阵,行数N必须对应信号的个数,列数M对应样本点的数目。3.4.1 FastICA算法的分离能力研究由于从孕妇腹部提取出的信号是较复杂的信号,它既包含了母体和胎儿的心电,也包含各种各样的噪声,因此我们需对该算法进行简单的性能分析。首先是用一组简单信号来测试算法的分离能力。如图3.3,为一组源信号,从上到下依次为单位幅值的100Hz正弦波,单位幅值的70Hz方波和信号功率为0的高斯白噪声。图3.3 源信号用一个阶随机矩阵将其混合后得到观测信号如图3.4所示。图3.4 观测信号然后对其做ICA,得到如下的分离图3.5。图3.5 ICA分离出的结果对比图3.3和图3.5,容易发现除了正弦波的幅值稍有差别外,分离的效果是非常好的。可以说明该算法对简单信号的分离能力很好。因为语音信号波形是比较复杂的,所以接下来用自己录制的四组语音信号来测试一下算法对复杂信号的分离能力。如图3.6为四组语音源信号。图3.6 四组语音源信号用一个随机矩阵将其混合,混合后的模拟观测信号如图3.7所示。图3.7 观测信号然后将这四路观测信号做ICA,所得到的结果如图3.8所示。图3.8 ICA分离出的结果对比图3.6和图3.8,容易发现虽然分离出的结果的排列顺序与源信号排列顺序没什么关系,而且幅值也不大一致,但是还是很容易根据波形辨别它们属于哪个独立源的估计,分离效果是很不错的。由于胎儿心电信号在腹部观测信号中幅值是很小的,经常淹没在各种噪声当中,因此我们还需测试算法对微弱信号源的分离能力。这里源信号依然用单位幅值的100Hz正弦波,单位幅值的70Hz方波和信号功率为0的高斯白噪声,再加入一个幅值为0.1的170Hz正弦波来模拟微弱信号源。源信号如图3.9所示。图3.9 四组源信号其混合后的观测信号如图3.10所示。图3.10 观测信号经过ICA处理后的结果如图3.11。图3.11 ICA分离出的结果由图3.11可以看出微弱信号被分离了出来,波形很好,但是幅值却不是原来的了,这在原理部分提到过,是这个算法的不足之处。因此,用该算法分离微弱信号是可行的。3.4.2 胎儿心电信号提取研究母体心电和胎儿心电是母亲和胎儿各自的生理活动引起的,可以看成相互独立的源发出的信号,其他的噪声源不妨也假设相互独立,这样从母亲胸部和腹部提取出的信号就可以看成是这些独立源的瞬时混叠,符合ICA的基本假设,可以用此算法来进行分离。首先是用第二章所介绍的DaISy数据库所提供的8导联心电数据,然后我将其做了归一化处理。载入观测数据如图3.12。图3.12 观测信号然后做ICA处理,可得结果如图3.13。图3.13 经过ICA处理后的结果图可以看出其中第一、三、四、五路都应是母亲的心电成分,第二和第六路是胎儿的心电成分,第七路为基线漂移,第八路难以辨认。从结果图3.13中可以看出胎儿心电很好的分离了出来,放大图如图3.14所示。图3.14 放大后的胎儿和母亲心电从图3.14可以看出分离效果非常好,不过还是有些微弱的母亲心电残余。考虑到胎儿心电信号都包含在母体腹部信号中,母亲胸部信号中并不存在胎儿信号,因此理论上只用腹部信号应该也可以提取出胎儿心电。下面只用四路母体腹部心电来做一次实验,考虑到观测信号中第一道的胎儿心电很强,所以我们不用第一道,选用其他四路母体腹部信号来做,观测信号如图3.15。图3.15 四路母体腹部信号分离结果如图3.16所示。图3.16 四路腹部的分离结果从图中我们可以看出第一、二路都是母亲腹部的信号,第三路是胎儿的,第四路是基线漂移和其他的一些信号。母亲的心电没有单独提取出来,而是分离出了两路腹部的作为独立源,应该是算法将图3.15中第一路腹部信号和第二、四路的信号当成了两个独立源来处理的结果。而基线漂移之所以没分开应该是因为输出信号数目不能多于观测信号数目,而之前已经分离了三路源信号,因此只能将其与其他噪声放在一起作为第四路输出。另外,从图3.16也可以看出仅用四路腹部信号分离出的胎儿心电信号虽然不及八路导联分离的效果好,但也是令人满意的。可以猜测导联数越少分离结果越差,不妨来做个实验验证下。如图3.17所示,最上面的是用八路观测信号提取出来的结果,第二个信号是去掉了两个胸部的信号后所剩的六路分离结果,第三个是再去掉胎儿心电信号很强的那路腹部信号后的分离结果,第四个是再去掉胸部信号后剩下的四路腹部的结果,倒数第二个是三路腹部的分离结果,最后一个是两路腹部的结果。图3.17 不同导联数目时的结果图从图中我们可以看出随着观测信号数目的减少,分离出的胎儿心电效果越来越差,母体心电的干扰越来越明显。而在用两路腹部信号提取胎儿心电的时候,两路腹部信号中母亲心电成分的QRS波必须同时朝上或者朝下,才能提取出胎儿心电,否则不能,可能是因为朝向不同的腹部信号被当做了两个源。3.4.3 微弱胎儿心电对该算法的影响研究为了进一步研究用此算法提取胎儿心电的性能,再用来自PhysioBank数据库的数据进行提取。数据依然用在第二章自适应方法时的那组数据,如下图3.18所示。图3.18 原始数据经过ICA处理,得到如图3.19所示的结果。图3.19 处理结果可以看到完全没有分离出胎儿心电,随后也用了其他几组做了实验,都没有结果,因此认为可能是此数据库提供的信号中胎儿信噪比实在太低了。为了找到一个临界值,选用用四路母亲胸部信号,并调整使他们的能量一致,用一路胎儿信号,不断调节其能量,并叠加到四路胸部信号上去,构成不同胎儿与母亲信号功率比的多组四路腹部信号,实验结果如图3.20所示。图3.20 不同功率比的分离结果图中从上往下依次是胎儿与母亲功率比为-16dB,-18dB,-20dB,-22dB,-24dB,-26dB时的四路分离结果,可以看出在-24dB的时候效果已经很不理想了,而-26dB时已经很难称作是成功提取了,所以认为该算法在胎儿与母亲功率比不低于-24dB的时候是适用的。3.4.4 运用该算法去除基线漂移和工频干扰的研究胎儿信号存在于母体腹部信号中,而腹部信号中往往存在许多强噪声,如工频干扰,基线漂移等。而且理论上这些噪声都来自不同的信号源,因此能够看成一个独立分量,那么应用该算法是能够分离出来的。下面我们要研究该算法对基线漂移和工频干扰的分离能力。对基线漂移的分离能力研究,用的数据是来自PhysioBank数据库的数据,其中母亲胸部信号几乎是没有基线漂移的,因此可以去掉,仅留四路腹部来做,这四路腹部信号如图3.21所示。图3.21 四路腹部信号可以看出第一、三路基线漂移非常明显,而其他两路不十分明显,ICA处理结果如图3.22所示。图3.22 处理结果对比左边图是原始腹部信号,右边图是ICA处理结果。可以看出右边第二路是波形较好的心电,右边第三路像是左边第一路基线的分离,另外两路很难看出是什么,可能是因为这四路信号都多多少少含有一些基线漂移,它将较容易分离出的基线和腹部信号分离出来,因而剩下的很难辨认。去掉第一路后的ICA结果如图3.23。图3.23 处理结果对比右边第一路应该是左边第三路,右边第二路应该是左边第二路中的基线,而第三路略微有点像第一路上的基线。不妨再去掉最上面那路信号,ICA结果对比图如图3.24。图3.24 处理结果对比可以看到左边第一路基线被成功提取出来,但是波形是倒过来的。通过上面这些实验,可以看出在信号中都包含基线漂移的情况下,多导联数目可以分离出较好的信号,但是基线漂移被混合了起来难以辨认属于哪路源信号,导联数目较少则基线能够被较好的分离,但是信号波形很难有好的改善。由于在数据采集的时候往往会引入工频干扰,而理论上盲源分离是可以将工频干扰当做一个独立源分离出来的,不会影响到胎儿心电的分离,下面来做个简单的实验进行验证。如图3.25是四组带有工频干扰的腹部观测信号。图3.25 四组带有工频干扰的腹部观测信号ICA处理结果如图3.26所示。图3.26 处理结果从图中我们可以看出第一路是腹部混合信号,第二路是胎儿心电,第三路是母亲心电,第四路是工频干扰。因此可以看出此算法对含有工频干扰的胎儿心电提取是很有效的。通过以上所有的研究,我们能够知道FastICA算法对复杂信号,微弱信号,基线漂移和工频干扰都有很好的处理效果,这种算法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论