基于matlab的滤波器设计第三章

更新时间:2024-01-10 00:26:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第三章 ECG检测方法

本章将主要介绍本文所采用的ECG信号的检测方法的基本原理。首先要对ECG信号进行预处理:采用滤波技术消除各种噪声,采用Tompkins算法检测出QRS波的峰值,并对周期性的ECG信号进行分割。然后介绍采用AR建模技术提取ECG信号的特征的基本原理,以及如何采用相关系数及信噪比两个指标来确定建模阶次P,最后介绍本文采用的BP神经网络分类法和基于二次判别函数分类方法的基本原理及相关的计算公式。

3.1信号的预处理

本文中所使用的ECG信号取自MIT-BIH数据库:NSR信号取自“MIT-BIH arrhythmia database”,其采样频率是360Hz;VT信号和VF信号取自“MIT-BIH Ventricular Arrhythmia database”,其采样频率是250Hz。信号的频率都统一转化为360Hz。在提取信号特征之前,需要对ECG信号进行预处理:采用滤波技术消除实时测量时可能存在的噪音,采用Tompkins算法检测出QRS波的峰值,并对周期性的ECG信号进行分割,选取有效的窗口数据。 1.信号的滤波

在实时测量得到的ECG信号通常带有噪音,噪声的来源是多种多样的,病人的呼吸 ,电极的移动,电源的工频干扰,肌肉收缩引起的高频噪音等,这些噪音和干扰会对ECG信号检测准确性带来很大的影响。所以首先要消除这些噪音,才能进行进一步的分析。据有关资料显示,电源引起的噪音频率约(50-60Hz),呼吸引起的噪音频率约0.2Hz左右,电极移动引起的低频噪音约0.3HZ肌肉收缩引起的高频噪音。本文采用带通滤波器(BPF)(由一个低通滤波器和一个高通滤波器)组成 ,对ECG信号进行滤波。其上下边带截止频率是1Hz和50Hz,能有效地消除各种噪音[24]。

低通滤波器(LFP)的系统函数如下:

1?2z?6?Z?12 ( 3-1)

L(z)?1?2z?1?Z?22. QRS波峰值检测

本文中的ECG信号QRS波的检测算法最初由Pan Tompkins提出,Hamilton 和Tompkins对该算法进行了进一步的研究,QRS波检测包括QRS波峰值位置、宽度、面积的检测。在本文中,只须检测出QRS波的峰值点位置,为下一步ECG信号的分割作准备,QRS波峰值检测的各个步骤的系统框图如下[24]:

16

ECG LP filter HP filter d?? dt??2 132??? 32n?1图3-1 QRS波检测系统框图

ECG信号通过一个带通滤波器(由一个低通滤波器和一个高通滤波器串联组成)。再进行微(差)分、平方、滑动窗口平均、最后通过自适应阈值的检波方法,检测到QRS波的峰值。采样的心电信号经过数字带通滤波器,将QRS波与T波、U波等进行分离;微分后再平方,平方过程可突出微分后的频响曲线的斜率,并有助于减少由于T波具有更多高频分量而引起的误差;再做移动窗口(150ms)积分,积分所得的结果既包含QRS波群的斜率,又包含QRS波群的宽度的信息,然后应用两种阈值进行检测,一是滤波后信号的阈值,另一是由窗口积分后的阈值。阈值的大小随信号的波动不断调整,这样可提高检测的可靠性,特别可以防止噪声引起的误差。 1)滤波

检测QRS波的峰值之前首先要确定QRS波的频率范围,QRS复合波的频率一般在5-15 Hz,所以我们用一带通滤波器(用一个上限频率为15 Hz的低通滤波器与一个下限频率为5 Hz的高通滤波器串联构成)将QRS波与T波、U波等分离开来。

低通滤波器(LFP)的系统函数如下:

(1?z?6)2 (3-2)

H(z)?(1?z?1)2低通滤波器的输入、输出关系还可以用差分方程表示为:

y(nT)?2y(nT?T)?y(nT?2T)?x(nT)?2x(nT?6T)?x(nT?12T) (3-3)式中 x(nT) :是低通滤波器的输入信号, y(nT) 是低通滤波器的输出信号 一阶低通滤波器的传递函数由下式给出:

