根据matlab的心电信号QRS波检测与分析.docx

上传人:b****2 文档编号:1637528 上传时间:2022-10-23 格式:DOCX 页数:16 大小:396.11KB
下载 相关 举报
根据matlab的心电信号QRS波检测与分析.docx_第1页
第1页 / 共16页
根据matlab的心电信号QRS波检测与分析.docx_第2页
第2页 / 共16页
根据matlab的心电信号QRS波检测与分析.docx_第3页
第3页 / 共16页
根据matlab的心电信号QRS波检测与分析.docx_第4页
第4页 / 共16页
根据matlab的心电信号QRS波检测与分析.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

根据matlab的心电信号QRS波检测与分析.docx

《根据matlab的心电信号QRS波检测与分析.docx》由会员分享,可在线阅读,更多相关《根据matlab的心电信号QRS波检测与分析.docx(16页珍藏版)》请在冰豆网上搜索。

根据matlab的心电信号QRS波检测与分析.docx

根据matlab的心电信号QRS波检测与分析

燕山大学

课程设计说明书

 

题目:

基于matlab的心电信号QRS波检测与分析

 

学院(系):

电气工程学院

年级专业:

10生物医学工程1班

学号:

10010304xxxx

学生姓名:

XXX

指导教师:

XX

教师职称:

副主任

 

燕山大学课程设计(论文)任务书

院(系):

电气工程学院基层教学单位:

生物医学工程系

学号

10010304xxxx

学生姓名

XXX

专业(班级)

10生物医学工程1班

设计题目

基于matlab的心电信号QRS波检测与分析

 

阈值=0.6相对幅值的差

采样点数N=256

采样频率f=100Hz

能够准确的提取与分析QRS波

绘制图表来说明检测结果

学会使用matlab软件

了解人体生理信号的特征

对心电信号有个初步的认识与掌握

搜集一组正常人体心电信号数据,编写matlab程序,并对它进行分析与检测

根据设计结果写出报告

1.查资料,确认题目2.编写任务书及审定3.编写程序及调试

4.编写说明书5.完成任务书及设计要求

1周辉数字信号处理基础及Matlab实现中国林业出版社2005

2肖伟刘忠Matlab程序设计与应用清华大学出版社2005

3钱同惠编著数字信号处理.北京:

机械工业出版社,2004

指导教师签字

XX

基层教学单位主任签字

XXX

说明:

此表一式四份,学生、指导教师、基层教学单位、系部各一份

2013年12月5日

一、MATLAB软件介绍………………………………………………………2

二、概述……………………………………………………………………3

三、ECG特征参数及分析…………………………………………………4

3.1心电信号的特点………………………………………………4

3.2心电信号的特征参数…………………………………………4

四、QRS波得检测与分析…………………………………………………5

4.1以软件为主的方法实现QRS波的检测………………………5

4.2QRS波检测方法与程序………………………………………5

五、心得体会……………………………………………………………14

六、参考文献……………………………………………………………14

 

一、MATLAB软件介绍

MATLAB是矩阵实验室的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是由美国MathWorks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单元是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解决问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

可以直接调用,用户也可以将自己编写的使用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

 

二、概述

2.1ECG处理的意义

生物医学信号属于强噪声背景下的低频微弱信号,它是由复杂的生命体发出的不稳定的自然信号。

作为一种对判断人体生命状况极其重要的生理信号,处理心电信号就显得很有必要,尤其在临床诊断上的应用。

应用计算机分析心电信号,已经越来越广泛的用于心脏功能检查(Holter

系统)、心电监护等方面,而心电分析中的首要的关键问题是QRS波的检测可

靠的检测不仅是诊断心律失常的重要依据,而且只有在QRS波确定之后,有

可能计算心率并进行心率变异分析,才能检测ST段的参数和分析心电的其它

细节信息。

进行全面综合分析,才能对心脏的功能结构做出正确的判断。

在临床上,分析心电信号,可以确诊心肌梗塞及急性冠状动脉供血不足,协助诊断慢性冠脉供血不足、心肌炎、心肌病及心包炎,判定有无心房、心室肥大,从而协助某些心脏病的病因学诊断,例如风湿性、肺源性、高血压性和先天性心脏病等,观察某些药物对心肌的影响,包括治疗心血管疾病的药物(如洋地黄、抗心律失常药物)及可能对心肌有损害的药物。

此外,对某些电解质紊乱(如血钾、血钙的过高或过低),心电信号不仅有助于诊断,还可以对指导治疗有重要参考价值。

本文主要介绍心电信号的预处理和QRS复波检测的方法及演示结果。

 

三、ECG特征参数及分析

3.1心电信号的特点

心电信号属于强噪声背景下的低频微弱信号,它是由复杂的生命体发出的不稳定的自然信号,由于受到人体诸多因素的影响,因而有着一般信号所没有的特点。

