该程序主要是用于在MATLAB中读取MIT-BIH数据库的心电信号文件。可将数据解码出来

美国MIT-BIH数据库链接MIT-BIH 心律失常数据库目录 (physionet.org)

可用于读取.dat文件

本次项目采用的心电信号来源于MIT-BIH的数据库,从其中选取了一组包含肌电信号干扰、工频干扰和包含基线偏移的适合于信号分析的信号,选取了该组信号的前15s(即选取了5400个点)的数据进行分析。将显示出信号如图2所示。

代码如下

在MATLAB中对它进行N点的FFT近似傅里叶变换,选择的N值为信号的长度以便获得较高分辨率,得到的幅度谱如图3所示,相位谱如图4所示,分贝谱如图5所示,频谱无明显规律,心电信号的产生为一个随机过程。

图 3心电信号的幅度谱

通过观察该心电信号的幅度谱,可以清晰地看到该信号的低频分量的幅值很大,即在1Hz的幅频特性很大,说明该信号包含了较大的基频分量;该信号在60Hz处有一个峰值,根据常识可知,美国的交流电频率为60Hz,该处的峰值代表了信号受到的工频干扰很大;通常来说,肌电信号的频率为20~5000HZ,其主要成分的频率与肌肉的类型有关,一般在30~300HZ,而心电信号的频率主要集中在5~20HZ,所以心电信号中也包含了很多的肌电信号的干扰。需要抑制掉这些干扰以便进一步分析。

图 4心电信号相位谱

观察心电信号的相位谱,可以发现相位的分布无明显规律。

图 5心电信号的分贝谱

分贝谱为,通过观察该分贝谱,也可以看出低频成分的能量更大,且60Hz处的能量很大,说明受工频干扰较大。

对该信号的进行时域分析,计算它的均值和方差,得到的输出结果如图6所示,通过MATLAB得出的结果:原信号的均值=-0.172842,我们也可得出它偏移X轴,有一个极低频率的分量,即基频漂移,基线漂移一般由于信号采集时呼吸及人体移动造成的,表现为低频率的缓慢变化噪声,其频率一般小于1Hz,可通过一个高通滤波器滤除。

图 6原始信号的均值方差计算

通过MATLAB计算信号的自相关函数如下图7所示,可以看出该信号的自相关函数关于信号的长度即5400对称。自相关函数表示信号的周期性自相关极值点间的距离就是周期;对于随机信号,自相关表示你该信号变化的快慢——如果自相关函数平滑,说明变化慢。

根据图7所示,该自相关函数陡峭,说明信号的变化较快,受到的噪声干扰较大。

图 7原始信号的自相关函数

clear
clc
close all
Fs=360;                     %采样频率
[filename, pathname] = uigetfile('*.dat', 'Open file .dat');% only image Bitmap
if isequal(filename, 0) || isequal(pathname, 0)   disp('File input canceled.');  ECG_Data = [];
else
fid=fopen(filename,'r');
end
time=15;
f=fread(fid,2*360*time,'ubit12');
M=f(1:2:length(f));
M = M-1024;                               %M就是解码出来的数据
M=0.005*(M);
t=(0:1:length(M)-1)/Fs;
N=length(M);
figure(1)
plot(t,M(:,1)),xlabel('t(s)'),ylabel('mv'),title('原始信号')

