主要内容

edfwrite

创建或修改EDF或EDF+文件

    描述

    创建一个edfwrite对象写入或修改欧洲数据格式(EDF)或EDF+文件。

    创建

    描述

    edfw= edfwrite (文件名创建一个edfwrite指定的现有EDF或EDF +文件的对象文件名

    edfw= edfwrite (文件名HDR.sigdata.创建一个edfwrite一个新的EDF或带有信号数据的EDF+文件,sigdata..文件属性在头结构中指定,HDR.

    edfw= edfwrite (文件名HDR.annotationslist创建一个edfwrite对象和新的EDF或EDF +文件注释,annotationslist

    edfw= edfwrite (文件名HDR.sigdata.annotationslist创建一个edfwrite对象和一个带有信号数据和注释的新的EDF或EDF+文件。

    例子

    edfw= edfwrite (___名称,值特性使用名称-值参数。您可以指定DataRecordTimesAnnotationsEncoding,InputSampleType

    输入参数

    展开全部

    EDF或EDF+文件的名称,指定为字符向量或字符串标量。

    根据文件的位置,文件名可以采取其中一种形式。

    地点

    形式

    Matlab上的当前文件夹或文件夹®路径

    中指定文件的名称文件名

    例子:“data.edf”

    文件夹中的文件

    如果文件不在当前文件夹或MATLAB路径上的某个文件夹中,则指定完整或相对路径名。

    例子:“C: \ myFolder \ data.edf”

    例子:'mydir \ myfile.ext'

    请注意

    edfwrite不支持eyelin万博1manbetxk®法国电力公司(EDF)文件。

    数据类型:char|细绳

    标题详细信息指定为结构。看到edfheader想要查询更多的信息。

    数据类型:结构体

    信号数据,指定为具有一列或多列的数字矩阵或数字向量的单元数组。

    数据类型:双倍的|细胞

    注释,指定为包含以下变量的时间表:

    • 发病—注释发生的时间,表示从文件开始时间到现在的秒数。使用发病指定rowTimes的时间表。

    • 注释—包含注释文本的字符串。

    • 持续时间—持续时间标量,表示标注所描述的事件的持续时间。如果文件没有指定注释持续时间,则将此变量返回为

    数据类型:表格

    特性

    展开全部

    文件属性

    此属性是只读的。

    文件名,作为字符串标量返回。

    例子:“ECG_20200411_120.edf”

    数据类型:细绳

    文件类型,返回为“法国电力公司(EDF)”“法国电力公司(EDF) +”

    数据类型:细绳

    此属性是只读的。

    日期上次修改后,返回作为字符串标量,其中包含上次修改文件的日期和时间。

    例子:“11-APR-2020 15:38:37”

    此属性是只读的。

    文件大小以字节为单位,作为整数标量返回。

    例子:4040992

    数据类型:双倍的

    头属性

    此属性是只读的。

    数据格式版本,返回为“0”

    数据类型:细绳

    此属性是只读的。

    病人标识详细信息,以字符串标量形式返回。患者身份信息可以包括患者ID,性别或性别,出生日期“dd-MMM-yyyy”格式,名称。

    例子:" x f x 120 04- 7 -1982"

    数据类型:细绳

    此属性是只读的。

    录制识别详细信息,返回为字符串标量。录制识别详细信息可以包括其开始日期和时间,所以记录的技术人员的ID以及使录制的设备的ID。

    例子:“Startdate 04-Jul-1982 x x x”

    数据类型:细绳

    此属性是只读的。

    记录开始日期,以字符串标量的形式返回“通行”格式。

    例子:“04.07.82”

    数据类型:细绳

    此属性是只读的。

    录制开始时间,作为字符串标量返回'hh.mm.ss'格式。

    例子:“17.16.37”

    数据类型:细绳

    此属性是只读的。

    标题大小以字节为单位,作为整数标量返回。HeaderBytes是由(256 +NumSignals×256)字节。前256字节对应于一个静态头,并且是所有EDF和EDF+文件所必需的。其他字节取决于数据记录中出现的信号数量。

    例子:2048

    数据类型:双倍的

    此属性是只读的。

    EDF +中断信息,返回“EDF + C”“EDF + D”用于符合EDF+的文件。

    • “EDF + C”—连续记录:没有中断,所有数据记录都是连续的,每条数据记录的开始时间与前一条记录的开始时间加持续时间一致。

    • “EDF + D”—记录不连续,连续的数据记录之间有中断。

    对于不符合EDF+的文件,此属性是一个空字符串("").

    数据类型:细绳

    此属性是只读的。

    文件中的数据记录数,作为整数标量返回。

    请注意

    如果文件名是不符合EDF标准的NumDataRecords可以设置为-1当数据记录的数量未知时。如果文件名法国电力公司(EDF)兼容,NumDataRecords必须设置为正整数。如果文件名保留设置为非空字符串和NumDataRecords设置为-1edfinfo.抛出错误。

    数据类型:双倍的

    此属性是只读的。

    每个数据记录的持续时间,作为持续时间标量返回。

    数据类型:持续时间

    此属性是只读的。

    文件中以整数标量形式返回的信号数。

    数据类型:双倍的

    每个数据记录的起始时间,作为持续时间向量返回。DataRecordTimes必须为eDF +文件指定,具有不连续的记录开始时间。向量必须等于NumDataRecords

    数据类型:持续时间

    信号属性

    此属性是只读的。

    信号名称,作为长度的字符串向量返回NumSignals

    ["胸1”;“腹部3”)

    数据类型:细绳

    此属性是只读的。

    传感器详细信息,作为长度的字符串向量返回NumSignals.的每个元素TransducerTypes包含用于获取相应信号的传感器的详细信息SignalLabels

    例子:[" AgAgCl电极”;“热敏电阻”)

    数据类型:细绳

    此属性是只读的。

    信号数据单元,作为长度的串向量返回NumSignals.的每个元素PhysicalDimensions包含用于表示中相应信号值的测量单位SignalLabels

    例子:(“紫外线”;“mV”)

    数据类型:细绳

    此属性是只读的。

    信号的最小物理值,作为长度的数字向量返回NumSignals.的每个元素PhysicalMin包含相应信号的最小物理值SignalLabels

    数据类型:双倍的

    此属性是只读的。

    信号最大物理值,作为长度的数字矢量返回NumSignals.的每个元素PhysicalMax包含相应信号的最大物理值SignalLabels

    数据类型:双倍的

    此属性是只读的。

    信号最小数字值,作为长度的数字矢量返回NumSignals.的每个元素DigitalMin中包含相应信号的最小数字值SignalLabels

    数据类型:双倍的

    此属性是只读的。

    信号最大数字值,作为长度的数字矢量返回NumSignals.的每个元素DigitalMax包含相应信号的最大数字值SignalLabels

    数据类型:双倍的

    此属性是只读的。

    信号数据单元,作为长度的串向量返回NumSignals.的每个元素预滤器包含用于预处理中相应信号的过滤器(如果有的话)的详细信息SignalLabels

    例子:["HP:10Hz LP:80Hz N:60Hz";"HP:0.1Hz LP:90Hz N:60Hz"]

    数据类型:细绳

    此属性是只读的。

    信号中的采样数,以长度的数字向量返回NumSignals.的每个元素numsamples.包含相应信号中的样本数SignalLabels

    数据类型:双倍的

    此属性是只读的。

    附加信号信息,作为长度的字符串向量返回NumSignals.的每个元素serightReserved.包含关于相应信号的附加信息,如果有的话SignalLabels

    数据类型:细绳

    输入样例类型的信号数据,返回为“数字”“物理”.功能默认为“数字”并将信号数据写入文件,没有数字缩放。如果“InputSampleType”设定为“物理”,然后edfwrite对信号数据进行数字缩放。

    数据类型:细绳

    注释的属性

    此属性是只读的。

    信号记录中存在的注释作为包含这些变量的时间表返回:

    • 发病—注释发生的时间,表示从文件开始时间到现在的秒数。

    • 注释—包含注释文本的字符串。

    • 持续时间—持续时间标量,表示标注所描述的事件的持续时间。如果文件没有指定注释持续时间,则将此变量返回为

    数据类型:表格

    编码格式用于将注释写入文件,返回为“us - ascii”“UTF-8”,或“LATIN1”中的一个

    数据类型:细绳

    对象的功能

    addannotation 添加注释到EDF或EDF+文件
    addSignals 添加新的信号到EDF或EDF+文件
    deleteAnnotations 从EDF或EDF+文件中删除注释
    deletesignals. 删除信号从EDF或EDF+文件
    modifyannotations. 修改EDF或EDF+文件中的注释
    modifyHeader 修改EDF或EDF+文件的头信息
    modifysignals. 修改EDF或EDF +文件中的信号

    例子

    全部折叠

    负载emgdata.mat进入工作区。该文件包含8个通道的表面肌电图(EMG)数据[1]记录了八块手臂肌肉。该数据可在www.sce.carleton.ca/faculty/chan/index.php?page=matlab..采样率为1000hz。画出信号。

    负载EMGdatafs = 1000;t = 0:1 / fs:(大小(数据,1)1)/ fs;stackedplot (t,数据)

    图包含类型StackEdplot的对象。

    信号振幅的增加与不同的前臂运动相对应,每次持续3秒。emgindex.mat.包含两个变量中每个运动的运动类型和开始索引(样本):运动start_index.运动类型有:

    1. 手打开

    2. 手关闭

    3. 手腕弯曲

    4. 手腕上的扩展

    5. 旋后

    6. 内翻

    7. 休息

    将数据加载到工作区中。

    负载emgindex.

    创建一个注释时间表。

    1. 使用发病指定行时间。发病包含每个动作的开始指数,以秒为单位。

    2. 注释指定作为字符串数组的动作类型。

    3. 持续时间指定每个运动的持续时间以秒为单位。

    onset =秒(start_index./fs);annotations = string(motion);持续时间=秒(长度(ovset),1)* 3);annotationslist =时间表(发病,注释,持续时间);

    使用edfheader创建EDF+文件的头结构并设置属性。看到edfheader想要查询更多的信息。

    hdr = edfheader (“法国电力公司(EDF) +”);hdr.numdatarecords = 1;hdr.datarecordduration =秒(长度(数据(:,1))/ fs);hdr.numsignals = 8;hdr.signallabels = [“F1”“F2”“F3”“F4”“F5”“F6”“F7”“B1”];HDr.PhysicalDimensions = Repelem(“mV”8);hdr。PhysicalMin = min(数据);hdr。PhysicalMax = max(数据);hdr。DigitalMin = [-32768 -32768 -32768 -32768 -32768 -32768 -32768];hdr。DigitalMax = [32767 32767 32767 32767 32767 32767 32767 32767 32767 32767];

    编写包含标题结构,信号数据和注释的EDF +文件。指定输入样本类型为物理.文件保存在当前工作目录下。

    edfw = edfwrite (“armEMG.edf”hdr,数据、annotationslist“InputSampleType”“物理”);

    显示有关该文件的信息。

    edfinfo (“armEMG.edf”
    ans = edinfo with properties: Filename: "armEMG. "edf" FileModDate: "23- february -2021 13:12:29" FileSize: 4803836 Version: "0" Patient: "1234567 F 23- february -2021 Patient_1" Recording: "Startdate: 23- february -2021 MW_1234567 MW_Inv_01 MW_Eq_01" Startdate: "23.02.21" StartTime: "13.12.28" HeaderBytes: 2560 Reserved: " edf +C" NumDataRecords: 1 DataRecordDuration: 300.03 sec NumSignals: 8 SignalLabels:[8x1 string]传感器类型:[8x1 string] PhysicalDimensions: [8x1 string] PhysicalMin: [8x1 double] PhysicalMax: [8x1 double] DigitalMin: [8x1 double] DigitalMax: [8x1 double]预过滤:[8x1 string] NumSamples: [8x1 double] signreserved: [8x1 string]注释:[28x2时间表]

    您可以使用EDF文件分析仪查看存储在文件中的信号和注释。使用信号分离选择分开的信号,以更好的可视化。

    删除EDF+文件。如果要保留该文件,请注释掉此代码。

    删除armEMG.edf

    尖端

    • 要创建只包含注释的EDF+文件,请指定NumDataRecordsNumSignals作为0datarecordduration.作为带值的持续时间标量0,以及所有信号属性都为空。

    • 启动EDF文件分析仪应用程序来可视化你的EDF或EDF+文件中的信号。

    参考

    [1] Chan, Adrian d.c., Geoffrey C. Green. 2007。“肌电控制开发工具箱”。论文发表于第30届加拿大医学与生物工程学会会议,加拿大多伦多,2007

    [2] Kemp,Bob,AlpoVärri,agostinho C.罗莎,金D.Nielsen和John Gade。“一种简单的形式,用于交换数字化的复图录音。”脑电图和临床神经生理学82,没有。5(1992年5月):391-93。https://doi.org/10.1016/0013-4694(92)90009-7。

    [3]肯普,鲍勃和杰西·奥利文。“欧洲数据格式+ (EDF+),一种类似于EDF的生理数据交换标准格式。”临床神经生理学114,没有。9(2003):1755-1761。https://doi.org/10.1016/s1388-2457(03)00123-8。

    另请参阅

    应用程序

    对象

    功能

    外部网站

    介绍了R2021a