modifySignals

Измените сигналы в EDF или EDF + файл

    Описание

    пример

    edfw = modifySignals(edfw,signaldata) изменяет все сигналы, существующие в Европейском формате данных (EDF) или EDF + файл с новыми сигналами в signaldata.

    edfw = modifySignals(___,Name,Value) задает дополнительные опции с помощью аргументов name-value. Например, 'PhysicalMin',-3,'PhysicalMax',6 задает физическое минимальное значение сигнала как –3 и физическое максимальное значение как 6.

    Примеры

    свернуть все

    Загрузите EMGdata.mat в рабочую область. Файл содержит восемь каналов электромиографии (EMG) данные [1] зарегистрированный от восьми мышц рук. Данные доступны по www.sce.carleton.ca/faculty/chan/index.php?page=matlab. Частота дискретизации составляет 1 000 Гц. Постройте первые четыре канала в data.

    load EMGdata
    fs = 1000;
    t = 0:1/fs:(size(data,1)-1)/fs;
    plot(t,data(:,1:4)) 
    xlabel('Seconds')
    ylabel('mV')

    Figure contains an axes object. The axes object contains 4 objects of type line.

    Создайте EDF + файл, который содержит заголовок и данные сигнала от каналов 1-4 в data. Смотрите edfheader для получения дополнительной информации о создании структуры заголовка.

    sig = data(:,1:4);
    hdr = edfheader("EDF+");
    hdr.NumSignals = 4;
    hdr.NumDataRecords = 1;
    hdr.PhysicalMin = min(sig);
    hdr.PhysicalMax = max(sig);
    hdr.DigitalMin = repelem(-32768,4);
    hdr.DigitalMax = repelem(32767,4);
    
    edfw = edfwrite("EMG.edf",hdr,sig,"InputSampleType","physical");

    Измените сигналы в edfw с данными из каналов 5-8 в data. Используйте edfread считывать данные в EMG.edf и постройте сигналы.

    modsig = data(:,5:8);
    edfw = modifySignals(edfw,modsig);
    
    x = edfread("EMG.edf");
    for i = 1:4
        y = x.(i){1};
        plot(t,y)
        xlabel('Seconds')
        ylabel('mV')
        hold on
    end

    Figure contains an axes object. The axes object contains 4 objects of type line.

    Входные параметры

    свернуть все

    EDF или EDF + файл в виде edfwrite объект.

    Данные о входном сигнале в виде числового матричного или массива ячеек числовых векторов. Количество отсчетов в каждом сигнале должно быть кратным количеству записей данных в NumDataRecords.

    Примечание

    Задайте signaldata как числовая матрица, когда все входные сигналы имеют ту же частоту дискретизации. Если входные сигналы имеют различные частоты дискретизации или длины, задают signaldata как массив ячеек числовых векторов.

    Аргументы name-value

    Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

    Пример: 'SelectedSignals',["F1" "B1"],'SelectedDataRecords',[1 2] сообщает modifySignals изменить первые и вторые записи данных сигналов F1 и B1.

    Имена сигнала в виде вектора строки или массива ячеек из символьных векторов. modifySignals изменяет данные сигналов с именами, заданными SelectedSignals.

    Типы данных: char | string

    Записи данных в виде числового вектора. modifySignals изменяет все сигналы в записях данных, заданных индексами записи в SelectedDataRecords.

    Типы данных: double

    Предупредите о минимальном физическом значении в виде числового вектора из длины NumSignals. Физическое минимальное значение сигнала должно быть меньше соответствующего физического максимального значения сигнала. Задайте PhysicalMin только, когда целый сигнал изменяется. Если не заданный, функция использует существующее физическое минимальное значение соответствующего сигнала.

    Типы данных: double

    Предупредите о максимальном физическом значении в виде числового вектора из длины NumSignals. Физическое максимальное значение сигнала должно быть больше соответствующего физического минимального значения сигнала. Задайте PhysicalMax только, когда целый сигнал изменяется. Если не заданный, функция использует существующее физическое максимальное значение соответствующего сигнала.

    Типы данных: double

    Предупредите о цифровом минимальном значении в виде числового вектора из длины NumSignals. Цифровое минимальное значение сигнала должно быть меньше соответствующего цифрового максимального значения сигнала. DigitalMin значения основаны на аналого-цифровом конвертере, используемом, чтобы сгенерировать signaldata. Если не заданный, цифровые значения по умолчанию минимального значения сигнала к -32768.

    Типы данных: double

    Предупредите о цифровом максимальном значении в виде числового вектора из длины NumSignals. Цифровое максимальное значение сигнала должно быть больше соответствующего цифрового минимального значения сигнала. DigitalMax значения основаны на аналого-цифровом конвертере, используемом, чтобы сгенерировать signaldata. Если не заданный, цифровые значения по умолчанию максимального значения сигнала к 32767.

    Типы данных: double

    Выходные аргументы

    свернуть все

    EDF или EDF + файл, возвращенный как edfwrite объект.

    Ссылки

    [1] Канал, Эдриан Д.К., и Джеффри К. Грин. 2007. "Миоэлектрический Тулбокс Разработки Управления". Доклад, сделанный на 30-й Конференции канадской Medical & Biological Engineering Society, Торонто, Канада, 2007.

    [2] Грубая шерсть, Боб, Alpo Värri, Агостиньо К. Роза, Ким Д. Нильсен и Джон Гаде. “Простой Формат для Exchange Оцифрованных Полиграфических Записей”. Электроэнцефалография и Клиническая Нейрофизиология 82, № 5 (май 1992): 391–93. https://doi.org/10.1016/0013-4694 (92) 90009-7.

    [3] Грубая шерсть, Боб и Иисус Оливэн. "Европейский Формат данных 'плюс' (EDF +), EDF, Подобная Стандартный формат для Exchange Физиологических Данных". Клиническая Нейрофизиология 114, № 9 (2003): 1755–1761. https://doi.org/10.1016/S1388-2457 (03) 00123-8.

    Смотрите также

    Приложения

    Объекты

    Функции

    Внешние веб-сайты

    Введенный в R2021a