clear all; clc; close all; %------ 具体数据------------------------------------------------------ PATH= 'C:\Users\16202\Desktop\MIT-BIH - 1'; % path, 这里就是写刚才你保存的数据地址 HEADERFILE= '100.hea'; % 文件格式为文本格式 ATRFILE= '100.atr'; % attributes-file 文件以二进制格式 DATAFILE='100.dat'; % data-file SAMPLES2READ=9000; % 读取的数据样本点数为9000 % in case of more than one signal: % 2*SAMPLES2READ samples are read %------ LOAD HEADER DATA -------------------------------------------------- signald= fullfile(PATH, DATAFILE); % data in format 212 fid2=fopen(signald,'r'); A= fread(fid2, [3, SAMPLES2READ], 'uint8')'; % matrix with 3 rows, each 8 bits long, = 2*12bit fclose(fid2); %=----------------------载入二进制数据----------------------------------------- M2H= bitshift(A(:,2), -4); %字节向右移四位,即取字节的高四位 M1H= bitand(A(:,2), 15); %取字节的低四位 M( : , 1)= bitshift(M1H,8)+ A(:,1); %低四位向左移八位 M( : , 2)= bitshift(M2H,8)+ A(:,3); %高四位向左移八位 M = M-1024; %这个M就是咱们解码出来的数据 plot (M(100:1200,1)) %绘制一段心电图形
时间: 2023-08-15 19:17:40 浏览: 178
根据您的代码,我可以看出您想要读取MIT-BIH心电图数据,并绘制其中的一段心电图形。具体步骤如下:
1. 确定数据文件的路径和名称。假设数据文件的路径为PATH,文件名为DATAFILE,代码如下:
```
PATH = 'C:\Users\16202\Desktop\MIT-BIH - 1';
DATAFILE = '100.dat';
```
2. 打开数据文件,并读取其中的数据。假设要读取的数据点数为SAMPLES2READ,代码如下:
```
fid = fopen(fullfile(PATH, DATAFILE), 'rb');
data = fread(fid, [2, SAMPLES2READ], 'uint16')';
fclose(fid);
```
其中,'rb'表示以二进制格式打开文件,'uint16'表示数据为16位无符号整型。
3. 解码数据。根据MIT-BIH数据文件的格式,每个采样点用2个字节表示,高12位为一个采样点的数值,低4位为下一个采样点的高4位。解码过程如下:
```
M2H = bitshift(data(:,2), -4); %高四位向右移四位,得到采样点的高四位
M1H = bitand(data(:,2), 15); %取字节的低四位,得到下一个采样点的高四位
M = bitshift(M1H,8) + data(:,1); %将低四位向左移八位,与高四位相加,得到采样点的数值
M = M - 1024; %数据的偏移量为1024,需要将其减去
```
4. 绘制一段心电图形。假设要绘制的心电图形的起始点为start,终止点为end,代码如下:
```
start = 100;
end = 1200;
plot(M(start:end,1));
```
需要注意的是,上述代码中的绘图部分仅仅是绘制了数据的一部分,您可以根据需要修改起始点和终止点,绘制不同的心电图形。
阅读全文