版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章 ECG检测方法本章将主要介绍本文所采用的ECG信号的检测方法的基本原理。首先要对ECG信号进行预处理:采用滤波技术消除各种噪声,采用Tompkins算法检测出QRS波的峰值,并对周期性的ECG信号进行分割。然后介绍采用AR建模技术提取ECG信号的特征的基本原理,以及如何采用相关系数及信噪比两个指标来确定建模阶次P,最后介绍本文采用的BP神经网络分类法和基于二次判别函数分类方法的基本原理及相关的计算公式。31信号的预处理本文中所使用的ECG信号取自MIT-BIH数据库:NSR信号取自“MIT-BIH arrhythmia database”,其采样频率是360Hz;VT信号和VF信号取自
2、“MIT-BIH Ventricular Arrhythmia database”,其采样频率是250Hz。信号的频率都统一转化为360Hz。在提取信号特征之前,需要对ECG信号进行预处理:采用滤波技术消除实时测量时可能存在的噪音,采用Tompkins算法检测出QRS波的峰值,并对周期性的ECG信号进行分割,选取有效的窗口数据。1.信号的滤波在实时测量得到的ECG信号通常带有噪音,噪声的来源是多种多样的,病人的呼吸 ,电极的移动,电源的工频干扰,肌肉收缩引起的高频噪音等,这些噪音和干扰会对ECG信号检测准确性带来很大的影响。所以首先要消除这些噪音,才能进行进一步的分析。据有关资料显示,电源引起
3、的噪音频率约(50-60Hz),呼吸引起的噪音频率约0.2Hz左右,电极移动引起的低频噪音约0.3HZ肌肉收缩引起的高频噪音。本文采用带通滤波器(BPF)(由一个低通滤波器和一个高通滤波器)组成 ,对ECG信号进行滤波。其上下边带截止频率是1Hz和50Hz,能有效地消除各种噪音24。低通滤波器(LFP)的系统函数如下: ( 3-1)2. QRS波峰值检测本文中的ECG信号QRS波的检测算法最初由Pan Tompkins提出,Hamilton 和Tompkins对该算法进行了进一步的研究,QRS波检测包括QRS波峰值位置、宽度、面积的检测。在本文中,只须检测出QRS波的峰值点位置,为下一步ECG
4、信号的分割作准备,QRS波峰值检测的各个步骤的系统框图如下24:ECGHP filterLP filter 图3-1 QRS波检测系统框图ECG信号通过一个带通滤波器(由一个低通滤波器和一个高通滤波器串联组成)。再进行微(差)分、平方、滑动窗口平均、最后通过自适应阈值的检波方法,检测到QRS波的峰值。采样的心电信号经过数字带通滤波器,将QRS波与T波、U波等进行分离;微分后再平方,平方过程可突出微分后的频响曲线的斜率,并有助于减少由于T波具有更多高频分量而引起的误差;再做移动窗口(150ms)积分,积分所得的结果既包含QRS波群的斜率,又包含QRS波群的宽度的信息,然后应用两种阈值进行检测,一
5、是滤波后信号的阈值,另一是由窗口积分后的阈值。阈值的大小随信号的波动不断调整,这样可提高检测的可靠性,特别可以防止噪声引起的误差。1)滤波检测QRS波的峰值之前首先要确定QRS波的频率范围,QRS复合波的频率一般在5-15 Hz,所以我们用一带通滤波器(用一个上限频率为15 Hz的低通滤波器与一个下限频率为5 Hz的高通滤波器串联构成)将QRS波与T波、U波等分离开来。低通滤波器(LFP)的系统函数如下: (3-2)低通滤波器的输入、输出关系还可以用差分方程表示为: (3-3)式中 x(nT) :是低通滤波器的输入信号, y(nT) 是低通滤波器的输出信号 一阶低通滤波器的传递函数由下式给出:
6、 (3-4)LPF的差分方程表示为: (3-5)高通滤波器(HFP)的传递函数如下: (3-6)高通滤波器(HFP)的常系数线性差分方程表示为:(3-7)式中x(nT)是HPF的输入信号,p(nT)是HPF的输出信号,y(nT)是LPF的输出。2)求导数经过滤波后,我们要开始检测QRS波的峰值,首先对信号求导数,求导数的作用是求出波形各部分的斜率。求导过程的传递函数如下: (3-7)求导运算也可由下面的公式得到: (3-8)式中x(nT)是求导函数的输入, y(nT)是求导函数的输出。3)平方运算求导后是进行平方运算,将求导的结果进行平方,使斜率的差值进一步扩大,便于找出峰值点。 (3-8)式
7、中x(nT)是平方运算的输入,y(nT)是平方运算的输出。4)峰值的检测峰值的检测通过一个自适应的阈值,当信号在某一个固定时间间期内变化时,峰值是一个确定的值,通过下述算法,阈值不断调整以检测峰值,峰值检测到后,还要鉴定一下是信号峰值还是噪音的峰值。移动窗口积分可用下式表示: (3-9)式中:N是窗口中的信号样本点数,x(nT) 是积分运算的输入,y(nT)是积分运算的输出。窗口的大小以及N的选择很关键,窗口选得太大,会将T波也包含进来,窗口选得太小,就不能涵盖QRS波的全部信息,可能会检测到多个峰值。3.信号的分割正常情况下,人类的心跳率大约是每分种60至100次。既RR间期为0.6-1.0
8、秒,对于心律失常病症的诊断而言,最有参考价值的是QRS波,其次是P波和U波,T波及它们之前的间期值,而在每个周期内心电信号的最前面一部分和最后一部分对诊断的价值不大,而且VT和VF的RR间期比NSR的RR间期更要短得多。因此每个ECG样本选取300个采样点,即数据窗口为0.9(信号频率为360Hz)秒,其中,100个采样点在ECG峰值R以前,200个采样点在ECG峰值R以后。已经包含了一个心率周期内所有有用的ECG信息。32信号的特征提取如上一章所述,ECG信号的特征提取有多种现存的方法。在本文中,用一个空间预测模型(AR)对ECG信号进行建模25.26。AR模型的基本表达式为: (3-10)
9、AR建模的差分方程可表示为: (3-11)式中:y(n)是被测信号,a(i) AR模型的常系数,e(n)是高斯白噪声,p是AR模型的阶数。 因此,y(n)表示为t时刻以前的P阶输出的线性组合和误差的叠加。这意味着t时刻的输出依赖于以前信号的输入。现在问题是要在合适的P阶数下求出a(i)。1.建模阶次确定在整个建模过程中,首先要确定模型阶次p,不同的阶次,有不同的a值。如何来衡量模型的阶次选择是否合适,而且如果模型阶次选得太小,建模误差会很大,如果模型阶次过大,会导致运算量过大,影响分类的时间。本文引用以下二个准则来确定模型阶次P12。1)自相关系数: (3-12)其中,和分别为ECG信号i时刻
10、的原始值和预测值;m和分别为ECG信号原始值和预测值的均值;N为数据窗口长度;p为模型的阶数。2) 信噪比 (3-13)因此,用上述方法确定阶次P以后,就可以用下面的方法求出相应的AR建模系数。2.参数估计算法给定N个ECG信号样本,进行AR建模,求出合适的a(i),使建模误差最小,如何判断误差是否达到最小值,本文采用使误差平方和达到最小的方法。对于有限的N个样本,误差平方和E,用下式表示: (3-14)E的最小值出现对E的导数为0的这一点。从上面方程式可以看出,对于每个不同的确定的ak.,E的解是唯一的,但是太大的正或负的ak,值,E可能会非常大,因此。应达到最小,因此上式可以变换为: (3
11、-15)用Øj,k组成协方差矩阵 Ø 则: (3-16)上述等式可以表示为矩阵形式,如下所示: (3-17)参数矢量可由下式得到: (3-18)以上过程,可以通过MATLAB仿真实现。3.3 信号的分类本文中,心律失常的心电信号通过AR建模系数进行信号特征的提取,并以AR建模系数进行心律失常的分类,同样如上一章所述分类的方法有多种,本文主要采用BP神经网络(ANN)的分类方法,及基于线性分类器的分类法23。1. BP 神经网络分类法1)神经元及其特性连接机制结构的基本处理单元与神经生理学类比往往称为神经元。每个构造起网络的神经元模型模拟一个生物神经元,人工神经网络由神经元模
12、型构成;这种由许多神经元组成的信息处理网络具有并行分布结构。每个神经元具有单一输出,并且能够与其它神经元连接;存在许多(多重)输出连接方法,每种连接方法对应一个连接权系数。严格地说,人工神经网络是一种具有下列特性的有向图(如图3-2所示):(1)对于每个节点i存在一个状态变量xi;(2)从节点j至节点i,存在一个连接权系统数wij;(3)对于每个节点i,存在一个阈值 ;(4)对于每个节点i,定义一个换函数 fi(xi,wji, );如图3-2所示。该神经元单元由多个输入,i=1,2,.,n和一个输出y组成。中间状态由输入信号的权和表示,而输出可表示为: (3-19)图3-2 神经元
13、模型式(3-19)中,为神经元单元的偏置(阈值),wji为连接权系数(对于激发状态,wji取正值,对于抑制状态,wji取负值),n为输入信号数目,yj为神经元输出,t为时间,f()为输出变换函数,有时叫做激发或激励函数,往往采用0和1二值函数或形函数,见图1.2,这三种函数都是连续和非线性的。一种二值函数如图3-3(a)所示。一种常规的形函数见图3-3(b),常用双曲正切函数(见图3-3(c)来取代常规形函数,因为形函数的输出均为正值,而双曲正切函数的输出值可为正或负。双曲正切函数如下式所示: (3-20) 图3-3 神经元中的某些变换(激发)函数
14、;人工神经网络有两种基本结构:递归网络(如图3-4所示)和前馈网络(如图3-5所示)。递归网络又叫做反馈网络,在递归网络中,多个神经元互连以组织一个互连神经网络。有些神经元的输出被反馈至同层或前层神经元。因此,信号能够从正向和反向流通。Hopfield网络,Elmman网络和Jordan网络是递归网络有代表性的例子。前馈网络具有递阶分层结构,由一些同层神经元间不存在互连的层级组成。从输入层至输出层的信号通过单向连接流通;神经元从一层连接至下一层,不存在同层神经元间的连接,如图3-4所示。图中,实线指明实际信号流通而虚线表示反向传播。前馈网络的例子有多层感知器(MLP)、BP神经网络、学习矢量量
15、化(LVQ)网络、小脑模型联接控制(CMAC)网络和数据处理方法(GMDH)网络等。 图3-4 递归(反馈)网络 图3-5 前馈(多层)网络图3-4中,vi表示节点的状态,xi为节点的输入(初始)值,xi为收敛后的输出值,i=1,2,.,n。 神经网络主要通过两种学习算法进行训练,即指导式(有导师)学习算法和非指导式(无导师)学习算法。此外,还存在第三种学习算法,即强化学习算法;可把它看做有师学习的一种特例。有导师学习、 有导师学习算法能够根据期望的和实
16、际的网络输出(对应于给定输入)间的差来调整神经元间连接的强度或权。因此,有导师学习需要有个老师或导师来提供期望或目标输出信号。有导师学习算法的例子包括d 规则、误差反向传播(BP)算法以及LVQ算法等。2)BP神经网络在已出现的众多神经网络模型中,BP神经网络模型是最典型也是应用最为广泛和成功的网络之一。尤其是它在函数逼近、模式识别和故障诊断的应用中取得了巨大的成功。然而,尽管BP神经网络的研究取得了激动人心的成果,其应用也解决了一些实际问题,但还存在着不完善之处,如:初始权值的选择问题、局部极小值问题、网络结构问题等等。其中,神经网络结构更是难点,众所周知,神经网络应用的前提就是要确定一个合
17、适的网络结构模型,这对网络的性能(收敛性、推广能力等)有着重大的影响。典型的BP网络(如图2-1所示)是三层前向网络,由输入层、隐含层和输出层组成。图3-6典型的BP网络结构图一般情况下,神经网络的输入层和输出层的神经元数目由问题本身的性质决定,隐层的层数和各隐层的节点数由设计者根据问题的性质和对神经网络的性能要求来决定。输入层和输出层设计输入层起缓冲存储器的作用,把数据源加到网络上。其节点数目取决于数据源的维数,即这些节点能够代表每个数据源,所以,最困难的设计判决是弄清楚正确的数据源。如果数据源中有大量的未经处理的或者虚假的信息数据,那必将会妨碍对网络的正确训练,所以要剔除那些无效的数据,确
18、定出数据源的合适数目,大体上需要经过四步:(a)确定与应用有关的数据;(b)剔除那些在技术上和经济上不符合实际的数据源;(c)剔除那些边沿的或者不可靠的数据源;(d)开发一个能组合或预处理数据的方法,使这些数据更具有实用意义。人工神经网络只能处理表示成数值的输入数据,所以经常需要将外部的信息变换或编码。输入的神经单元可以根据需要求解的问题和数据表示的方式而定。如果输入的是模拟信号波形,那么输入层可以根据波形的采样点数决定输入单元的维数,也可以用一个单元输入,这时输入样本为采样的时间序列。如果输入为图像,则输入单元可以为图像的象素,也可以是经过处理后的图像特征。输出层的维数根据使用者的要求来确定
19、。如果BP网络用作分类器,其类别为个,有两种方法确定输出神经元的个数:(a)输出层有个神经元,其训练样本集中属于第类,要求其输出为即第个神经元的输出为1,其余输出为0。(b)输出神经元还可根据类别进行编码,即类的输出只要用个输出单元即可。.隐含层数和层内节点数的选择对于多层神经网络来说,首先要确定选用几层隐含层。对于如何确定隐含层数的问题,已有不少学者对此进行了理论上的研究。Lippmann的研究指出,对于函数近似和数据分类问题,可能需要两个隐层来学习按段连续函数。Cybenko证明了具有单隐层及任意固定的连续Sigmoid非线性函数的反传MLP,可以以任意精度逼近紧集上的任何连续函数。当被用
20、作具有硬限位(阶跃)激励函数的二进制取值神经元网络时,具有两个隐层的反传MLP可以形成任意复杂的决策区域以区分不同的类别。隐含层起抽象的作用,即它能从输入提取特征。增加隐含层可增加人工神经元网络的处理能力,但是必将使训练复杂化、训练样本数目增加和训练时间的增加。目前人们认为二进制分类或判决边界问题,一个隐含层就足够了。但是,如果要求输出是输入的任意连续函数,那就要用两个隐含层或者采用不同的激活函数。韦岗的研究成果表明,多层前向网络的函数逼近能力与隐层数目及隐层神经元特性函数的具体形式关系不大,而主要取决于网络的隐层神经元数目。所以,层内节点数需要进行恰当的选择。一般情况下,隐层节点数较多时,网
21、络结构比较复杂,学习时间长,能够很好的学习训练样本,输出误差小,但推广能力差;隐层节点数较少时,网络结构比较简单,虽然有较好的泛化能力,但完成对训练样本的学习较为困难。因此存在一个最佳的隐单元数,许多学者对此进行了研究: Hecht-Nielsen提出隐含层节点数目为,Lippmann认为最大隐含层节点的数目为,Kuarycki认为最大隐含层节点的数目为,A.J.Maren等人认为,对小型网络来说,输入节点数大于输出节点数时,最佳隐含层节点数等于,其中为输入的节点数,为输出层节点数。可供参考的估算公式还有:(1)。其中,为输出神经元数,为输入神经元数,为110之间的常数。(2),其中为输入神经
22、元数。近年来,许多学者提出了变结构动态调整隐含层神经元数目的方法,一种称为增长方法,即在开始时放入比较少的隐含单元,训练过程中,针对实际问题,根据网络性能要求逐步增加隐含单元个数,直到满足网络性能要求。另一种称为修剪方法,即在开始时构造一个含有冗余节点的网络,然后在训练的过程中逐步删除那些不必要的节点和权值,一直减少到不可收缩为止。这种方法对于硬件完成的BP多层网有一定的好处,但是,也存在着计算量大,效率低等缺点。增加隐含层的节点数可以改善网络与训练组匹配的精度(该精度近似比例于隐含层节点数的平方)。然而,为了改善网络的概括推论能力,又要求适当减少隐含层的节点数。所以,对一特定的应用网络,其隐
23、含层的节点数应该是按精确度和概括性综合统一考虑。.基本BP算法多层前向神经网络的学习采用误差反向传播算法(Back-Propagation Algorithm),简称BP算法。BP算法是一种有导师的学习算法,其主要思想是把学习过程分为四个部分:一是输入模式从输入层经隐含层传向输出层的“模式顺传播”过程;二是网络的希望输出与实际输出之差的误差信号由输出层经隐含层向输入层逐层修正连接权的“误差逆传播”过程;三是由“模式顺传播”和“误差逆传播”的反复交替进行的网络“记忆训练”过程;四是网络趋向收敛即网络的全局误差趋向极小值的“学习收敛”过程。对于图3-6所示的前向网络,设有个输入输出对。其中,为第个
24、样本输入向量:,为输入向量维数;为第个样本输出向量(期望输出):,为输出向量维数。网络的实际输出向量为:;为前一层第个神经单元到后一层第个神经单元的权重。由于BP网络要求采用非线性的连续可导的激发函数,这里采用Sigmoid函数作为激发函数。 (3-21)当神经元为输入层单元时,。对于第个样本,第个神经单元的状态定义为:。 (3-22)则第个神经单元的输出为:。 (3-23)对于具有隐层的多层前向网络,当神经元激发函数采用Sigmoid函数作为激发函数时, (3-24)故对输出层单元: (3-25)对隐层单元: (3-26)权值调节为: (3-27)在实际的学习过程中,学习速率对学习过程的影响
25、很大,是按梯度搜索的步长。越大,权值的变化越剧烈。为了使学习速度足够快而不易产生振荡,往往再加上一个势态项,即: (3-28)式中,是一个常数,它决定过去权重的变化对目前权值变化的影响。BP算法的具体步骤如下: (1)置各权值或阈值的初始值:为小的随机数值。 (2)提供训练样本:输入矢量,;期望输出,;对每个输入样本进行下面(3)到(5)的迭代。(3)计算网络的实际输出及因此单元的状态: (3-28)(4)按式(3-25)、(3-26)计算输出层、隐层训练误差。(5)按下式修正权值和阈值: (3-29) (3-30)(6)当每经历1至后,判断指标是否满足精度要求: ; (:精度)(7)结束。B
26、P模型虽然具有很多优点,而且应用也很广泛,但它也存在一些不足,主要有:(1)从数学上看,它是一个非线性优化问题,不可避免地存在局部极小点;(2)学习算法的收敛速度很慢; (3)网络隐含层节点数的选取带有很大的盲目性和经验性,尚无理论上的指导; (4)新加入的样本要影响已学完的样本。BP网络运用的误差反向传播算法要求学习率要充分小,这样才能使网络的误差代价函数收敛到全局极小点,然而较小的学习率使得BP算法的学习速度很慢,网络的收敛时间大为增加,通常需要几千次或更多次数的迭代才能收敛到全局极小点;但是采用较大的学习率则会导致网络在学习过程中出现麻痹现象(这是由于在训练过程中,加权值调节得过大时可能
27、迫使所有的或大部分的神经元节点的加权和输出较大,从而工作在Sigmoid激发函数的饱和区,此时激发函数的导数非常小,随之加权修正量也非常小,若当激发函数的导数时,结果使得各层连接权的修正量趋于零,即,这就相当于使调节过程几乎停顿下来)。从而使系统在局部极小点附近徘徊,无法收敛。由于BP算法自身存在的问题,不少学者进行了研究,提出了一些改进方法,这些方法大都集中在如何提高收敛速度和尽可能避免陷入局部极小。包括牛顿法、拟牛顿法、共轭梯度法、LevenbergManquardt法等。这些方法的主要不同在于如何选择下次的下降方向,一旦确定了下降方向,所有算法只需沿相应直线朝极小点前进一步。牛顿法主要是
28、在最优值附近产生一个理想的搜索方向。李歧强等由自适应BP算法和牛顿算法导出了自适应步长和动量解耦的伪牛顿算法,徐嗣新等提出了前向网络的分段学习算法,该算法结合了BP算法和牛顿算法,从而提高收敛速度。由于牛顿法用到了Hessian矩阵,常常计算复杂性较大,这是其不足之处。LevenbergManquardt法实际上是梯度下降法和牛顿法的结合。它的优点在于网络权值数目较少时收敛非常迅速。梯度下降法收敛较慢,拟牛顿法计算复杂,而共轭梯度法则力图避免两者的缺点。共轭梯度法的第一步是沿负梯度方向进行搜索,然后再沿当前搜索方向的共轭方向搜索,从而可以迅速达到最优值。Charalambous提出了一种适合于BP学习的共轭梯度法,将该方法与一种简单的不确定线性搜索相结合,可极大的提高收敛速度。BP神经网络用于信号分类的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年传染病防治兽药项目规划申请报告
- 2025年建筑安装服务项目提案报告
- 2024-2025学年砚山县数学三上期末质量检测试题含解析
- 2025年果蔬罐头加工项目提案报告
- 2025年低碳小镇项目规划申请报告模板
- 专家邀请函范文锦集六篇
- 质量承诺书模板集合8篇
- 上海装修施工合同
- 学生军训心得体会(集合15篇)
- 电子商务实习自我鉴定9篇
- 淮海工学院数据库原理与技术复习题及答案
- 建龙资料备案正版表格
- 化工原理期末考试练习题及答案
- 解码万达商管运作架构:组织结构图、各部管理职责
- 走进无字书图书馆(课堂PPT)
- 网络安全运维培训测试题
- 民政部主管社团管理办法
- 内蒙古自治区重大建设项目档案验收实施细则
- 四方合作协议合同书(共4页)
- 防护设备操作手册
- 学前教育-幼儿园环境创设对幼儿创造力和审美性影响研究
评论
0/150
提交评论