Y(z)1?Z?32 (3-4)

Hlp(z)??X(z)1?Z?1LPF的差分方程表示为:

y(nT)?y(nT?T)?x(nT)?x(nT?32T) (3-5)

高通滤波器(HFP)的传递函数如下:

17

HHP(Z)?HlP(Z) P(Z)?Z?16?X(Z)32 (3-6)

高通滤波器(HFP)的常系数线性差分方程表示为:

p(nT)?x(nT?16T)?(1/32)[y(nT?T)?x(nT)?x(nT?32T)](3-7)

式中x(nT)是HPF的输入信号,p(nT)是HPF的输出信号,y(nT)是LPF的输出。 2)求导数

经过滤波后,我们要开始检测QRS波的峰值,首先对信号求导数,求导数

的作用是求出波形各部分的斜率。 求导过程的传递函数如下:

H(z)?0.1(2?z?1?z?2?2z?4)

(3-7)

求导运算也可由下面的公式得到:

y(nT)?(1/8)[2x(nT)?x(nT?T)?x(nT?2T)?2x(nT?4T)] (3-8)

式中x(nT)是求导函数的输入, y(nT)是求导函数的输出。 3)平方运算

求导后是进行平方运算,将求导的结果进行平方,使斜率的差值进一步扩大,便于找出峰值点。

y(nT)?[x(nT)]2 (3-8)

式中x(nT)是平方运算的输入,y(nT)是平方运算的输出。 4)峰值的检测

峰值的检测通过一个自适应的阈值,当信号在某一个固定时间间期内变化时,峰值是一个确定的值,通过下述算法,阈值不断调整以检测峰值,峰值检测到后,还要鉴定一下是信号峰值还是噪音的峰值。 移动窗口积分可用下式表示:

y(nT)?1/N[x(nT?(N?1)T?x(nT?(N?2)T)?....?x(nT)] (3-9)

式中:N是窗口中的信号样本点数,x(nT) 是积分运算的输入,y(nT)是积分运算的输出。

窗口的大小以及N的选择很关键,窗口选得太大,会将T波也包含进来,窗口选得太小,就不能涵盖QRS波的全部信息,可能会检测到多个峰值。 3.信号的分割

正常情况下,人类的心跳率大约是每分种60至100次。既RR间期为0.6-1.0

18

秒,对于心律失常病症的诊断而言,最有参考价值的是QRS波,其次是P波和U波,T波及它们之前的间期值,而在每个周期内心电信号的最前面一部分和最后一部分对诊断的价值不大,而且VT和VF的RR间期比NSR的RR间期更要短得多。因此每个ECG样本选取300个采样点,即数据窗口为0.9(信号频率为360Hz)秒,其中,100个采样点在ECG峰值R以前,200个采样点在ECG峰值R以后。已经包含了一个心率周期内所有有用的ECG信息。

3.2信号的特征提取

如上一章所述,ECG信号的特征提取有多种现存的方法。在本文中,用一个空间预测模型(AR)对ECG信号进行建模[25.26]。 AR模型的基本表达式为:

A(q)Y(t)?e(t) (3-10)

AR建模的差分方程可表示为:

y(n)??a(2)y(n?1)?a(3)y(n?2)?..........?a(p?1)y(n?p)?e(n) (3-11)

式中:y(n)是被测信号,a(i) AR模型的常系数,e(n)是高斯白噪声,p是AR模型的阶数。

因此,y(n)表示为t时刻以前的P阶输出的线性组合和误差的叠加。这意味着t时刻的输出依赖于以前信号的输入。现在问题是要在合适的P阶数下求出a(i)。

1.建模阶次确定

在整个建模过程中,首先要确定模型阶次p,不同的阶次,有不同的a值。如何来衡量模型的阶次选择是否合适,而且如果模型阶次选得太小,建模误差会很大,如果模型阶次过大,会导致运算量过大,影响分类的时间。本文引用以下二个准则来确定模型阶次P[12]。 1)自相关系数ρ:

