基于matlab的心电信号分析系统的设计与仿真.docx
信号与线性系统课程设计报告1课题二基于MATLAB的心电信号分析系统的设计与仿真摘要本文是利用MATLAB软件对美国麻省理工学院提供的MITBIH数据库的122号心电信号病例进行分析,利用MATLAB软件及SIMULINK平台对122号心电信号的病例进行读取、插值、高通滤波、低通滤波等的处理。将心电信号中的高频和低频的杂波进行滤除后对插值前后滤波前后的时域波形及频谱进行分析。同时也将滤波器的系统函数进行读取,分析,画出滤波的信号流程图,也分析各个系统及级联后的系统的冲击响应、幅频响应、相位响应和零极点图来判断系统的稳定性,并用MATLAB软件将图形画出,以便于以后的对系统进行分析。关键词MATLAB,SIMULINK,心电信号,滤波器1课程设计的目的、意义本设计课题主要研究数字心电信号的初步分析及滤波器的应用。通过完成本课题的设计,拟主要达到以下几个目的1了解MATLAB软件的特点和使用方法,熟悉基于SIMULINK的动态建模和仿真的步骤和过程;2了解人体心电信号的时域特征和频谱特征;3进一步了解数字信号的分析方法;4通过应用具体的滤波器进一步加深对滤波器理解;5通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。2设计任务及技术指标设计一个简单的心电信号分析系统。对输入的原始心电信号,进行一定的数字信号处理,进行频谱分析。采用MATLAB语言设计,要求分别采用两种方式进行仿真,即直接采用MATLAB语言编程的静态仿真方式、采用SIMULINK进行动态建模和仿真的方式。根据具体设计要求完成系统的程序编写、调试及功能测试。21必做部分211读取原始心电信号美国麻省理工学院提供的MITBIH数据库是一个权威性的国际心电图检测标准库,近年来应用广泛,为我国的医学工程界所重视。MITBIH数据库共有48个病例,每个病例数据长30MIN,总计约有116000多个心拍,包含有正常心拍和各种异常心拍,内容丰富完整。为了读取简单方便,采用其TXT格式的数据文件作为我们的原心电信号数据。利用MATLAB提供的文件TEXTREAD或TEXTSCAN函数,读取TXT数据文件中的信号,并且还原实际波形。信号与线性系统课程设计报告2212对原始心电信号做线性插值由于原始心电信号数据不是通过等间隔采样得到的,也就是说原始的心电数据并不是均匀的,而用MATLAB中提供的数字滤波器处理数据时,要求数据是等间隔的。因此设计的系统首先应对原始心电信号做线性插值处理,使其变为等间隔的数字信号,否则直接处理后会出现偏差,根据心电信号的特点,把时间分隔成0001S。添加的幅值点采用一次线性插值。对二维数据进行插值,相连幅值间数据的插值根据时间进行,运算公式如下1IT,01/TN,1IA,01JT,NAJJ/1其中IT是第I个数据时间点,AI是与之对应的数据,N是两数据之间需要的插值数,是需要插值的两点数据差,,,,,,,,,3232JARYSZE11IJIJT,,1JI,时数组JT,依次排列,即得到了插值后等间隔的新数据。213根据心电信号的频域特征,设计相应的低通和带通滤波器一般正常人的心电信号频率在07~100HZ范围内,幅度为V10胎儿~5MV成人。人体心电信号微弱,信噪比小,因此,在采集心电信号时,易受到仪器、人体活动等因素的影响,而且所采集的心电信号常伴有干扰。采集心电数据时,由于人的说话呼吸,常常会混有约为01HZ到025HZ频段的干扰,对于这些低频干扰,可以让信号通过一个高频滤波器,低截止频率设置为025,来滤除低频信号,对于高频信号干扰,可以让信号再通过一个低频滤波器,其中截止频率设置为99HZ。也可以直接应用带通滤波器设计。(1)根据以上指标,设计模拟巴特沃斯(切比雪夫)低通、高通或带通滤波器,画出幅频特性(模拟滤波器幅频特性FREQS)。(2)根据心电信号频谱范围设计一个3阶以上模拟滤波器对心电信号进行预滤波;(3)采用直接、级联或并联方式,实现该系统,并画出系统的信号流图;(4)分析系统的时域特性(阶跃响应、冲击响应等),并用MATLAB绘出相关波形;(5)用MATLAB分析幅频特性,并绘出相关波形;(6)分析系统函数零极点与幅频特性的关系。214对处理前后的心电信号分别做频谱分析利用MATLAB软件对处理前后的心电信号编程显示其频谱,分析比较滤波前后的频谱,得出结论。如果分析频谱,滤波效果不明显,则需变动滤波器参数指标,重新设计滤波器。通过频谱分析,多次试验确定最合适的滤波器。215SIMULINK仿真根据前面的设计,进行基于SIMULINK的动态仿真设计。实现心电信号的分析和处理。给出系统的基信号与线性系统课程设计报告3于SIMULINK的动态建模和仿真的系统方框图,同时记录系统的各个输出点的波形和频谱图。22选作部分221减少分析数据的工作量试验只截取大约25S,三个周期左右,大约800个采样数据进行分析;22250HZ工频陷波器设计由于电子设备采集到的信号经常会混有电源线干扰。电源线干扰是以50HZ为中心的窄带噪声,带宽小于1HZ。设计相应的带阻滤波器滤除电源线干扰,并对处理后的信号做频谱分析。3设计方案论证4设计内容(程序清单附带图片)41MATLAB程序清单及图片411提取TXT格式心电信号FID 122TXT CTEXTSCANFID, 8CFF , HEADERLINES ,2FCLOSEFIDAC{1}YC{2}KLENGTHAFORI1K信号与线性系统课程设计报告4CISTRREADAI,, SF , DELIMITER , ENDXC PLOTX,Y412对原始心电信号进行线性插值T0000125FINTERP1X,Y,TFF TT PLOTT,F信号与线性系统课程设计报告5413把数据读到TXT中FID TTXT , WT FPRINTFFID, G\N ,TFCLOSEFIDFID FTXT , WT FPRINTFFID, G\N ,FFCLOSEFID414插值前后波形比较SUBPLOT2,2,1PLOTX,YTITLE 初始信号时域波形 AXIS02521SUBPLOT2,2,2FS1000NLENGTHYN1NF1NFS/NY1FFTYPLOTF1,ABSY1TITLE 初始信号频谱 AXIS010000200信号与线性系统课程设计报告6SUBPLOT2,2,3PLOTT,FTITLE 差值后信号时域波形 AXIS02521MLENGTHFM1MF2MFS/MY2FFTFSUBPLOT2,2,4PLOTF2,ABSY2TITLE 插值后信号频谱 AXIS010000200415模拟低通滤波器WP602PIWS992PIRP1AS40N,WCBUTTORDWP,WS,RP,AS, S B,ABUTTERN,WC, S K0511FK01000/5121000WK2PIFKHKFREQSB,A,WKPLOTFK,20LOG10ABSHKGRIDON信号与线性系统课程设计报告7N11WC4092596B10E028COLUMNS1THROUGH100000000000053949COLUMNS11T