exponenta event banner

modifySignals

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

    Описание

    пример

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

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

    Примеры

    свернуть все

    Груз EMGdata.mat в рабочую область. Файл содержит восемь каналов данных электромиографии (ЭМГ) [1], записанных с восьми мышц рук. Данные доступны на www.sce.carleton.ca/faculty/chan/index.php?page=matlab. Частота дискретизации составляет 1000 Гц. Постройте первые четыре канала в 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. The axes 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. The axes contains 4 objects of type line.

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

    свернуть все

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

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

    Примечание

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

    Аргументы пары «имя-значение»

    Укажите дополнительные пары, разделенные запятыми 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-й конференции Канадского общества медицинской и биологической инженерии, Торонто, Канада, 2007.

    [2] Кемп, Боб, Алпо Вярри, Агостиньо К. Роза, Ким Д. Нильсен и Джон Гейд. «Простой формат обмена оцифрованными полиграфическими записями». Электроэнцефалография и клиническая нейрофизиология 82, № 5 (май 1992): 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