N~(i)?m~)?(v(i)?m)(vi?p?1NN~~)2(v(i)?m)2??(v(i)?mi?p?1i?p?1 (3-12)

??~分别为ECG~(i)分别为ECG信号i时刻的原始值和预测值;其中,v(i)和vm和m信号原始值和预测值的均值;N为数据窗口长度;p为模型的阶数。 2) 信噪比

19

SNR?10log??y?i??2i?1N (3-13)

2y?i????y?i??~i?1N因此,用上述方法确定阶次P以后,就可以用下面的方法求出相应的AR建

模系数。 2.参数估计算法

给定N个ECG信号样本,进行AR建模,求出合适的a(i),使建模误差最小,如何判断误差是否达到最小值,本文采用使误差平方和达到最小的方法。 对于有限的N个样本,误差平方和E,用下式表示:

N?1E?n?0?e(n)2N?1?n?0?(y(n)??aky(n?k))k?1p2 (3-14)

E的最小值出现对E的导数为0的这一点。从上面方程式可以看出,对于每个不同的确定的ak.,E的解是唯一的,但是太大的正或负的ak,,值,E可能会非常大,因此。?E?应达到最小,因此上式可以变换为:

akN?1n?0pN?1n?0?y(n)y(n?j)??ak?y(n?k)y(n?j)k?1 (3-15)

用?j,k组成协方差矩阵 ? 则:

?j,k??y(n?j)y(n?k)n?0N?1 (3-16)

上述等式可以表示为矩阵形式,如下所示:

??1,0???1,1?1,2?????2,0???2,1?2,2?????3,0????3,1?3,2???...?...??...????????p,0???p,1?p,2?1,2?2.3?3,3...?p,3 (3-17) ...?1,p???a1?...?2,p??a2????...?3,p??a3????......??...??ap???...?p,p???参数矢量可由下式得到:

a???1?0

(3-18)

以上过程,可以通过MATLAB仿真实现。

20

3.3 信号的分类

本文中,心律失常的心电信号通过AR建模系数进行信号特征的提取,并以AR建模系数进行心律失常的分类,同样如上一章所述分类的方法有多种,本文主要采用BP神经网络(ANN)的分类方法,及基于线性分类器的分类法[23]。 1. BP 神经网络分类法 1)神经元及其特性

连接机制结构的基本处理单元与神经生理学类比往往称为神经元。每个构造起网络的神经元模型模拟一个生物神经元,人工神经网络由神经元模型构成;这种由许多神经元组成的信息处理网络具有并行分布结构。每个神经元具有单一输出,并且能够与其它神经元连接;存在许多(多重)输出连接方法,每种连接方法对应一个连接权系数。严格地说,人工神经网络是一种具有下列特性的有向图(如图3-2所示):(1)对于每个节点i存在一个状态变量xi;(2)从节点j至节点i,存在一个连接权系统数wij;(3)对于每个节点i,存在一个阈值?i ;(4)对于每个节点i,定义一个换函数 fi(xi,wji, ?i);如图3-2所示。该神经元单元由多个输入,中间状态由输入信号的权和表示,而输出可表示为:i=1,2,...,n和一个输出y组成。

(3-19)

图3-2 神经元模型

式(3-19)中,?j为神经元单元的偏置(阈值),wji为连接权系数(对于激发状态,wji取正值,对于抑制状态,wji取负值),n为输入信号数目,yj为神经元输出,

t为时间,f(_)为输出变换函数,有时叫做激发或激励函数,往往采用0和1二值函数或S形函数,见图1.2,这三种函数都是连续和非线性的。一种二值函数 如图3-3(a)所示。一种常规的S形函数见图3-3(b),常用双曲正切函数(见图3-3(c))来取代常规S形函数,因为S形函数的输出均为正值,而双曲正切函数的输出值可为正或负。双曲正切函数如下式所示:

(3-20)

21

图3-3 神经元中的某些变换(激发)函数

