过去一直认为WFDB工具包中包含QRS探测的程序,所以才能将ECG信号的每个心拍分离出来,但现在发现每个心拍早在数据库建立的时候就分好了,数据保存在注释文件 .atr 中。
ann = rdann(record,'atr','start','00:01:00');
samp_pre = rdsamp(record,'begin','00:01:00');
上面的两行代码中
rdann 读取MIT-BIH数据库中某个record(mitdb/100)的注释文件.atr
rdsamp 则读取相应的数据文件 .dat
读到的数据分别是 ann 1*2199 struct
以及 samp_pre 628400*3 double
其中 ann 如下图所示
可以看出 ann中已经包含了每个心拍的起始时间、对应的样本点序号、标签,说明这些信息都是存在于注释文件中的,并不是rdann算法计算出来的
(关于WFDB工具包的详细介绍: WFDB Toolbox for MATLAB )
timeInSeconds 和 sampleNumber 对应每个心拍的R波所在位置
所以在提取心电信号特征时,如RR间隔等,可以直接以上参数,代码如下&