MIT-BIH心电数据库的使用

MIT-BIH简介

国际公认的权威心电数据库有三个:麻省理工的MIT-BIH,美国心脏学会的AHA数据库以及欧洲的ST-T心电数据库,其中MIT-BIH是最常用最著名的

MIT-BIH网址:http://www.physionet.org/cgi-bin/atm/ATM,Input可以选择具体的数据库,Toolbox可以选择输出方式,包括下载.mat

文件读取

MIT-BIH的文件有三个,.atr文件是注释文件,.hea是头文件,说明信号数据的特性,.dat文件就是实际的数据文件

.hea文件内容如下

100 2 360 650000
100.dat 212 200 11 1024 995 -22131 0 MLII
100.dat 212 200 11 1024 1011 20052 0 V5
# 69 M 1085 1629 x1
# Aldomet, Inderal
第一行为记录行,2路360Hz采样的信号,每一路采样个数650000;

下面两行是对各路信号的数据说明,212格式,每个信号增益是200ADCunits/Mv,ADC是11位,ADC零值是1024,第一采样点的值分别是995和1011等信息。

212格式:用12位表示一个数,所以3个字节表示两个数,数据存储模型应该是:


matlab读取程序:

function M=rddata_mit;
filename=input('please enter the filename,end with .dat','s');
signald=filename;
fid2=fopen(signald,'r');
SAMPLES2READ=10000;
A= fread(fid2, [3, SAMPLES2READ], 'uint8')';      % 矩阵A共有SAMPLES2READ行、3列,每列数据都是以uint8格式读入,注意这时数据通过uint8的读入方式已经成为十进制数
fclose(fid2);
M2H= bitshift(A(:,2), -4);                              % 字节向右移四位,即取字节的高四位,属于信号2的高4位
M1H= bitand(A(:,2), 15);                              % 取字节的低四位,属于信号1的高4位
PRL=bitshift(bitand(A(:,2),8),9);                 % sign-bit   取出字节低四位中最高位,向左移九位
PRR=bitshift(bitand(A(:,2),128),5);            % sign-bit   取出字节高四位中最高位,向左移五位
M( : , 1)= bitshift(M1H,8)+ A(:,1)-PRL;       % 将M1H、M2H分别左移8位,即乘以2^8,再分别加上A(:,1),A(:,2),
M( : , 2)= bitshift(M2H,8)+ A(:,3)-PRR;       % 由于左移时把符号位也移动了,要减去符号位的值
M=M';                                                               % 为了方便后期的数据处理,将输出矩阵 M 转置为2行SAMPLES2READ列


  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值