人工神经网络有两种基本结构:递归网络(如图3-4所示)和前馈网络(如图3-5所示)。递归网络又叫做反馈网络,在递归网络中,多个神经元互连以组织一个互连神经网络。有些神经元的输出被反馈至同层或前层神经元。因此,信号能够从正向和反向流通。Hopfield网络,Elmman网络和Jordan网络是递归网络有代表性的例子。前馈网络具有递阶分层结构,由一些同层神经元间不存在互连的层级组成。从输入层至输出层的信号通过单向连接流通;神经元从一层连接至下一层,不存在同层神经元间的连接,如图3-4所示。图中,实线指明实际信号流通而虚线表示反向传播。前馈网络的例子有多层感知器(MLP)、BP神经网络、学习矢量量化(LVQ)网络、小脑模型联接控制(CMAC)网络和数据处理方法(GMDH)网络等。

图3-4 递归(反馈)网络 图3-5 前馈(多层)网络

图3-4中,vi表示节点的状态,xi为节点的输入(初始)值,xi为收敛后的输出值,i=1,2,...,n。

神经网络主要通过两种学习算法进行训练,即指导式(有导师)学习算法和非指导式(无导师)学习算法。此外,还存在第三种学习算法,即强化学习算法;可把它看做有师学习的一种特例。有导师学习、 有导师学习算法能够根据期望的和实际的网络输出(对应于给定输入)间的差来调整神经元间连接的强度或权。因此,有导师学习需要有个老师或导师来提供期望或目标输出信号。有导师学习算法的例子包括d 规则、误差反向传播(BP)算法以及LVQ算法等。 2)BP神经网络

在已出现的众多神经网络模型中,BP神经网络模型是最典型也是应用最为广泛和成功的网络之一。尤其是它在函数逼近、模式识别和故障诊断的应用中取得了巨大的成功。然而,尽管BP神经网络的研究取得了激动人心的成果,其应用也解决了一些实际问题,但还存在着不完善之处,如:初始权值的选择问题、

22

局部极小值问题、网络结构问题等等。其中,神经网络结构更是难点,众所周知,神经网络应用的前提就是要确定一个合适的网络结构模型,这对网络的性能(收敛性、推广能力等)有着重大的影响。典型的BP网络(如图2-1所示)是三层前向网络,由输入层、隐含层和输出层组成。

图3-6典型的BP网络结构图

一般情况下,神经网络的输入层和输出层的神经元数目由问题本身的性质决定,隐层的层数和各隐层的节点数由设计者根据问题的性质和对神经网络的性能要求来决定。 ⅰ输入层和输出层设计

输入层起缓冲存储器的作用,把数据源加到网络上。其节点数目取决于数据源的维数,即这些节点能够代表每个数据源,所以,最困难的设计判决是弄清楚正确的数据源。如果数据源中有大量的未经处理的或者虚假的信息数据,那必将会妨碍对网络的正确训练,所以要剔除那些无效的数据,确定出数据源的合适数目,大体上需要经过四步:

(a)确定与应用有关的数据;

(b)剔除那些在技术上和经济上不符合实际的数据源; (c)剔除那些边沿的或者不可靠的数据源;

(d)开发一个能组合或预处理数据的方法,使这些数据更具有实用意义。 人工神经网络只能处理表示成数值的输入数据,所以经常需要将外部的信息变换或编码。

输入的神经单元可以根据需要求解的问题和数据表示的方式而定。如果输入的是模拟信号波形,那么输入层可以根据波形的采样点数决定输入单元的维数,也可以用一个单元输入,这时输入样本为采样的时间序列。如果输入为图像,则输入单元可以为图像的象素,也可以是经过处理后的图像特征。

输出层的维数根据使用者的要求来确定。如果BP网络用作分类器,其类别为m个,有两种方法确定输出神经元的个数:

(a)输出层有m个神经元,其训练样本集中xP1属于第j类,要求其输出为

23

y?(0,0,?0,1,0,0,?0)Tjm

即第j个神经元的输出为1,其余输出为0。

(b)输出神经元还可根据类别进行编码,即m类的输出只要用log2m个输出单元即可。

ⅱ.隐含层数和层内节点数的选择

