我从事的是使用神经网络进行心电信号处理的工作,其中涉及模式识别。因为我需要从Matlab中收集所有数据作为测试信号,所以我发现很难将其加载到Matlab中。我使用的是麻省理工学院的心律失常数据库here。
信号需要被编入索引并以Matlab兼容格式存储为数据结构。目前,该信号为.atr和.dat格式。
如何将MIT-BIH心律失常数据库加载到Matlab上?
发布于 2014-07-31 22:00:53
您可以使用physionet ATM来获取更容易处理的.mat文件。
在输入部分,选择所需的引线、长度、数据库和样本。
在工具箱中,选择export as .mat

然后下载'.mat‘文件,

为了在MATLAB中打开该文件,下面是一个示例代码:
load ('100m.mat') % the signal will be loaded to "val" matrix
val = (val - 1024)/200; % you have to remove "base" and "gain"
ECGsignal = val(1,1:1000); % select the lead (Lead I)
Fs = 360; % sampling frequecy
t = (0:length(ECGsignal)-1)/Fs; % time
plot(t,ECGsignal)你会得到,

但是,如果您要读取心律不齐或QRS波群的注释文件,这将是另一个问题。
编辑
基数和增益来自info文件(第二张图片)。该文件为您提供了有关ECG信号的各种信息。

在最后一句话中,它说:要将原始单位转换为上面所示的物理单位,请减去'base‘并除以'gain’。
发布于 2011-06-09 13:51:39
您需要来自this website的程序rddata.m (MATLab脚本)。该程序可以在here中找到。rddata.m可能是唯一需要读取心电信号的程序。我记得不久前我自己也用过这个程序和数据库。
发布于 2015-06-05 12:07:56
有一个使用matlab读取数据的教程。tutorial for matlab user
'.atr', '.dat' and '.hea'。matlab中的[tm,signal,Fs]=rdsamp( filename , 1 ) ; [ann,type]=rdann( filename , 'atr' ) ;注意:对于信号'101',它的名字是'101‘。您可以从教程中查看有关rdsamp和rdann的详细信息。https://stackoverflow.com/questions/6283929
复制相似问题