虚拟仪器大作业实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
东南大学生物科学与医学工程学院
虚拟仪器实验报告
大作业
实验名称:基于MIT-BIH 心率失常数据库的心电信号系统的设计专业:生物医学工程
姓名:学号:
同组人员:学号:
实验室:
实验时间:评定成绩:综合楼716 2013/11/28
审阅教师:
目录
一.实验目的
二.实验内容
基于MIT-BIH心率失常数据库的心电信号系统的设计
1.实验要求和说明
2.程序设计流程图
3.程序各版块介绍说明
4.前面板的设计
5.调试过程
6.结果及分析
三.实验收获及小结
四.参考文献
一.实验目的
现代医学表明,心电信号(ECG)含有临床诊断心血管疾病的大量信息,ECG 的检测与分析在临床诊断中具有重要价值,是了解心脏的功能与状况、辅助诊断心血管疾病、评估各种治疗方法有效性的重要手段。
本次大作业利用具有直观图形化编程和强大数字信号处理功能的虚拟仪器编程语言L abVIEW作为开发平台,设计一个基于虚拟仪器的简单心电信号分析系统,该系统具有心电信号的读取,处理分析,波形显示、心率显示及报警,波形存储和回放等功能。
二.实验内容
1.实验内容及要求
基于MIT-BIH心率失常数据库的心电信号系统的设计
1. 本次大作业所用原始信号是从MIT-BIH(Massachusettes Institute of
and Beth Israel Hospital,美国麻省理工学院和波士顿贝丝以色列医院)心率数据库(/physiobank/database/mitdb/)中选取心电信号作为实验分析的数据。设计的系统要求对原始心电信号进行读取、绘制出其时域波形,利用原始心电数据中的时间数据控制显示时间,并具有保存回放功能,同时具有心率过快或过缓报警提示功能。
2.心电信号是微弱低频生理电信号,通常频率在0.05Hz~100Hz,幅值不超过
4mV,它通过安装在皮肤表面的电极来拾取。由于实际检测工况的非理想,在ECG 信号的采集过程中往往会受到工频噪声及电极极化等各种随机噪声的影响。噪声的存在降低了诊断的准确性。其中影响最大的是工频干扰和基线漂移噪声。因此,在ECG 信号检测过程中,如何抑制工频干扰和基线漂移等是必须解决的问题。要求选择并设计合适的滤波器,除去所给心电信号的工频干扰和基线漂移。
2.检测心率:检测信号心电的R波,计算平均心率和实时心率(R-R波时间间隔
的倒数),并显示实时心率和平均心率。
3.对任一路心电信号滤波前后的信号进行时域分析和频谱分析,分别显示出结
果。
提高部分:
由于原始信号数据并不是等间隔采样而得到的,而L abview中用数字滤波器1.
处
理的数据要求等间隔的,由此需要对原始数据做一次线性插值处理,使其成为均匀数字信号,以便后面的信号进行频域谱分析。提示:根据原文件心电
信号的特点,时间间隔设置成0.001s ,采用一次线性插值。
2. 对所给的心电信号进行特征点的提取。各波时距的测量,P-R 间期 Q-T 间期 的
测量。能显示心电信号特征参数。
3. 使用 Report Generation Toolkit for Microsoft Office 设计一个报表生成程序, 要求报表中显示标题栏,测试数据、和心电波形图,包含监测开始时间、结 束时间、监测总时间长度、监测期间平均心率、心率最大值、心率最小值、 监
测期间实时心率的波形图。
4. 为了保护用户信息安全,登陆系统时要求设置用户登录模块。当用户运行程 序时,程序会自动弹出需要输入用户名和密码的口令信息对话框,输入不正 确则不能进入运行状态,此外,还有相应的注册用户模块,删除用户模块, 修改密码模块等。
2.程序流程图
口令错误,重新输入口令登录
登录
口令正确
是
否
否
位
未处理完毕
数据处理完毕
进行显示
否
进行数据存储记录
吧
从网站上下载的 dat 文件中读取数据
读取数据之后进行数据处理,将两个通道的数据分开并且整理成 12 将数据转化成十进制进行处理
输入用户名和密码进行 数据处理完之后用波形图和滤波前频谱分析 计算和显示平均心率,瞬时心率 是否进行数据回放
进行滤波处理,去除基线漂移和工频干扰
进行滤波后的频谱分析和显示
进行滤波后的波形显示
进行数据回放
存储数据
判断心率是否有异常
3.程序各版块
数据的读取和处理模块
1.首先是读取数据文件部分,先添加一个文件对话框,并对
文件类型和文件打开提醒进行设置,然后加入一个打开文件函数,设置其权限和操作和。前期工作完成之后,就可以用二进制文件来读取数分别为
据了。
2.关于数据的处理部分,第一道导联12 位数据的低8 位存在第一字节中, 高4 位存在
第二字节的前4位中; 第二道导联12 位数据的低8位, 存在第三字节中, 高4 位存在第二字节的后4 位中。用索引函数将三个数据分别读取,然后对第二个数据进行处理,第
二个数据与进行操作后得到低四位,然后用拼接函数与第三个数据进行拼接就得到了第二道导联数据;第二个数据进行右移四位操作后保留高四位,然后用拼接函数与第一个数据拼接就得到了第一=导联数据。然后对得到的数据变成十进制数进行处理。
3.在读取数据时,由于是三个数据一处理,所以建立的for 循环的循环次数应该是数据长度/3.
滤波模块
1.因为基线漂移部分都是频率非常小的波,我们选择了Butterworth 的带通滤波器,高截止频率为100HZ,低截止频率为0.5HZ,滤除了原本波形中0.05HZ~0.5HZ的部分,这样可以较好的去除基线漂移。
2.为了去除工频干扰部分,在带通滤波器后面加入一个等波纹带阻滤波器,根据实验要求设置其高通带截止频率和低通带截止频率分别为100和0.05,然后根据实验滤波
部分的要求将低阻带截止频率和高阻带截止频率分别设置为59 和61,这样就可以滤去工频干扰。
3.在已经滤去了基线漂移和工频干扰的情况下,为了达到更好地滤波效果在等波纹带阻滤波器后面加入一个3 阶切比雪夫滤波器,将波形滤除的更加完整。