当前位置:文档之家› 课题二基于MATLAB平台的心电信号分析系统设计与仿真

课题二基于MATLAB平台的心电信号分析系统设计与仿真

课题二基于MATLABDE的心电信号分析系统的设计与仿真一、本课题的目的本设计课题主要研究数字心电信号的初步分析及滤波器的应用。

通过完成本课题的设计,拟主要达到以下几个目的:(1)了解MATLAB软件的特点和使用方法,熟悉基于Simulink的动态建模和仿真的步骤和过程;(2)了解人体心电信号的时域特征和频谱特征;(3)进一步了解数字信号的分析方法;(4)通过应用具体的滤波器进一步加深对滤波器理解;(5)通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。

二、课题任务设计一个简单的心电信号分析系统。

对输入的原始心电信号,进行一定的数字信号处理,进行频谱分析。

采用Matlab语言设计,要求分别采用两种方式进行仿真,即直接采用Matlab 语言编程的静态仿真方式、采用Simulink进行动态建模和仿真的方式。

根据具体设计要求完成系统的程序编写、调试及功能测试。

(1)对原始数字心电信号进行读取,由数字信号数据绘制出其时域波形。

(2)对数字信号数据做一次线性插值,使其成为均匀数字信号,以便后面的信号分析。

(3)根据心电信号的频域特征(自己查阅相关资料),设计相应的低通和高通滤波器。

(4)编程绘制实现信号处理前后的频谱,做频谱分析,得出相关结论。

(5)对系统进行综合测试,整理数据,撰写设计报告。

三、主要设备和软件(1)PC机一台。

(2) MATLAB6.5以上版本软件,一套。

四、设计内容、步骤和要求4.1必做部分4.1.1利用Matlab对MIT-BIH数据库提供的数字心电信号进行读取,并还原实际波形美国麻省理工学院提供的MIT-BIH数据库是一个权威性的国际心电图检测标准库,近年来应用广泛,为我国的医学工程界所重视。

MIT-BIH数据库共有48个病例,每个病例数据长30min,总计约有116000多个心拍,包含有正常心拍和各种异常心拍,内容丰富完整。

为了读取简单方便,采用其txt 格式的数据文件作为我们的原心电信号数据。

利用Matlab 提供的文件textread 或textscan 函数,读取txt 数据文件中的信号,并且还原实际波形。

4.1.2对原始心电信号做线性插值由于原始心电信号数据不是通过等间隔采样得到的,也就是说原始的心电数据并不是均匀的,而用Matlab 中提供的数字滤波器处理数据时,要求数据是等间隔的。

因此设计的系统首先应对原始心电信号做线性插值处理,使其变为等间隔的数字信号,否则直接处理后会出现偏差,根据心电信号的特点, 把时间分隔成0.001s 。

添加的幅值点采用一次线性插值。

对二维数据进行插值,相连幅值间数据的插值根据时间进行,运算公式如下:1--=∆i i t t t ,001.0/t N ∆=,1--=∆i i A A A ,001.01+=-j j t t ,N A A A j j /1∆+=- 其中i t 是第i 个数据时间点,A i 是与之对应的数据,N 是两数据之间需要的插值数,A ∆是需要插值的两点数据差,,,,,,,,,1321321-==N j arraysize i 1111----==i j i j A A t t ,, 1=j i ,时数组j j A t ,依次排列,即得到了插值后等间隔的新数据。

将插值后的幅值数据另存为txt 文件,以供后续程序调用。

4.1.3根据心电信号的频域特征,设计相应的低通和带通滤波器一般正常人的心电信号频率在0.7~100HZ 范围内,幅度为V 10μ(胎儿)~5mV (成人)。

人体心电信号微弱,信噪比小,因此,在采集心电信号时,易受到仪器、人体活动等因素的影响,而且所采集的心电信号常伴有干扰。

采集心电数据时,由于人的说话呼吸,常常会混有约为0.1Hz 到0.25Hz 频段的干扰,对于这些低频干扰,可以让信号通过一个高频滤波器,低截止频率设置为0.25,来滤除低频信号,对于高频信号干扰,可以让信号再通过一个低频滤波器,其中截止频率设置为99Hz 。

也可以直接应用带通滤波器设计。

(1)根据以上指标,设计模拟巴特沃斯(切比雪夫)低通、高通或带通滤波器,画出幅频特性(模拟滤波器幅频特性freqs )。

(2)根据心电信号频谱范围设计一个3阶以上模拟滤波器对心电信号进行预滤波;(3)采用直接、级联或并联方式,实现该系统,并画出系统的信号流图;(4)分析系统的时域特性(阶跃响应、冲击响应等),并用Matlab 绘出相关波形;(5)用Matlab 分析幅频特性,并绘出相关波形;(6)分析系统函数零极点与幅频特性的关系。

4.1.4对处理前后的心电信号分别做频谱分析利用Matlab 软件对处理前后的心电信号编程显示其频谱,分析比较滤波前后的频谱,得出结论。

如果分析频谱,滤波效果不明显,则需变动滤波器参数指标,重新设计滤波器。

通过频谱分析,多次试验确定最合适的滤波器。

4.1.5 Simulink仿真根据前面的设计,进行基于Simulink的动态仿真设计。

实现心电信号的分析和处理。

给出系统的基于Simulink的动态建模和仿真的系统方框图,同时记录系统的各个输出点的波形和频谱图。

4.2 选作部分4.2.1减少分析数据的工作量试验(1)只截取大约2.5s,三个周期左右,大约800个采样数据进行分析;(2)利用Matlab编程实现对10s原始心电信号数据二次采样并进行结果分析。

