根据Marr小波基函数,计算得到相应的小波分解低通和高通滤波器的系数l和h,如下图2-1所示:根据人和气就可以利用Mallat算法递归计算出信号的小波变换。 图2-1 基于Marr小波变换的R波峰值奇异点定位 由前面的讨论可知,信号x(t)的所有奇异点在尺度一时间平面的模极大值线上,且其小波变换在 充分接近于零时,其模极大值点就是信号的突变点。由于Marr小波是二次微分小波,而且图形是以原点左右对称的,因此原始信号的奇异点在其小波变换的各层细节信号上仍然保持为极大值,这就使得对原始心电信号R波峰值奇异点的检测可以转化为对特征尺度上细节信号的极大值点的检测\相比之下,Marr小波能克服采用一次微分小波检测信号奇异点时存在的以下缺陷:(l)一次微分小波检测算法需通过检测小波模极大值对的过零点来定位信号奇异点,而过零点易受到噪声干扰,使得定位精度的稳定性难以保证。(2)一次微分小波变换算法中需借助于一对相邻的模极值点位置及两者之间的斜率间接确定R波位置,并且还要根据特征尺度进行时移修正,其计算过程相对比较复杂和繁琐。 而我们以软件为主的方法实现QRS波的检测滤波之后的信号一般经过一些变换以提高QRS波的份量,进而采用一系列阈值进行判别,这些阈值有固定阈值法,也有可变阈值法。前者由于可能的干扰或高P、高T波的存在,若其滤波后超过其阈值便会产生假阳性(FP,falsepositive)结果;另外,当心律失常或QRS波幅度变小,阈值设置过高,会导致漏检产生假阴性(FN,falsenegative)结果。由于固定阈值的这些缺点,有研究者提出了用可变阈值检测,以提高检测的精确率,所采用的可变阈值包括幅度阈值、斜率阈值和时间间隔阈值等。 编写的源程序: Q波和S波通常是低幅高频波,一般Q波位于S波之前,S波位于R波之后 ,由于他们是一般向下的波,所以他们的峰值点和极值是对应的。因次在检测到R波向左和向右分别搜寻到极值点,对应的就是Q波和S波。而现在我们只需要检测到R波,所以就不需要检测Q波与S波的极值点了。 具体程序如下: ECG-R波检测: clear all; clc; z=textread('ECG.txt'); ECG=z(:,1); input=ECG(1:256); rate=ECG(100); sig=input; lensig=length(sig); wtsig1=cwt(sig,6,'mexh'); lenwtsig1=length(wtsig1); wtsig1(1:20)=0; wtsig1(lenwtsig1-20:lenwtsig1)=0; y=wtsig1; yabs=abs(y); %? sigtemp=y; siglen=length(y); sigmax=[]; for i=1:siglen-2 if (y(i+1)>y(i)&y(i+1)>y(i+2))|(y(i+1)
第04课 matlab心电信号R波检测 - 图文(2)
2020-05-04 15:51
第04课 matlab心电信号R波检测 - 图文(2).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!