MATLAB读取MIT心电信号相关推荐

  1. matlab相干解调,心电信号的调制与解调(AM调制、相干解调)

    陈超 11108125 一. 系统构思: 1).通信原理课程介绍了模拟信号的调制与解调.调制可以实现将低频信号频谱搬移到载频位置,解调相当于 调制的反过程. 2).调制和解调的应用举例:3.4kHZ的 ...

  2. 基于MSP430G2553和MATLAB Appdesigner的心电信号复现和心率显示

    学期内综合实验作品,虽然有点烂..也许作者不适合上985 总的来说很简单,MSP430只需要完成一个AD转换和串口发送的任务,剩下的扔给MATLAB处理. 对于心电信号的采集,用的是AD8232套件. ...

  3. matlab零交叉块,[MATLAB基础] 关于心电信号奇异点与其小波变换模极大值对的零交叉点的关系?请教下面程序应该如何理解哈...

    关于心电信号奇异点与其小波变换模极大值对的零交叉点的关系?请教下面程序应该如何理解哈 %**************************************求正负极大值对*********** ...

  4. matlab读取mit bih,将MIT-BIH心律失常ECG数据库加载到MATLAB上

    您可以使用physionet ATM获取更容易使用的.mat文件. 在输入部分选择所需的引线,长度,数据库和样本. 在工具箱中选择导出为.mat: 然后下载'.mat'文件, 为了在MATLAB中打开 ...

  5. 心电信号采集与处理含Matlab源码

    心电信号采集与处理含Matlab源码 心电信号是记录心脏活动的一种非常重要的生理信号.它可以反映人体健康状况,对于临床医学和科学研究有着重要的意义.在本文中,我们将介绍如何使用Matlab采集和处理心 ...

  6. 心电图数据读取matlab程序,心电信号的提取及matlab编程.doc

    MIT-BIH ECG 信号的数据读取方法和Matlab程序 收藏 ? ? 最近在写一篇基于小波变换的ECG信号压缩算法的论文,遇到了怎样获取ECG信号测试数据的问题,在百度和专业论坛里搜索了一番,发 ...

  7. matlab读取心电注释.qrs文件格式,MIT-BIH ECG 心电数据的下载和读取图解 - 晨宇思远 - CSDN博客...

    MIT-BIH ECG 心电数据的下载和读取图解 收藏 一.如何下载获取MIT-BIH的数据 从下面这个官方链接页面可以下载到所有48组MIT-BIH心电数据: 下面这个链接是MIT-BIH数据库的详 ...

  8. matlab读取心电txt数据画图,图解MIT-BIH数据库心电数据下载和Matlab读取程序

    开源数据网站PhysioNet(https://physionet.org/)提供了诸如MIMIC.MIT-BIH等丰富的生理信号数据库,这些数据库对于人体生理信号的分析.数据挖掘有着非常大的作用.M ...

  9. 二、生理信号处理 ——1.心电信号(含Matlab代码及数据)

    本文适合快速了解心电信号,并能够进行数据的滤波处理. 一. 心电数据预处理(消除工频干扰.基线漂移) * 心电数据及rdmat函数见文章底部 1. 导入心电数据 ## 心电图导入及读取 clc; [T ...

  10. 图解MIT-BIH数据库心电数据下载和Matlab读取程序

    开源数据网站PhysioNet(https://archive.physionet.org/)提供了诸如MIMIC.MIT-BIH等丰富的生理信号数据库,这些数据库对于人体生理信号的分析.数据挖掘有着 ...

最新文章

  1. 把ACL论文「几乎一字不落」抄到AAAI 2021上,作者回应:属借鉴
  2. 如何找到ABAP里被动态调用的update function module
  3. 使用Envoy代理的微服务模式,第二部分:超时和重试
  4. Java 中的自举类,到底是什么?
  5. mysql封装执行_解决Mysql封装类执行报错——Mysql::insert() should not be called
  6. LwIP移植到FreeRTOS(STM32F107+DP83848)
  7. 【译】TetroGL: An OpenGL Game Tutorial in C++ for Win32 Platforms - Part 2 (上)
  8. python按时间分类数据_Pandas / Python – 按时间段分组数据
  9. python爬虫要不要学正则_Python爬虫入门,如何使用正则表达式
  10. 近红外光谱建模之区间偏最小二乘法python实现(ipls算法)
  11. 芯片可靠性测试要求及标准解析
  12. PyTorch——device与cuda.device用法
  13. 商城系统必备营销工具(五)——积分商城
  14. 歌礼与先声签订利托那韦片供应协议;索迪斯华东物流新仓于上海松江区开业 | 美通企业日报...
  15. 数据API开发如何快速上手:先了解什么是数据API生命周期管理
  16. 利用shell脚本将json文件导入es
  17. ITOF vs DTOF
  18. 仿蘑菇街,京东,苏宁易购,海尔商城等33套大气购物商城网站模板,附源码免费下载地址...
  19. CSS: :last-child 与 :first-child的坑
  20. vue项目中自动拉取更新Iconfont(阿里巴巴图标库)

热门文章

  1. 汉字为什么能流传至今_《汉字为什么是方块字(节选)》阅读附答案
  2. 简单讲讲SQL注入原理防御
  3. MKS-DLC雕刻MKS_TFT_CNC字机器,CNC雕刻,激光雕刻GRBL使用方法
  4. CAD绘图软件_常用指令
  5. PUMA 560机器人正运动学
  6. 用android实现GB28181前端设备接入平台
  7. 中控考勤机数据通过java程序读取方法
  8. Python基础之爬取豆瓣图书信息
  9. Python 之pandas库的安装及库安装两方法总结
  10. RANSAC算法简介