基于labview的心电信号分析.docx
- 文档编号:11426783
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:12
- 大小:731.57KB
基于labview的心电信号分析.docx
《基于labview的心电信号分析.docx》由会员分享,可在线阅读,更多相关《基于labview的心电信号分析.docx(12页珍藏版)》请在冰豆网上搜索。
基于labview的心电信号分析
基于labview的心电信号分析
信号与线性系统课程设计报告
课题名称:
基于LABVIEW的心电信号的分析
班级:
通信102班
姓名:
杨成方
学号:
102140
成绩:
指导教师:
王宝珠
基于LABVIEW的心电信号的分析
摘要:
心电信号分析系统是读取心电信号文件,并对其做一定的数字信号处理,以及进行频谱分析等。
Labview是一种带有图形控制流结构的数据流模式,程序执行是由数据驱动,同时也是一种图形化的编程语言。
本设计采用Labview综合运用其丰富的VI库来实现心电信号的读取、线性插值、滤波、谱分析。
该课题利用VI库中索引数组、数组子集、字符串--数值转换、While循环、For循环、chebyshev滤波器等,得到了简单的读取、插值、滤波、谱分析等功能,对心电信号做简单的数字信号处理。
关键词:
Labview,心电信号,VI库,谱分析
1课程设计的目的、意义
本课题主要研究基于Labview的数字心电信号初步分析及其各种滤波器的应用。
通过完成本课题的设计,了解基于LabVIEW虚拟仪器的特点和使用方法,熟悉并掌握LabVIEW的使用及练习使用其不同的功能,了解人体心电信号的时域特征和频谱特征,通过对心电信号的滤波处理、频谱分析,进一步了解数字信号的分析方法,进一步加深对各种滤波器(巴特沃斯、切比雪夫、反切比雪夫)的理解。
此外,通过本课题的设计,培养运用所学知识分析和解决实际问题的能力。
心电信号分析是一门比较实用的电子工程的专业课程。
当今社会,心血管疾病是发病率和死亡率最高、对人类生命威胁最大的疾病。
心电信号预处理就是对心电信号的时域特征、频域特征进行了解,以便以后对心电信号的自动识别起到一定的基础作用。
另外,Labview具有强大的虚拟仪器功能和软件开发功能,运行速度快、兼容性和移植性好、方便易用,适合于课程设计短期内完成。
2设计任务及技术指标
课题所用信号是美国麻省理工学院提供的MIT-BIH数据库(一个权威性的国际心电图检测标准库),近年来应用广泛,为我国的医学工程界所重视。
MIT-BIH数据库共有48个病例,每个病例数据长30min,总计约有116000多个心拍,包含有正常心拍和各种异常心拍,内容丰富完整。
为了读取简单方便,采用其txt格式的数据文件作为我们的源心电信号数据。
利用labvIEW提供的文件I/O函数,读取txt数据文件中的信号,并且还原实际波形。
2.1设计任务
设计一个基于虚拟仪器的简单的心电信号分析系统,对原始心电信号做输入后,对其做一定的数字信号处理,进行频谱分析,根据具体设计要求完成系统的程序编写及调试。
(1)对原始数字心电信号进行读取,由数字信号数据绘制出其时域波形。
(2)对数字信号数据做一次线性插值,使其成为均匀数字信号,以便后面的信号分析。
(3)根据心电信号的频域特征(自己查阅相关资料),设计相应的低通和带通滤波器。
(4)编程绘制实现信号处理前后的频谱,做频谱分析,得出相关结论。
(5)对系统进行综合测试,整理数据。
2.2技术指标:
一个带通滤波器低截止平率设置为0.0001,高截止频率设置为99来分别滤除低频干扰和高频干扰。
或者一个高频滤波器,低截止频率设置为0.25,来滤波低频信号;对于高频信号干扰,可以让信号再通过一个低频滤波器,其中截止频率设置为99Hz。
2.3流程图:
3设计方案论证
3.1心电信号读取设计方案论证与选择
课题所用信号是美国麻省理工学院提供的MIT-BIH数据库,为了读取简单方便,采用其txt格式的数据文件作为我们的原心电信号数据。
利用labVIEW提供的文件I/O函数,读取txt数据文件中的信号,并且还原实际波形。
此数据库的
3.2线性插值的设计方案论证与选择
由于原始心电信号数据不是通过等间隔采样得到的,也就是说原始的心电数据并不是均匀的,而用Matlab中提供的数字滤波器处理数据时,要求数据是等间隔的。
因此设计的系统首先应对原始心电信号做线性插值处理,使其变为等间隔的数字信号,否则直接处理后会出现偏差,根据心电信号的特点,把时间分隔成0.001s。
添加的幅值点采用一次线性插值。
对二维数据进行插值,相连幅值间数据的插值根据时间进行,运算公式如下:
,
,
,
,
其中
是第i个数据时间点,Ai是与之对应的数据,N是两数据之间需要的插值数,
是需要插值的两点数据差,
,
时数组
依次排列,即得到了插值后等间隔的新数据。
3.3滤波器的设计方案论证与选择
一般正常人的心电信号频率在0.7~100HZ范围内,幅度为10μv(胎儿)~5mv(成人)。
人体心电信号微弱,信噪比小,因此,在采集心电信号时,易受到仪器、入体活动等因素的影响,而且所采集的心电信号常伴有干扰。
采集心电数据时,由于人的说话呼吸,常常会混有约为0.1Hz到0.25Hz频段的干扰。
对于这些低频干扰,可以让信号通过一个高频滤波器,低截止频率设置为0.25,来滤波低频信号;对于高频信号干扰,可以让信号再通过一个低频滤波器,其中截止频率设置为99Hz。
通过尝试比较几种滤波器的效果,我采用反切比雪夫滤波器进行滤波。
根据以上说明,利用labvIEW中的信号处理函数设计反切比雪夫滤波器,滤除数字信号中的干扰信号,来获取预想的信号。
4设计内容
4.1心电信号的读取
根据txt格式的数据文件特点,利用labvIEW提供的I/O文件函数,在本课题中,主要是围绕LabVIEW中的读取电子表格文件函数来设计心电信号的读取部分的VI,并利用XY图来对数据做图形化显示。
让心电数据文件中的第一列时间数据作为x轴,对应的MLII方式的幅值作为y轴,以此得到绘制的源心电波形。
此步骤主要是心电信号的字符串——数值转换部分比较复杂。
心电信号的读取VI图:
如图1所示:
4.2对原始心电信号线性插值
根据上文中提到的插值公式,以此为原理,设计labvIEW程序,对心电信号数据做线性插值处理。
插值完以后的数据应该是时间均匀的、以0.001秒为间隔的。
此步骤的实现主要是基于labvIEW中的数组操作函数(索引数组,数组子集等)来实现,插值方法的思路是:
第一步中读取的心电信号数据的时间数据和幅值数据分别存放在一个一维数组中。
然后利用For循环结构把所有数据依次读取进来。
判断时间数据数组中前后两个相邻的数据间隔是否为0.001s,如果是则判断下一对相邻两个数据;如果间隔大于0.001s则在一个CASE条件结构里面做插值处理。
对幅值数据同样做插值处理,时间数据和幅值数据一定是相互对应的。
线性插值相应的VI图,如图2所示:
4.3设计相应的低通高通滤波器及其谱分析
源心电信号里面是包含有噪声的,需要对数字心电信号做一定滤波处理。
由于心电信号是无限信号,只能用IIR滤波器。
LabVIEW提供的IIR滤波器类型有Butterworth、Chebyshev、InverseChebyshev、Elliptic和Bessel滤波器。
它们都有各自的特点,用途也不尽相同。
我采用Inversechebyshev滤波器。
由于时间间隔是0.001s,所以采样频率大于等于1000hz即可。
高通滤波器截止频率0.25hz,低通滤波器截止频率99hz。
滤波器和谱分析相应的VI图,如图3所示:
4.4选作部分:
.三种滤波器设计
分别设计Butterworth、Chebyshev、InverseChebyshev三种滤波器,并对滤波后的信号分别做频谱分析,比较几种滤波器的差别(其中InverseChebyshev滤波器已在上一部分设计过,此处不再重复)。
设计原理图如图4:
.设计50HZ工频陷波器
由于电子设备采集到的信号经常会混有电源线干扰。
电源线干扰是以50Hz为中心的窄带噪声,带宽小于1Hz。
设计相应滤波器滤除电源线干扰,并对处理后的信号做频谱分析。
原理图如图5:
4.5整体的程序框图及前面板
程序框图:
前面板:
5实验结果与分析
5.1读取心电信号文件的运行结果:
简要分析:
根据运行结果,很显然,所读取的原始的心电信号时间数组是不均匀的,原始的时间序列和幅值序列大小为3600;观察波形图可以发现,原始的心电信号中带有一定的噪声。
5.2线性插值的运行结果:
简要分析:
差值过程主要是利用For循环和移位寄存器,用两个For循环相嵌套结构,外层循环用来读取原始数组中的数据,内部循环用来对数据进行插值。
将依次读入数组中的数据。
从程序的运行结果可以看出,时间间隔等分成0.001s,幅值也相应成为期望值。
5.3反切比雪夫先通过低通,再通过高通滤波的运行结果:
简要分析:
由于心电信号中普遍存在直流分量的干扰,并且他对谱分析有一定的影响,所以,滤波过程首先都进行了直流分量的去除。
通过逐个尝试滤波器类型,发现反切比雪夫滤波器效果比较好,低通滤波器的阶数调节至5,截止频率设定为99Hz,高通滤波器阶数调节至2,截止频率设定在0.25Hz,此时滤波效果较好。
观察波形及频谱图可以发现,相对于滤波前的信号,此时的信号,毛刺有所减少,波形也略为平稳,并且基线漂移减少,得到了较好的滤波。
5.4选作部分1巴特沃斯与切比雪夫滤波器的运行结果:
简要分析:
该部分分别尝试使用了巴特沃斯和切比雪夫滤波器进行滤波,均选择带通形势,设定参数相同,采样频率为3000,高截止频率99Hz,低截止频率0.0001hz,通过调节比较,发现,此处设计中,两种滤波器对于阶数的改变,频谱变化不明显,基本选定阶数为5阶时,效果略为好些。
观察频谱,并与反切比雪夫滤波器滤波后的频谱相比较发现,效果不如切比雪夫好,验证了上一部分的选择是正确的。
5.5选作部分2的运行结果:
简要分析:
6总结(只对设计课题内容进行总结并给出结论)
本次课程设计对心电信号进行了读取、插值、去直流分量、铝箔、波形及频谱显示,根据频谱显示,该病例每分钟心跳大概66次,由于心电信号本身噪声很多,信噪比小,加之滤波效果并不是很明显,不能看出具体病态特征,但是通过尝试各种滤波器类型和滤波方式,可以发现用反切比雪夫滤波器进行先低通再高通滤波效果比较好。
参考文献
[1]高西全.数字信号处理(第三版).西安电子科技大学出版社,2008.8
[2]吴大正.信号与线性系统分析(第四版).高等教育出版社,2005.8
[4]黄进文.虚拟仪器心电信号自动分析系统设计:
现代虚拟测试分析系统设计方法研究,2009.02
[5]丁玉美.数字信号处理(第二版).西安电子科技大学出版社,2001
课程设计的收获、体会、意见、建议
经过几天的努力,终于把滤波器和设计报告完成,在这次课程设计中,通过上网查找资料和不断摸索,在图书馆借阅资料,和不断练习,我学会了简单的使用labview软件,并且对数字信号处理有了进一步的认识,也对心电信号的特征分析有了一定认识,同时对课程设计和撰写论文有了一定的思路。
可以说受益匪浅,收获颇多。
作为通信工程的学生,数字信号处理课程对我们非常重要,matlab软件和labview软件也都是很实用同时有很重要的软件。
通过这次课程设计学习labview软件,发现该软件不仅操作简单,使用方便,而且仿真很好,界面也很形象逼真,由于时间关系,这次只是很简单的学习了一些基本操作方法,以后应该深入的学习这个软件,熟悉并掌握它,相信对我们以后的学习工作会有很大帮助。
设计过程中,同时也发现了一些问题。
再设计滤波器时发现自己对信号处理的基本知识掌握的不牢固,对知识理解还不够透彻。
在以后的学习过程中会更加认真努力,提高自己的学习能力,做到理论实践相结合,掌握更多有用知识,为今后的学习工作打下基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 labview 电信号 分析