对于多层神经网络来说,首先要确定选用几层隐含层。对于如何确定隐含层数的问题,已有不少学者对此进行了理论上的研究。Lippmann的研究指出,对于函数近似和数据分类问题,可能需要两个隐层来学习按段连续函数。Cybenko证明了具有单隐层及任意固定的连续Sigmoid非线性函数的反传MLP,可以以任意精度逼近紧集上的任何连续函数。当被用作具有硬限位(阶跃)激励函数的二进制取值神经元网络时,具有两个隐层的反传MLP可以形成任意复杂的决策区域以区分不同的类别。隐含层起抽象的作用,即它能从输入提取特征。增加隐含层可增加人工神经元网络的处理能力,但是必将使训练复杂化、训练样本数目增加和训练时间的增加。目前人们认为二进制分类或判决边界问题,一个隐含层就足够了。但是,如果要求输出是输入的任意连续函数,那就要用两个隐含层或者采用不同的激活函数。韦岗的研究成果表明,多层前向网络的函数逼近能力与隐层数目及隐层神经元特性函数的具体形式关系不大,而主要取决于网络的隐层神经元数目。所以,层内节点数需要进行恰当的选择。一般情况下,隐层节点数较多时,网络结构比较复杂,学习时间长,能够很好的学习训练样本,输出误差小,但推广能力差;隐层节点数较少时,网络结构比较简单,虽然有较好的泛化能力,但完成对训练样本的学习较为困难。因此存在一个最佳的隐单元数,许多学者对此进行了研究: Hecht-Nielsen提出隐含层节点数目为2N?1,Lippmann认为最大隐含层节点的数目为M1(N?1),Kuarycki认为最大隐含层节点的数目为M1?3,A.J.Maren等人认为,对小型网络来说,输入节点数大于输出节点数时,最佳隐含层节点数等于M?N,其中N为输入的节点数,M1为输出层节

1点数。可供参考的估算公式还有:

(1)J?n?m?a。其中,m为输出神经元数,n为输入神经元数,a为1—10之间的常数。

(2)J?log2n,其中n为输入神经元数。

近年来,许多学者提出了变结构动态调整隐含层神经元数目的方法,一种称为增长方法,即在开始时放入比较少的隐含单元,训练过程中,针对实际问题,根据网络性能要求逐步增加隐含单元个数,直到满足网络性能要求。另一种称为

24

修剪方法,即在开始时构造一个含有冗余节点的网络,然后在训练的过程中逐步删除那些不必要的节点和权值,一直减少到不可收缩为止。这种方法对于硬件完成的BP多层网有一定的好处,但是,也存在着计算量大,效率低等缺点。 增加隐含层的节点数可以改善网络与训练组匹配的精度(该精度近似比例于隐含层节点数的平方)。然而,为了改善网络的概括推论能力,又要求适当减少隐含层的节点数。所以,对一特定的应用网络,其隐含层的节点数应该是按精确度和概括性综合统一考虑。 ⅲ.基本BP算法

多层前向神经网络的学习采用误差反向传播算法(Back-Propagation

,简称BP算法。BP算法是一种有导师的学习算法,其主要思想是把Algorithm)

学习过程分为四个部分:一是输入模式从输入层经隐含层传向输出层的“模式顺传播”过程;二是网络的希望输出与实际输出之差的误差信号由输出层经隐含层向输入层逐层修正连接权的“误差逆传播”过程;三是由“模式顺传播”和“误差逆传播”的反复交替进行的网络“记忆训练”过程;四是网络趋向收敛即网络的全局误差趋向极小值的“学习收敛”过程。

对于图3-6所示的前向网络,设有P个输入—输出对(Xk,Tk)(k?1,2,?,P)。其中,Xk为第k个样本输入向量:Xk?(xk1,xk2,?,xkM),M为输入向量维数;(期望输出):Tk?(tk1,tk2,?,tkN),N为输出向量维数。Tk为第k个样本输出向量

网络的实际输出向量为:Ok?(ok1,ok2,?,okN)T;?ji为前一层第i个神经单元到后一层第j个神经单元的权重。

由于BP网络要求采用非线性的连续可导的激发函数,这里采用Sigmoid函数作为激发函数。