4.2.2 simulink仿真设计(1)将Matlab语言编程进行线性插值后的心电信号结果,直接输入到simulink模块中进行滤波处理及系统仿真;(2)在仿真环境下,自己设计simulink的线性插值模块,直接输入原始心电信号,进行插值处理再进行系统的功能仿真。

4.2.3 50Hz工频陷波器设计由于电子设备采集到的信号经常会混有电源线干扰。

电源线干扰是以50 Hz为中心的窄带噪声,带宽小于1Hz。

设计相应的带阻滤波器滤除电源线干扰,并对处理后的信号做频谱分析。

五、课程设计报告要求(1)设计报告书包括内容:课程设计题目,课程设计目的和意义,设计方案,详细设计步骤,设计结果(原理图等),测试和仿真结果(图形或数据)及其分析,其它有明确要求的设计内容,结论,参考文献等。

(2)提交课程设计报告时应同时提交相关设计和仿真分析材料(程序、结果等)的电子版。

六、参考文献[1] 北京迪阳正泰科技发展公司.综合通信实验系统——信号与系统指导书(第二版). 2006,6[2] 丁玉美.数字信号处理(第二版).西安电子科技大学出版社,2001[3] 吴大正. 信号与线性系统分析(第四版). 高等教育出版社,2005,8[4] 谢嘉奎. 电子线路--线性部分(第四版). 高等教育出版社,2003,2[5] 陈后金. 信号分析与处理实验. 高等教育出版社,2006,8七、附录——设计原理1.心电信号的读取txt格式的数据文件内容及格式如图1-1所示(以100.txt为例)。

图1-1txt格式的心电数据文件其中文件的第一列为采样时间,第二列是在以MLII这种导联方式所得到的采样数据,第三列是以V5这种导联方式所得到的采样数据,全文件记录了约为10s的心电数据,3600个采样数据,每一行数据之间用Tab符分隔。

由于数据文件中后两列数据是对同一种心电信号进行不同的导联方式所得到的采样数据,所以可以只采用其中的一种采样数据,摒弃另外一种,即可完成对此心电信号的分析。

全部的心电文件记录时间约为10s,共计12个左右周期的心电信号。

实际设计心电信号数据文件时应注意:(1)数据文件的前两行为解释说明文字,不是真正的信号数据,读取信号程序要能够自动忽略前两行文字,只读取真正的数字信号数据(严禁自己手动删除原心电数据文件中的前两行数据,必须通过程序来实现忽略前两行文字的目的)。

(2)利用数组函数分别将文件的前两个列分别读入一个一维数组。

(3)最后利用已经转为数值的分别代表心电信号时间和幅值的两个一维数组,图形化还原原始心电信号波形,在此推荐利用plot(x,y)函数对数据做图形化显示。

2.心电信号的线性插值处理根据上文中提到的插值公式,以此为原理,设计Matlab程序,对心电信号数据做线性插值处理。

插值完以后的数据应该是时间均匀的、以0.001秒为间隔的。

此步骤的实现主要是基于Matlab 中的数组操作函数来实现,建议一定首先熟悉并掌握Matlab 中的所有数组操作函数的作用和操作方法。

其中一种插值方法的思路是:将第一步中读取的心电信号数据的时间数据和幅值数据分别存放在一个一维数组中。

然后利用for 循环结构把所有数据依次读取进来。

判断时间数据数组中前后两个相邻的数据间隔是否为0.001s ,如果是则判断下一对相邻两个数据;如果间隔大于0.001s 则进行一维插值处理。

注意对时间数据做插值的同时一定不要忘记对幅值数据同样做插值处理,时间数据和幅值数据一定是相互对应的。

3. 滤波器设计3.1 模拟滤波器设计原理(1)模拟巴特沃思滤波器原理巴特沃斯滤波器具有单调下降的幅频特性:在小于截止频率c Ω的范围内,具有最平幅度的响应,而在c Ω>Ω后,幅频响应迅速下降。

巴特沃思低通滤波器幅度平方函数为: 221()1()a NcH j Ω=Ω+Ω (3-1) 式中N 为滤波器阶数,c Ω为3dB 截止角频率。

将幅度平方函数写成s 的函数形式:21()()1()a a N cH s H s s j -=+Ω (3-2) 该幅度平方函数有2N 个等间隔分布在半径为c Ω的圆上的极点121()22 k j N k c s e π++=Ω,0,1,...21k N =- 为了形成稳定的滤波器,取左半平面的N 个极点构成()a H s ,即:10()()N Na c kk H s s s -==Ω-∏ (3-3) 为使设计统一,将频率归一化,得到归一化极点121()22k j N k p eπ++=,相应的归一化系统函数为: 10()1()N a kk H p p p -==-∏ (3-4)多项式形式为: 01()1(...)N a H p b b p p =+++ (3-5)(2)模拟切比雪夫滤波器原理切比雪夫滤波器的幅频特性具有等波纹特性,有两种形式,在通带内等波纹、阻带单调的是I 型滤波器,在通带内单调、在阻带内等波纹的是Ⅱ滤波器。

以I 型滤波器为例。

切比雪夫滤波器的幅度平方函数为:22221()()1()a N p A H j C εΩ=Ω=Ω+Ω (3-6)ε为小于1的正数,表示通带内幅度波动的程度。

Ωp 称为通带截止频率。

令λ=Ω/Ωp ,称为对Ωp 的归一化频率。

C N (x)为N 阶切比雪夫多项式。

幅度平方函数的极点是分布在b Ωp 为长半轴,a Ωp 为短半轴的椭圆上的点。

相关主题