信号弱。

例如从母体腹部取到的胎儿心电信号仅为10μv,成人的心电信号范围也仅为5mv.

噪声强。

由于人体自身信号弱,加之人体又是一个复杂的整体,因此信号易受噪声的干扰。

如胎儿心电混有很强噪声,它一方面来自肌电、工频等干扰,另一方面,在胎儿心电中不可避免地含有母亲心电,母亲心电相对我们要提取的胎儿心电则变成了噪声。

随机性强。

心电信号信号不但是随机的,而且是非平稳的。

正是因为生物医学信号的这些特点,使得心电信号处理成为当代信号处理技术最可发挥其威力的一个重要领域。

3.2心电信号的特征参数

 

图2.1

如图2.1为完整的心电信号波形图,分别由P波、P—R段、P—R间期、QRS复合波、S—T段、T波和U波组成。

本文将重点讲诉QRS波。

并且对它进行相关分析。

QRS复波。

代表两个心室兴奋传播过程的电位变化。

由窦房结发生的兴奋波经传导系统首先到达室间隔的左侧面,以后按一定路线和方向,并由内层向外层依次传播。

随着心室各部位先后去极化形成多个瞬间综合心电向量,在额面的导联轴上的投影,便是心电图肢体导联的QRS复合波。

典型的QRS复合波包括三个相连的波动。

第一个向下的波为Q波,继Q波后一个狭高向上的波为R波,与R波相连接的又一个向下的波为S波。

由于这三个波紧密相连且总时间不超过0.10秒,故合称QRS复合波。

QRS复合波所占时间代表心室肌兴奋传播所需时间,正常人在0.06~0.10秒之间

 

四、QRS波得检测与分析

4.1以软件为主的方法实现QRS波的检测

以软件为主的方法实现QRS波的检测滤波之后的信号一般经过一些

变换以提高QRS波的份量,进而采用一系列阈值进行判别,这些阈值有固定

阈值法,也有可变阈值法。

前者由于可能的干扰或高P、高T波的存在,若

其滤波后超过其阈值便会产生假阳性(FP,falsepositive)结果;另外,当心

律失常或QRS波幅度变小,阈值设置过高,会导致漏检产生假阴性(FN,

falsenegative)结果。

由于固定阈值的这些缺点,有研究者提出了用可变阈

值检测,以提高检测的精确率,所采用的可变阈值包括幅度阈值、斜率阈值

和时间间隔阈值等。

 

4.2QRS波检测方法与程序

Q波和S波通常是低幅高频波,一般Q波位于S波之前,S波位于R波之后,由于他们是一般向下的波,所以他们的峰值点和极值是对应的。

因次在检测到R波向左和向右分别搜寻到极值点,对应的就是Q波和S波。

具体程序如下:

clearall;

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=[];

fori=1:

siglen-2

if(y(i+1)>y(i)&y(i+1)>y(i+2))|(y(i+1)

sigmax=[sigmax;abs(sigtemp(i+1)),i+1];

end;

end;

%打印原信号及变换信号

figure

(1);

subplot(2,1,1),plot(sig);

subplot(2,1,2),plot(wtsig1);

 

%取阈值,阈值为相对幅值的差的60%

thrtemp=sort(sigmax);

thrlen=length(sigmax);

thr=0;

fori=(thrlen-7):

thrlen

thr=thr+thrtemp(i);

end;

thrmax=thr/8;%最大幅度平均值,8个最大幅值点的平均值

zerotemp=sort(y);

zerovalue=0;

fori=1:

100

zerovalue=zerovalue+zerotemp(i);

end;

zerovalue=zerovalue/100;%最小幅度平均值,对消幅度,100个最小幅值点的平均值

thr=(thrmax-zerovalue)*0.3;%最大、最小幅度的差值的30%为判别R波的阈值

%定位R波

rvalue=[];

fori=1:

thrlen

ifsigmax(i,1)>thr

rvalue=[rvalue;sigmax(i,2)];

end;

end;

rvalue_1=rvalue;

%排除误检,如果相邻两个极大值间距小于0.4,则去掉幅度较小的一个

lenvalue=length(rvalue);

i=2;

whilei<=lenvalue

if(rvalue(i)-rvalue(i-1))*rate<0.4

ifyabs(rvalue(i))>yabs(rvalue(i-1))

rvalue(i-1)=[];

else

rvalue(i)=[];

end;

lenvalue=length(rvalue);

i=i-1;

end;

i=i+1;

end;

lenvalue=length(rvalue);

%在原信号上精确校准

fori=1:

lenvalue

if(wtsig1(rvalue(i))>0)

k=(rvalue(i)-5):

(rvalue(i)+5);

[a,b]=max(sig(k));

rvalue(i)=rvalue(i)-6+b;

else

k=(rvalue(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1