f(x)?1 (3-21) 1?e?x当神经元为输入层单元时,Ok?Xk。

对于第k个样本,第j个神经单元的状态定义为:

Netkj???jioki。 (3-22)

i则第j个神经单元的输出为:

25

okj?fj(Netkj)。 (3-23)

对于具有隐层的多层前向网络,当神经元激发函数采用Sigmoid函数作为激发函数时,

f(Netkj)?故对输出层单元:

'j?okj?Netkj?okj(1?okj) (3-24)

?kj?(tkj?okj)?okj(1?okj) (3-25)

对隐层单元:

?kj?okj(1?okj)??km?mj (3-26)

m权值调节为:

??ji(t?1)???kjoki (3-27)

在实际的学习过程中,学习速率?对学习过程的影响很大,?是按梯度搜索的步长。?越大,权值的变化越剧烈。为了使学习速度足够快而不易产生振荡,往往再加上一个‘势态项’,即:

??ji(t?1)???kjoki????ji(t) (3-28)

式中,?是一个常数,它决定过去权重的变化对目前权值变化的影响。 BP算法的具体步骤如下:

(1)置各权值或阈值的初始值:?ji(0),?j(0)为小的随机数值。 (2)提供训练样本:输入矢量Xk,k?1,2,?,P;期望输出Tk,k?1,2,?,P;对每个输入样本进行下面(3)到(5)的迭代。 (3)计算网络的实际输出及因此单元的状态:

okj?fj(??jioki??j) (3-28)

i(4)按式(3-25)、(3-26)计算输出层、隐层训练误差。 (5)按下式修正权值和阈值:

?ji(t?1)??ji(t)???joki??[?ji(t)??ji(t?1)] (3-29)

26

?j(t?1)??j(t)???j??[?j(t)??j(t?1)] (3-30)

(6)当k每经历1至P后,判断指标是否满足精度要求: E??; (?:精度)

(7)结束。

BP模型虽然具有很多优点,而且应用也很广泛,但它也存在一些不足,主要有:(1)从数学上看,它是一个非线性优化问题,不可避免地存在局部极小点;(2)学习算法的收敛速度很慢; (3)网络隐含层节点数的选取带有很大的盲目性和经验性,尚无理论上的指导; (4)新加入的样本要影响已学完的样本。 BP网络运用的误差反向传播算法要求学习率要充分小,这样才能使网络的误差代价函数收敛到全局极小点,然而较小的学习率使得BP算法的学习速度很慢,网络的收敛时间大为增加,通常需要几千次或更多次数的迭代才能收敛到全局极小点;但是采用较大的学习率则会导致网络在学习过程中出现麻痹现象(这是由于在训练过程中,加权值调节得过大时可能迫使所有的或大部分的神经元节点的加权和输出较大,从而工作在Sigmoid激发函数的饱和区,此时激发函数的导数f'(net)非常小,随之加权修正量也非常小,若当激发函数的导数f'(net)?0时,结果使得各层连接权的修正量趋于零,即?W?0,这就相当于使调节过程几乎停顿下来)。从而使系统在局部极小点附近徘徊,无法收敛。

由于BP算法自身存在的问题,不少学者进行了研究,提出了一些改进方法,这些方法大都集中在如何提高收敛速度和尽可能避免陷入局部极小。包括牛顿法、拟牛顿法、共轭梯度法、Levenberg—Manquardt法等。这些方法的主要不同在于如何选择下次的下降方向,一旦确定了下降方向,所有算法只需沿相应直线朝极小点前进一步。牛顿法主要是在最优值附近产生一个理想的搜索方向。李歧强等由自适应BP算法和牛顿算法导出了自适应步长和动量解耦的伪牛顿算法,徐嗣新等提出了前向网络的分段学习算法,该算法结合了BP算法和牛顿算法,从而提高收敛速度。由于牛顿法用到了Hessian矩阵,常常计算复杂性较大,这是其不足之处。Levenberg—Manquardt法实际上是梯度下降法和牛顿法的结合。它的优点在于网络权值数目较少时收敛非常迅速。梯度下降法收敛较慢,拟牛顿法计算复杂,而共轭梯度法则力图避免两者的缺点。共轭梯度法的第一步是沿负梯度方向进行搜索,然后再沿当前搜索方向的共轭方向搜索,从而可以迅速达到最优值。Charalambous提出了一种适合于BP学习的共轭梯度法,将该方法与一种简单的不确定线性搜索相结合,可极大的提高收敛速度。

