MIT-BIH 心电数据库1-头文件(.hea)

时间:2020-12-25 05:33:43
MIT-BIH 是由美国麻省理工学院提供的研究心律失常的数据库。是近年来应用较为广泛的一个。

MIT-BIH 的心律失常数据,主要由头文件.hea) , 数据文件(.dat), 注释文件 (.atr) 三部分构成。

头文件(.hea)的储存方式为ASCII码字符。
record 100 为例,头文件为:

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


第一行:
100: 文件编号名称。可以忽略
2: 样本个数。 MIT-BIH 的心电数据是二导联数据,分别为矫正肢体导联II(modefied limb lead II, MLII) 和 矫正导联V1/V2/V5/V4. 所以样本数目是2。
360: 采样率。采样率是每秒采集的信号点个数,即360个采样点/秒。
650000: 信号长度/采样个数。 两个信号的长度均为650000。此数据的采集时间为30+分钟。

第二行/第三行:
第二行和第三行分别记录了两个信号(MIT-BIH ,V5)的信息。两个信号的信息都包含在了100.dat文件中。
212: 数据格式。MIT-BIH 的心律失常数据都是以这种方式储存的,是针对两个信号的数据库记录。
200:信号增益。200ADC(模拟数字转换器) units/mV。信号的增益是信号的放大系统,或者放大倍数。在这里就是将每1mv的交流或者直流信号,经ADC 转换成200值的数字信号。
11:ADC转换的分辨率。ADC能够分辨量化的最小信号能力,以二进制位数表示。
1024:ADC零值为1024。可以将它认为是基线值。
995/1011:两个信号第一采样点的值。在这里两个值都略低于零值。
后两个值分别为采样点的检验数和输入输出的块的尺寸信息。

最后两行:
包括了数据来源患者的基本情况以及用药信息。


将头文件导入到Matlab中:
参考网上读取ECG心电数据的Matlab程序rddata.m(下载地址 http://download.csdn.net/source/3383369)

%函数用法可见相关博文

% ---specify data------------------------------------

PATH='/Users/mac/Desktop/record_100';

HEADFILE='100.hea';

ATRFILE='100.atr';

DATAFILE='100.dat';

SAMPLES2READ=650000;

 

%-----LOAD HEAD DATA----------------------------------

signalh=fullfile(PATH,HEADFILE);

fid1=fopen(signalh,'r');

z=fgetl(fid1);

A=sscanf(z,'%*s %d %d %d',[1,3]); %A='2 360 650000'

nosig=A(1); %nosig=2

sfreq=A(2); %sfreq=360

clear A;

for k=1:nosig

    z=fgetl(fid1);

    A=sscanf(z,'%*s %d %d %d %d %d',[1,5]);

    dformat(k)=A(1);   %dformat=212 

    gain(k)=A(2);      %gain(1)=gain(2)=200

    bitres(k)=A(3);    %bitres(1)=bitres(2)=11

    zerovalue(k)=A(4); %zerovalue(1)=zerovalue(2)=1024

    firstvalue(k)=A(5);%firstvalue(1)=995; firstvalue(2)=1011

end

fclose(fid1);

clear A


导入的重要数据为:
信号个数(nosig)=2
采样率(sfreq)=360
数据格式(dformat(k))=212
信号增益(gain(k))=200
ADC分辨率(bitres(k))=11
ADC零值(zerovalue(k))=1024
两个信号的第一采样点的值(firstvalue(k))=995/1011