还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
基于的心电信号波检测与分析matlab QRSelseif wtsig2jwtsig2j-lwtsig2jwtsig2j+1tempqvalue=j-10;%确定检测窗的起点break;%倒置R波,取第一个正极大值end;end;end;xl=tempqvalue;yl=sigtempqvalue;x2=rvaluei;y2=sigrvaluei;a0=y2-yl/x2-xl;bO=-l;cO=-aO*xl+yl;%求直线公式参数ax+by+c=0dist=[];for k=tempqvalue:rvalue itempdist=absaO*k+bO*sigk+c0/sqrtaO2+bO2;dist=[dist;tempdist];附近%求点到直线距离end;[a,b]=max dist;%找到距离最大值,Q波就在tempqvalue=tempqvalue+b-l;%1=tempqvalue-5:rvalue i;%[c,d]=minsigl;%tempqvalue=tempqvalue-6+d;%在最大值附近修正Q波,得到结果qvalue=[qvalue;tempqvalue];end;%检测s波svalue=[];for i=l:lenrvalue-1for j=rvalue i:1:rvaluei+100if wtsiglrvaluei0if wtsig2j wtsig2j-1wtsig2j wtsig2j+Dtempsvalue=j+101%在小波变换域从R波开始向后寻找第一个极小值break;end;elseif wtsig2jwtsig2j-1wtsig2jwtsig2j+1tempsvalue=j+101%在小波变换域从R波开始向后寻找第一个极大值break;end;end;end;xl=tempsvalue;yl=sigtempsvalue;x2=rvaluei;y2=sigrvaluei;a0=y2-yl/x2-xl;bO=~l;cO=-aO*xl+yl;%求直线公式参数ax+by+c=0dist=[];for k=rvaluei:tempsvaluetempdist=abs aO*k+bO*sigk+c0/sqrt aO2+bO2;dist=[dist;tempdist];end;%求点到直线距离[a,b]二maxdist1%找到距离最大值,S波就在附近tempsvalue=rvalue i+b-l;%l=rvaluei:tempsvalue+10;%[c,d]=minsigl;%tempsvalue=rvalue i+d-l;%在最大值附近修正S波,得到结果svalue=[svalue;tempsvalue];end;%检测QRS起点start=[];for i=l:lenrvaluefor j=qvaluei:~1:qvaluei-100if wtsiglj0start=[start;j];break;end;end;end;波信号Q,Sqrvalue=[qvalue;rvalue];qrvalue=sort qrvalue;qrsvalue=[qvalue;rvalue;svalue;start];qrsvalue=sortqrsvalue;figure3;subplot2,1,1,plot1:lensig,sig,qrvalue,sig qrvalue/r.J;subplot2,1,2,plot1:lensig,sig,qrsvalue,sig qrsvalue/r/;运行结果图如下原信号及变换信号纠正及校准前后的R波信号波信号Q,S
五、心得体会回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决最后我要感谢老师对我的耐心指导和同学对我的热心帮助
六、参考文献1周辉数字信号处理基础及Matlab实现中国林业出版社20052肖伟刘忠Matlab程序设计与应用清华大学出版社20053钱同惠编著.数字信号处理.北京机械工业出版社,20044姚天任,江太辉编著.数字信号处理.第2版.武汉:武汉理工大学出版社,20005黄文梅,熊佳林,杨勇编著.信号分析与处理——MATALB言及应用.长沙国防科技大学出版社,2000燕山大学课程设计评审意见表指导教师评语
①该生学习态度(认真较认真不认真)
②该生迟到、早退现象(有无)
③该生依赖他人进行设计情况(有无)平时成绩指导教师签字2012年12月15日图面及其它成绩:答辩小组评语
①设计巧妙,实现设计要求,并有所创新
②设计合理,实现设计要求
③实现了大部分设计要求
④没有完成设计要求,或者只实现了一小部分的设计要求答辩成绩组长签字2012年12月15日课程设计综合成绩:答辩小组成员签字:2012年12月15日目录
二、概述软件介绍MATLAB
三、特征参数及分析ECG4心电信号的特点
1.14心电信号的特征参数
1.24
四、波得检测与分析QRS5以软件为主的方法实现波的检测
4.1QRS5波检测方法与程序
5.2QRS5
五、心得体会14
六、参考文献14
一、软件介名MATLAB是矩阵实验室的简称,是美国公司出品的商业数学MATLAB MathWorks软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括和两大部分MATLAB Simulink是由美国公司发布的主要面对科学计算、可视化以MATLAB MathWorks及交互式程序设计的高科技计算环境它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如、)的编辑模式,代表了当今国际科学计算软件的先进水平C Fortran和并称为三大数学软件它在数学类科技应MATLAB MathematicalMaple用软件中在数值计算方面首屈一指可以进行矩阵运算、绘制函数和MATLAB数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域的基本数据单元是矩阵,它的指令表达式与数学、工程中常用的MATLAB形式十分相似,故用来解决问题要比用等语言完成相MATLAB C,FORTRAN同的事情简捷得多,并且也吸收了像等软件的优点在新的版MATLAB Maple本中也加入了对的支持可以直接调用,用户也可以C,FORTRAN,C++,JAVA将自己编写的使用程序导入到函数库中方便自己以后调用,此外许多MATLAB的爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用MATLAB
二、概述处理的意义
2.1ECG生物医学信号属于强噪声背景下的低频微弱信号,它是由复杂的生命体发出的不稳定的自然信号作为一种对判断人体生命状况极其重要的生理信号,处理心电信号就显得很有必要,尤其在临床诊断上的应用应用计算机分析心电信号,已经越来越广泛的用于心脏功能检查(Holter系统)、心电监护等方面,而心电分析中的首要的关键问题是QRS波的检测可靠的检测不仅是诊断心律失常的重要依据,而且只有在QRS波确定之后,有可能计算心率并进行心率变异分析,才能检测ST段的参数和分析心电的其它细节信息进行全面综合分析,才能对心脏的功能结构做出正确的判断在临床上,分析心电信号,可以确诊心肌梗塞及急性冠状动脉供血不足,协助诊断慢性冠脉供血不足、心肌炎、心肌病及心包炎,判定有无心房、心室肥大,从而协助某些心脏病的病因学诊断,例如风湿性、肺源性、高血压性和先天性心脏病等,观察某些药物对心肌的影响,包括治疗心血管疾病的药物(如洋地黄、抗心律失常药物)及可能对心肌有损害的药物此外,对某些电解质紊乱(如血钾、血钙的过高或过低),心电信号不仅有助于诊断,还可以对指导治疗有重要参考价值本文主要介绍心电信号的预处理和QRS复波检测的方法及演示结果
三、特征参数及分析ECG心电信号的特点
3.1V/mV段S-T的不段P P-R没有号范号易干扰间期间期P-R Q-T们要物医0200400600其威
3.2图
2.1如图为完整的心电信号波形图,分别由波、段、间期、
2.1P P—R P—R复合波、段、波和波组成本文将重点讲诉波并且对QRS S—T TU QRSQ间期一间期一P-R Q-T■.
1...•200400600►T/mS它进行相关分析复波代表两个心室兴奋传播过程的电位变化由窦房结发生的兴奋波QRS经传导系统首先到达室间隔的左侧面,以后按一定路线和方向,并由内层向外层依次传播随着心室各部位先后去极化形成多个瞬间综合心电向量,在额面的导联轴上的投影,便是心电图肢体导联的QRS复合波典型的QRS复合波包括三个相连的波动第一个向下的波为Q波,继Q波后一个狭高向上的波为R波,与R波相连接的又一个向下的波为S波由于这三个波紧密相连且总时间不超过
0.10秒,故合称QRS复合波QRS复合波所占时间代表心室肌兴奋传播所需时间,正常人在
0.06-
0.10秒之间波得检测与分析U!QRS以软件为主的方法实现波的检测
4.1QRS以软件为主的方法实现波的检测滤波之后的信号一般经过一些变换QRS以提高波的份量,进而采用一系列阈值进行判别,这些阈值有固定阈值法,QRS也有可变阈值法前者由于可能的干扰或高、高波的存在,若其滤波后超过P T其阈值便会产生假阳性结果;另外,当心律失常或波幅度FP,falsepositive QRS变小,阈值设置过高,会导致漏检产生假阴性结果由于固定FN,falsenegative阈值的这些缺点,有研究者提出了用可变阈值检测,以提高检测的精确率,所采用的可变阈值包括幅度阈值、斜率阈值和时间间隔阈值等波检测方法与程序
4.2QRS波和波通常是低幅高频波,一般波位于波之前,波位于波之Q SQ SS R后,由于他们是一般向下的波,所以他们的峰值点和极值是对应的因次在检测到波向左和向右分别搜寻到极值点,对应的就是波和波R QS具体程序如下clear all;clc;z二textreadECG.txt;ECG=z:,1;input=ECG1:256;rate=ECG100;sig=input;lensig=length sig;wtsigl=cwt sig,6,mexh;lenwtsigl=lengthwtsigl;wtsigl1:20=0;wtsigl lenwtsigl-20:lenwtsigl=0;y=wtsigl;yabs=absy;%sigtemp=y;siglen=length y;sigmax=[];for i=l:siglen-2if yi+lyiyi+lyi+2|yi+lyiyi+lyi+2sigmax=[sigmax;abssigtempi+1,i+1];end;end;%打印原信号及变换信号f igurp1;subplot2,1,1,plot sig;subplot2,1,2,plot wtsigl;%取阈值,阈值为相对幅值的差的60%thrtemp=sortsigmax;thrlen=lengthsigmax;thr=O;for i=thrlen-7:thrlen thr=thr+thrtempi;end;thrmax=thr/81%最大幅度平均值,8个最大幅值点的平均值zerotemp=sort y;zerovalue=0;for i=l:100zerovalue=zerovalue+zerotemp i;end;zerovalue=zerovalue/1001%最小幅度平均值,对消幅度,100个最小幅值点的平均值thr=thrmax-zerovalue*
0.3;%最大、最小幅度的差值的30%为判别R波的阈值%定位R波rvalue=[];for i=l:thrlenif sigmax i,1thrrvalue=[rvalue;sigmaxi,2];end;end;rvalue_l=rvalue;%排除误检,如果相邻两个极大值间距小于
0.4,则去掉幅度较小的一个lenvalue=lengthrvalue;i=2;while i=lenvalueif rvaluei-rvaluei-1*rate
0.4if yabsrvalueiyabsrvalue i-1rvalue i-l=[];elservalue i=[];end;lenvalue=length rvalue;i=i-l;end;i=i+l;end;lenvalue=lengthrvalue;%在原信号上精确校准for i=l:lenvalueif wtsiglrvaluei0k=rvaluei-5:rvalue i+5;[a,b]=maxsigk;rvaluei=rvalue i-6+b;elsek=rvaluei-5:rvalue i+5;[a,b]=minsigk;rvaluei=rvaluei-6+b;end;end;%打印纠正及校准前后的R波信号figure2;subplot2,1,1,plot1:lensig,wtsigl,rvalue l,wtsigl rvaluel/r.;subplot2,1,2,plot1:lensig,sig,rvalue,sig rvalue/r.J;%检测Q波wtsig2=cwt sig,8,‘mexh;lenrvalue=length rvalue;qvalue=[];for i=l:lenrvaluefor j=rvaluei-l:rvaluei-30if wtsiglrvaluei0ifwtsig2jwtsig2j-lwtsig2jwtsig2j+1tempqvalue=j-10;%确定检测窗的起点break;%正向波,取第一个负极大值end;。