BP神经网络用于信号分类的基本思想如下:

对于整个输入样本空间有M个明显的分类,设想网络的训练目标是一个二值函数,则:

dkj?1 当输入样本x j 属于Фk时 dkj?0

当输入样本 x j 不属于Фk时

27

基于这种表示法,可用一个M维的输出来表示类别Фk,除了第K个输出为1,其它输出均为0。

本文中,ECG信号的分类只涉及3个信号,输出层采用三个神经元,并采用二进制目标编码的方式:“100” 为NSR信号,“010”为VT信号,“001”为 VF信号。

采用随机抽取多组样本对BP神经网络进行训练,然后固定权值,用新的样本进行测试。其判决规则是:在三个输出“XYZ”中,如果“X”为最大,则样本属于NSR, 如果“Y”为最大,则样本属于VT, 如果“Z”为最大,则样本属于VF。

3.3.3基于线性分类器的分类方法

利用AR建模系数,采用树状决策过程和线性分类器对ECG信号进行分类。线性分类器的方程为[26]:

~Y?A??e写成矩阵形式如下

y1??A11?~????.?.?~Y??.?, A??.????.?.??A?~??yn??1nand E(e)=0 (3-31)

A21...A2n......AP1???1??e1??????..????.?.?, ???.?,e??.??????.??.??.?????e?Apn??n??p??(3-32)

其中,yi为某一ECG样本特征向量的目标值 (成员关系);ei为随机误差;A为

AR建模系数构成的矩阵,?为P×1的列矩阵。 基于最小二乘平方误差准则:

~?Y?A?22 (3-33) ~?minY?A??? 是 β的最小平方估计值 ?设

~Q(?)?Y?A?2~2~ (3-34) ?Y?2YTA???TS?上式中S=ATA. 则当?Q时,~?Y?A??0??故式(3-31)的解为:

22达到最小值。 ~?minY?A??28

??(ATA)?1ATY (3-35)

所以分类器的判别函数为:

Y?A?

~ (3-36)

将各类ECG的目标值yi分别定义为某一整数,如1、-1等,假设所有ECG样本数为D,则可得到如下的方程:

a21a31a41?1??1?1??1a22a32a42???...?.??.???...?.??.?.??....???a2na3na4n?1???.1??1??1a2(n?1)a3(n?1)a4(n?1)?????1??1a2(n?2)a3(n?2)a4(n?2)?.??....???...?.??.?.??....??????1????1a2(n?m)a3(n?m)a4(n?m)....................................?a(p?1)2??.???(0)??e(0)??????.???(1)??e(1)????(2)??e(2)?.?????a(p?1)n???(3)??e(3)?.?a(p?1)(n?1)??.??.??????a(p?1)(n?2)??.??.???.??.?.?????.?(p)e(p)??????.?a(p?1)(n?m)??a(p?1)1式中??(?(0),?(1),?(2),?(3),...,?(p))T是估计系数, a(2), a(3) ,a(4) ,…a(p+1) 是信号的AR建模系数, ? 为事先定义的目标值 1 或 -1, Y 是估计值, n 是?中等

于“1”的个数, m 是? 中等于“-1” 的个数。 “1” 或 “-1” 对应不同的分类, 利用式(3-36)可解出相应的?值,然后固定?值,输入新的A,则根据输出Y值的不同,可确定信号的分类。 3.4本章小结

本章主要介绍了ECG信号的检测方法的基本原理:滤波的原理,QRS波峰值检测的原理,AR建模的原理以及采用相关系数和信噪比两个指标确定建模系数的其本原理,最后还介绍了BP神经网络和线性分类器用于ECG信号分类的基本原理。上述原理的具体实现将在下一章进行阐述。

29

本文来源:https://www.bwwdw.com/article/4kzo.html

Top