信号与线性系统课程设计报告课题名称:基于Labview的心电信号分析班级:通信092班姓名:孙星星学号:092307成绩:指导教师:王宝珠日期:2011年12月28号目录一绪论1.1 摘要关键词1.2 课题简介1.3 课题设计目的及意义二设计任务及技术指标三设计总体方案流程图四方案论证与比较4.1 心电信号读取设计方案论证与选择4.2 线性插值的设计方案论证与选择4.3 滤波器及谱分析的设计方案论证与选择五课题设计具体内容5.1心电信号的读取5.2 对原始心电信号线性插值5.3设计相应的低通高通滤波器及其谱分析5.4 总体的程序框图和前面板六课题设计遇到的问题及其解决办法6.1心电信号的读取部分6.2对原始心电信号线性插值部分七结论八课程设计的收获、心得体会与建议参考文献一绪论1.1 提要:心电信号分析系统是对心电信号文件拾取输入后,对其做一定的数字信号处理,进行频谱分析。
Labview是一种带有图形控制流结构的数据流模式(Date Flow Mode),程序执行是数据驱动,同时也是一种图形化的编程语言--G语言。
本设计采用Labview 综合运用其丰富的VI库来实现心电信号的拾取、线性插值、滤波、谱分析。
该课题利用VI库中索引数组、数组子集、字符串--数值转换、While循环、chebyshev 滤波器、单边FFT,双边FFT等,得到了简单的拾取、插值、滤波、谱分析等功能。
,对心电信号做简单的数字信号处理。
关键词:Labview,心电信号,VI库,数字信号处理1.2 课题设计目的及意义本课题主要研究基于Labview的数字心电信号初步分析及其各种滤波器的应用。
通过完成本课题的设计,了解基于LabVIEW虚拟仪器(一种软件化的仪器系统)的特点和使用方法,熟悉掌握LabVIEW的使用及练习使用其不同的功能,了解人体心电信号的时域特征和频谱特征,通过对心电信号的滤波处理、频谱分析,进一步了解数字信号的分析方法,进一步加深对各种滤波器(chebyshev,inverse chebyshev,butterworth)的理解。
此外,通过本课题的设计,培养运用所学知识分析和解决实际问题的能力。
心电信号分析是一门比较实用的电子工程的专业课程。
当今社会,心血管疾病是发病率和死亡率最高、对人类生命威胁最大的疾病。
心电信号预处理就是对心电信号的时域特征、频域特征进行了解,以便以后对心电信号的自动识别起到一定的基础作用。
另外,Labview具有强大的虚拟仪器功能和软件开发功能,运行速度快、兼容性和移植性好、方便易用,适合于课程设计短期内完成。
二设计任务及技术指标课题所用信号是美国麻省理工学院提供的MIT-BIH数据库(一个权威性的国际心电图检测标准库),近年来应用广泛,为我国的医学工程界所重视。
MIT-BIH 数据库共有48个病例,每个病例数据长30min,总计约有116000多个心拍,包含有正常心拍和各种异常心拍,内容丰富完整。
为了读取简单方便,采用其txt格式的数据文件作为我们的源心电信号数据。
利用labvIEW提供的文件I/O函数,读取txt数据文件中的信号,并且还原实际波形。
设计任务:设计一个基于虚拟仪器的简单的心电信号分析系统,对原始心电信号做输入后,对其做一定的数字信号处理,进行频谱分析,根据具体设计要求完成系统的程序编写及调试。
(1)对原始数字心电信号进行读取,由数字信号数据绘制出其时域波形。
(2)对数字信号数据做一次线性插值,使其成为均匀数字信号,以便后面的信号分析。
(3)根据心电信号的频域特征(自己查阅相关资料),设计相应的低通和带通滤波器。
(4)编程绘制实现信号处理前后的频谱,做频谱分析,得出相关结论。
(5)对系统进行综合测试,整理数据。
技术指标:一个高频滤波器,低截止频率设置为0.25,来滤波低频信号;对于高频信号干扰,可以让信号再通过一个低频滤波器,其中截止频率设置为99Hz。
三设计方案开始对心电信号进行拾取While循环线性插值chebyshev高通滤波器、低通滤波器滤波处理双边FFT、单边fft谱分析四 方案论证与比较如前所述,总体设计方案比较显而易见,现将各部分分述一下。
4.1 心电信号读取设计方案论证与选择课题所用信号是美国麻省理工学院提供的MIT-BIH 数据库,此数据库的数据文件的前两行为解释说明文字,不是真正的信号数据,读取信号程序要能够自动忽略前两行文字,只读取真正的数字信号数据。
另外labvIEW 默认的从文本文件中读取的数据都是字符串,因此在使用心电信号数据前需要将其转换为数值才可以。
第一列时间数据均为0:00.007这种格式,因此需要将字符串0:00.007先转化为字符串0.007,即去除字符串中冒号(:)以前的部分,然后再将其转为数值。
最后利用已经转为数值的分别代表心电信号时间和幅值的两个一维数组,图形化还原原始心电信号波形,在此推荐利用labvIEW 中XY Graph 。
4.2 线性插值的设计方案论证与选择由于原始心电信号数据并不是由等间隔采样而得到的,也就是说原始的心电数据并不是均匀的,但是后面肯定要用到数字滤波器对心电信号做处理,而labvIEW 中用数字滤波器被处理的数据应该都是等间隔的,否则处理后会出现偏差,因此要对原始心电信号要做一个线性插值处理,使其变为等间隔的数据。
根据原文件心电信号的特点, 把时间分隔成0.001s 。
添加的幅值点采用一次线性插值。
对二维数据进行插值,相连幅值间数据的插值根据时间进行,运算公式如下:1--=∆i i t t t001.0/t N ∆=1--=∆i i A A A 001.01+=-j j t tN A A A j j /1∆+=-其中1,,,,1,3,2,1,,3,2,11111===-==----j i A A t t N j a r r a y s i z e i i j i j 时数组j j A t ,依次排列,即得到了插值后等间隔的新数据。
虽然Labview 提供的插值法有很多,但是由于自身对Labview 不熟悉,所以采用教师提供的线性插值法(即上述所列公式)。
4.3 滤波器的设计方案论证与选择一般正常人的心电信号频率在0.7~100HZ范围内,幅度为10μv(胎儿)~5mv(成人)。
人体心电信号微弱,信噪比小,因此,在采集心电信号时,易受到仪器、入体活动等因素的影响,而且所采集的心电信号常伴有干扰。
采集心电数据时,由于人的说话呼吸,常常会混有约为0.1Hz到0.25Hz频段的干扰。
对于这些低频干扰,可以让信号通过一个高频滤波器,低截止频率设置为0.25,来滤波低频信号;对于高频信号干扰,可以让信号再通过一个低频滤波器,其中截止频率设置为99Hz。
由于butterworth滤波器性能不是很好,我采用chebyshev滤波器。
根据以上说明,利用labvIEW中的信号处理函数设计chebyshev滤波器,滤除数字信号中的干扰信号,来获取预想的信号。
五课题设计步骤、运行结果及其分析5.1心电信号的读取:根据txt格式的数据文件特点,利用labvIEW提供的I/O文件函数,在本课题中,主要是围绕LabVIEW中的read from spreadsheet file读表单文件函数来设计心电信号的读取部分的VI,并利用XY Graph来对数据做图形化显示。
让心电数据文件中的第一列时间数据作为x轴,对应的MLII方式的幅值作为y轴,以此得到绘制的源心电波形。
此步骤主要是心电信号的字符串——数值转换部分比较复杂。
心电信号的拾取VI图:如图1所示运行结果:如图1'所示图1图1'简要分析:5.2 对原始心电信号线性插值根据上文中提到的插值公式,以此为原理,设计labvIEW程序,对心电信号数据做线性插值处理。
插值完以后的数据应该是时间均匀的、以0.001秒为间隔的。
此步骤的实现主要是基于labvIEW中的数组操作函数(索引数组,数组子集等)来实现,插值方法的思路是:第一步中读取的心电信号数据的时间数据和幅值数据分别存放在一个一维数组中。
然后利用while循环结构把所有数据依次读取进来。
判断时间数据数组中前后两个相邻的数据间隔是否为0.001s,如果是则判断下一对相邻两个数据;如果间隔大于0.001s则在一个CASE结构里面做插值处理。
对幅值数据同样做插值处理,时间数据和幅值数据一定是相互对应的。
线性插值相应的VI 图如图2所示相应的运行结果如图2'所示:图2图2'简要分析:4.3设计相应的低通高通滤波器及其谱分析源心电信号里面是包含有噪声的,需要对数字心电信号做一定滤波处理。
由于心电信号是无限信号,只能用IIR滤波器。
LabVIEW提供的IIR滤波器类型有Butterworth、Chebyshev、Inverse Chebyshev、Elliptic和Bessel滤波器。
它们都有各自的特点,用途也不尽相同。
起初用的是butterworth滤波器,但是滤波效果不是很好,之后我采用chebyshev滤波器。
由于时间间隔是0.001s,所以采样频率大于等于1000hz即可。
高通滤波器截止频率0.25hz,低通滤波器截止频率99hz。
谱分析的是双边FFT之后单边FFT变换即可。
滤波器和谱分析相应的VI图如图3所示:相应的运行结果如图3'所示:图3 图3'将频谱图的坐标改变后得到如图3'':图3''简要分析:4.4 总体的程序框图和前面板总体的VI图:前面板:简要分析:六课题设计遇到的问题及其解决办法6.1心电信号的读取部分6.2 对原始心电信号线性插值部分6.3 滤波器参数设置部分七结论这次信号与线性系统课程设计不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识,另外掌握了一种新的软件Labview,可以进行一些简单的编程。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。
同时在设计的过程中发现了自己的不足之处,例如对以前所学过的知识理解得不够深刻,掌握得不够牢固。
八课程设计的收获、心得体会与建议经过接近两周的努力,顺利的完成了课设内容。
这是一个磨练意志的过程。
从课题的选择开始,Labview软件的熟悉过程,信号的拾取部分,线性插值部分,及信号的处理分析部分,到最后形成一个比较简单的前面板,这其中经历了很多困难,但更重要的是在这个过程中我得到了很大的锻炼。
一方面通过Labview对信号的处理分析,是我对以前所学的数字信号处理、信号与线性系统分析知识得到综合认识与运用;另一方面用Labview软件编程、转换成一维的WORD中进行编辑时,让我对计算机软件有更进一步的认识与理解。