当创建一个EDF文件时发生错误

23日视图(30天)
在创建一个EDF文件在matlab矩阵形式,matlab返回一个错误,没有意义
%得到原始文件的名称
Name =字符串(Infos.OriginalName (1: end-4)) +“.edf”;
%提取的数据信号以适当的形式
sigdata =[痕迹(:1)’,(2:)的痕迹,痕迹(3:)];
%我录音的采样频率
fs = 1000;
% t = 0:1 / fs:(大小(sigdata, 1) 1) / fs;我用这图数据
%让EDF的头文件
hdr = edfheader (“法国电力公司(EDF) +”);
hdr。记录=字符串(Infos.RecordingDate);
hdr。StartDate可以=字符串(datetime(字符串(Infos.RecordingDate (1:11)),“InputFormat”,“dd-MMM-yyyy”,“格式”,“通行”));
hdr。开始时间=字符串(datetime(字符串(Infos.RecordingDate(13:结束),“InputFormat”,“HH: mm: ss”,“格式”,“HH.mm.ss”));
hdr。NumDataRecords = 1;
hdr。DataRecordDuration =秒(长度(sigdata (: 1)) / fs);
hdr。NumSignals = 3;
hdr。SignalLabels = [“Parietal_1”“Parietal_2”“引用”];
hdr。PhysicalDimensions = repelem (“紫外线”3);
% %,这是我的问题在哪里
hdr。PhysicalMin = min (sigdata);
hdr。PhysicalMax = max (sigdata);
hdr。DigitalMin = (-32768 -32768 -32768);
hdr。DigitalMax = (32767 32767 32767);
EEG_signal = edfwrite(名称、hdr sigdata,“InputSampleType”,“物理”);
一切都很好,直到最后一行。Matlab给我这个错误:
错误使用signal.internal.edf.write.validateFieldBytes(50行)
每个“PhysicalMin”字段值必须小于或等于8个字节。有关更多信息,请参见edfheader文档。
错误在edfwrite /它仅仅(第1667行)
signal.internal.edf.write.validateFieldBytes(价值、fieldIndex…
错误edfwrite(第493行)
[obj, fileInfo] =它仅仅(obj,文件名,hdr,…
我不明白,因为我的价值观在hdr。PhysicalMin和hdr。PhysicalMax双打。当我运行“ ”功能的个人价值是8个字节。知道如何解决这个问题吗?
5个评论
马克西姆Alessandri
马克西姆Alessandri 2022年4月4日
你好,
对不起,我从来没有机会回答你。
我找到了一个解决方案:
我在伏所以我取得软件记录 hdr。PhysicalMin和hdr。PhysicalMax就像0.0005(不管)。所以当我把他们在int32 0。
我管理的方式是规模1000000,这样我在微伏信号。然后int32立竿见影。
谢谢你们所有人的帮助。
马克西姆

登录置评。

接受的答案

费德里科•德尔•加洛
我有同样的问题。你找到解决这个错误吗?
1评论
马克西姆Alessandri
马克西姆Alessandri 2022年4月4日
编辑:马克西姆Alessandri 2022年4月4日
你好,
我找到了解决方案,请看到我的评论,
马克西姆欢呼,

登录置评。

更多的答案(0)

类别

找到更多的在脑电图/梅格/ ECoG帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的