TRC文件
EDF文件主要分为两大部分,分别为文件头信息和数据存储区域。文件头信息部分前半部分记录了关于采集信号这一事件的信息,主要包括采集的时间起始时间、结束时间、患者信息以及文件头大小等信息;后半部分记录了各个导联的相关参数信息。数据存储区域将以采集持续时间为单位存储导联所采集的信号信息(以下将称其为“点信息”),例如:每个文件头信息中指定了数据记录的数据采集间隔为1秒,则表示按照文件头信息中所指定的导联次序将同一时间点(即1秒内的数据存放在一起,如果要连续读同一导联的持续时间超过1秒的数据,就必须要跨过其他导联的数据,才能找到该导联的下一秒的数据)。
EDF文件采用了定长的方式存储信息,文件头信息总长度为:(总的文件头信息(256字节)+n(导联个数)(256字节)),数据长度为文件头信息中指定的每条导联的采集频率的情况,决定该导联每秒所采集到的点信息的个数,且每个点信息为2个字节的补码数值,数据存储区的长度为:每条导联的采集频率采集总时间2个字节。以下将依次列举EDF标准中每个字段所表示的含义和长度。
8 ascii version of this data format (0)
版本格式
80 ascii local patient identification
病人信息
80 ascii local recording identification
采集信息
8 ascii startdate of recording (dd.mm.yy)
日月年
8 ascii starttime of recording (hh.mm.ss)
时分秒
8 ascii number of bytes in header record
文件头记录大小(总的文件头信息(256字节)+n(导联个数)(256字节))
44 ascii reserved
44个字节的保留位(闲置)
8 ascii number of data records (-1 if unknown)
8个字节表示,每个信息采集的记录单位,以秒为单位,例如7890,表示采集了2:11:30(7200+660+30)
8 ascii duration of a data record, in seconds
表示每条导联持续采集的时间,以秒为单位。
例如:当为1时,表示将每条导联1秒内的点信息存放在一起。
4 ascii number of signals (ns) in data record
采集的信号数目:表示多少条导联
以下ns表示导联数目,ns16表示连续存储ns个导联的16个字节的信息,以下例为例ns16 ascii ns * label表示连续存储ns个导联的label信息。
ns * 16 ascii ns * label (e.g. EEG FpzCz or Body temp)
信号标签:名称
ns * 80 ascii ns * transducer type (e.g. AgAgCI electrode)
类型描述
ns * 8 ascii ns * physical dimension(e.g. uV or degree C)
物理单位(一般为uV)
ns * 8 ascii ns * physical minimum (e.g. -500 or 34)
物理最大值
ns * 8 ascii ns * physical maximum (e.g. 500 or 40)
物理最小值
ns * 8 ascii ns * digital minimum (e.g. -2048)
数字最小值
ns * 8 ascii ns * digital maximum (e.g. 2047)
数字最大值
ns * 80 ascii ns * prefiltering (e.g. HP:0.1Hz LP:75Hz)
滤波器各种参数(含有高通、低通滤波参数)
ns * 8 ascii ns * nr of samples in each data record
频率:200Hz,可以理解为每秒钟所采集到的点信息个数。
ns * 32 ascii ns * reserved
保留32个字节的保留位置,这里的保留位置将连续放置,为ns*32的连续空间
TRC文件
该数据区别于EDF文件,当前只解读出部分信息。
TRC文件同样存在头信息和数据存放区域;头信息中在固定位置存放采集信息和导联信息;数据存放区域采用逐导联逐点方式(区别于EDF的逐秒存储)。
在0x080h存放日(Day),在0x81h存放月(Month),在0x82h处存放年(采集年 - 1900),随后3个字节分别对应小时、分钟、秒;
在0x08ah,用4个字节的int型数值,存放头信息的长度(同样是数据存放区的开始位置);
在0x08eh,用2个字节的short int型数值表示当前文件内采集的导联个数;
在0x90h,用2个字节表示最大采集导联数目;
在0x092h,用2个字节表示当前每秒采集数据的频率(采样率);
在0x094h,用2个字节表示每个数据点占据的长度(一般为2个字节);
在0x0280h,使用单位2个字节长度为导联个数的连续空间,表示导联的信息位置索引(如图2),例如第一条导联的偏移位置为1,则该导联的信息位置为0x0489h+1*128,每条导联的信息长度为128个字节(如图3)。
由上文中可知,数据存储区的起始位置为0x6ceah,采用2个字节的unsigned short int类型数值表示数据点的数值;