readecgdata.m

来自「一个能根据心电图信号产生音乐的matlab程序」· M 代码 · 共 34 行

M
34
字号

function [s,sfreq]=ReadECGData(file,lead)

PATH='./';
HEADERFILE=strcat(file,'.hea');
DATAFILE=strcat(file,'.dat');
ATRFILE=strcat(file,'.atr');
SAMPLES2READ=1000000;
%------ LOAD HEADER DATA --------------------------------------------------
signalh= fullfile(PATH, HEADERFILE);
fid1=fopen(signalh,'r');
z= fgetl(fid1);
A= sscanf(z, '%*s %d %d %d',[1,3]);
nosig= A(1);  % number of signals
sfreq=A(2);   % sample rate of data
clear A;
for k=1:nosig
    z= fgetl(fid1);
    A= sscanf(z, '%*s %d %d %d %d %d',[1,5]);
    dformat(k)= A(1);           % format; here only 212 is allowed
    gain(k)= A(2);              % number of integers per mV
    bitres(k)= A(3);            % bitresolution
    zerovalue(k)= A(4);         % integer value of ECG zero point
    firstvalue(k)= A(5);        % first integer value of signal (to test for errors)
end;
fclose(fid1);
clear A;

%------ LOAD BINARY DATA --------------------------------------------------
signald= fullfile(PATH, DATAFILE);            % data in format 212
fid2=fopen(signald,'r');
A= fread(fid2, [12, SAMPLES2READ], 'int16')';  % matrix with 3 rows, each 8 bits long, = 2*12bit
fclose(fid2);
s=A(:,lead);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?