ISRUC_SLEEP这个数据集中包含EEG和ECG信号,应该还有其他信号但是我没有用到,还有已经标注好的睡眠阶段,可以用来做心电信号的睡眠分期研究,但是这个数据集没有标注好R点,于是我手工标注了R点,放在我上传的文件中了,这篇博文的目的是告诉大家怎么把R点和ECG信号对应起来。

time = 10;%通过改变数字来控制切割的段数,因为我做的研究是五分钟的,而传统睡眠分期的标注是30S所以取10个标签作为一组,这个可以换,不要紧
 file_names={'1','2','3','5','6','7','9','10','12','13',...
    '16','17','18','19','20','24','25','26','27','29',...
    '30','31','32','35','36','37','38','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60',...
    '61','62','63','66','67','68','70','71','72','73','74','75','76','77','78','82','64','41','39','34','33','14','99','98','96'...
    '95','94','93','92','91','90','89','88','87','86','85','84'...
    'd11','d21','d22','d31','d32','d41','d42','d51'....
    'd52','d61','d62','d71','d72','d81','d82','h1','h2','h3','h4','h6','h8'...
    'h1','h2','h3','h4','h6','h8'};%这个是我使用的这个数据集中的数据,其中有几条确实太乱了,我就没用。

file_path1 = 'D:\sleep_data\ISRUC_SLEEP\edr\';  % 文件路径

for i = 1:length(file_names)%FOR循环,逐条读取数据集中的数据,再逐条进行处理
    file_name = file_names{i};
    filename1 = [file_name '.rec'];%数据集有的数据,内容是各种信号
    filename2 = [file_name '_1.txt'];%数据集有的数据,内容是睡眠阶段分期标注
    file_r = [file_name '_r.mat'];%我标注的R点,和数据集放在一个文件夹中
	[signal, Fs, tm] = rdsamp(filename1,[10]);%读取第十个通道的ECG数据,获得信号数据和频率
	T = readtable(filename2, 'Delimiter', ','); % 使用适当的分隔符,其中获得这条数据的睡眠分期标注
	comments = T{:, 1};
	time_interval = 1/200;
	%标定r点
	r_data = load(file_r);
	r = r_data.r;
	%%接下来按照自己需要处理对应的RR间期文件,我是进行了提取特征处理,把提取的特征和睡眠阶段分别对应,比较乱我就不贴上来了。

大概就是这样了,我也马上要毕业了,以后也不会从事相关的工作了,如果大家有什么疑问可以及时在评论区问,我以后就要把数据和代码都留在学校了。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