signalTimeFeatureExtractor

Оптимальное извлечение признаков времени сигнала

    Описание

    Использование signalTimeFeatureExtractor извлекать функции временного интервала из сигнала. Можно использовать извлеченные функции, чтобы обучить модель машинного обучения или нейронную сеть для глубокого обучения.

    Создание

    Описание

    sFE = signalTimeFeatureExtractor создает signalTimeFeatureExtractor объект со значениями свойств по умолчанию.

    пример

    sFE = signalTimeFeatureExtractor(Name,Value) задает значения свойств не по умолчанию signalTimeFeatureExtractor объект. Например, signalTimeFeatureExtractor(FeatureFormat="table") устанавливает выходной формат генерированных признаков к таблице.

    Свойства

    развернуть все

    Основные свойства

    Количество отсчетов в системе координат в виде положительного целого числа. Объект делит сигнал на системы координат заданной длины и извлекает функции каждой системы координат. Если вы не задаете FrameSize, или если вы задаете FrameSize как пустой, объект извлекает функции целого сигнала.

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

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

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

    Количество перекрывающихся выборок между последовательными системами координат в виде положительного целого числа. FrameOverlapLength должно быть меньше чем или равно формату кадра. Если вы задаете FrameOverlapLength, затем необходимо также задать FrameSize. Вы не можете задать FrameOverlapLength и FrameRate одновременно.

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

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

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

    Формат генерированных признаков в виде "matrix" или "table". extract функция возвращает функции как один из них:

    • matrix — Матрица со столбцами, соответствующими, чтобы показать значения.

    • table — Таблица с каждой табличной переменной, соответствующей значению функции.

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

    Управляйте, чтобы обработать неполные системы координат в виде "drop" или "zeropad". Это правило применяется, когда текущий формат кадра меньше заданного FrameSize свойство.

    • drop — Пропустите неполную систему координат и не используйте ее, чтобы вычислить функции.

    • zeropad — Нулевая клавиатура неполная система координат и использование это, чтобы вычислить функции.

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

    Функции, чтобы извлечь

    Опция, чтобы извлечь среднее значение в виде true или false. Если вы задаете Mean как верный, объект извлекает среднее значение и добавляет значение к функциям, возвращенным extract функция.

    Типы данных: логический

    Опция, чтобы извлечь среднеквадратичное значение (RMS) в виде true или false. Если вы задаете RMS как верный, объект извлекает RMS и добавляет значение к функциям, возвращенным extract функция.

    Типы данных: логический

    Опция, чтобы извлечь стандартное отклонение в виде true или false. Если вы задаете StandardDeviation как верный, объект извлекает стандартное отклонение и добавляет значение к функциям, возвращенным extract функция.

    Типы данных: логический

    Опция, чтобы извлечь масштабный фактор в виде true или false. Масштабный фактор равен значению RMS, разделенному на среднее абсолютное значение сигнала. Если вы задаете ShapeFactor как верный, объект извлекает масштабный фактор и добавляет значение к функциям, возвращенным extract функция.

    Типы данных: логический

    Опция, чтобы извлечь отношение сигнал-шум (SNR) в виде true или false. Если вы задаете SNR как верный, объект извлекает ОСШ и добавляет значение к функциям, возвращенным extract функция.

    Типы данных: логический

    Опция, чтобы извлечь общее гармоническое искажение (THD) в виде true или false. Если вы задаете THD как верный, объект извлекает THD и добавляет значение к функциям, возвращенным extract функция.

    Типы данных: логический

    Опция, чтобы извлечь отношение сигнала к шуму и искажениям (SINAD) в децибелах в виде true или false. Если вы задаете Sinad как верный, объект извлекает SINAD и добавляет значение к функциям, возвращенным extract функция.

    Типы данных: логический

    Опция, чтобы извлечь пиковое значение в виде true или false. Пиковое значение соответствует максимальному абсолютному значению сигнала. Если вы задаете PeakValue как верный, объект извлекает пик и добавляет значение к функциям, возвращенным extract функция.

    Типы данных: логический

    Опция, чтобы извлечь фактор гребня в виде true или false. Фактор гребня равен пиковому значению, разделенному на RMS. Если вы задаете CrestFactor как верный, объект извлекает фактор гребня и добавляет значение к функциям, возвращенным extract функция.

    Типы данных: логический

    Опция, чтобы извлечь фактор разрешения в виде true или false. Фактор разрешения равен пиковому значению, разделенному на среднее значение в квадрате квадратных корней из абсолютной амплитуды. Если вы задаете ClearanceFactor как верный, объект извлекает фактор разрешения и добавляет значение к функциям, возвращенным extract функция.

    Типы данных: логический

    Опция, чтобы извлечь импульсный фактор в виде true или false. Импульсный фактор равен пиковому значению, разделенному на среднее значение абсолютной амплитуды. Если вы задаете ImpulseFactor как верный, объект извлекает импульсный фактор и добавляет значение к функциям, возвращенным extract функция.

    Типы данных: логический

    Функции объекта

    extractИзвлеките функции частотного диапазона или временной интервал
    generateMATLABFunctionСоздайте функцию MATLAB, совместимую с генерацией кода C/C++

    Примеры

    свернуть все

    Извлеките функции временного интервала из электромиографических данных (EMG) для дальнейшего использования в рабочем процессе машинного обучения, чтобы классифицировать движения предплечья. Файлы доступны в этом местоположении: https://ssd.mathworks.com/supportfiles/SPT/data/MyoelectricData.zip.

    Этот пример использует сигналы EMG, собранные из предплечий 30 предметов [1]. Набор данных состоит из 720 файлов. Каждый предмет участвовал в четырех сеансах тестирования и выполнил шесть испытаний различных движений предплечья на сеанс. Загрузите и разархивируйте файлы в свою временную директорию.

    localfile = matlab.internal.examples.downloadSupportFile('SPT','data/MyoelectricData.zip');
    datasetFolder = fullfile(tempdir,'MyoelectricData');
    unzip(localfile,datasetFolder)

    Каждый файл содержит сигнал EMG с восемью каналами, который представляет активацию восьми мышц предплечья во время серии движений. Частота дискретизации составляет 1 000 Гц. Создайте signalDatastore это указывает на папку набора данных.

    fs = 1000;
    sds = signalDatastore(datasetFolder,IncludeSubfolders=true);

    В данном примере анализируйте только последний (шестой) суд над каждым сеансом. Используйте endsWith функционируйте, чтобы найти индексы, которые соответствуют этим файлам. Создайте новый datastore, который содержит это подмножество сигналов.

    p = endsWith(sds.Files,'6d.mat');
    sdssub = subset(sds,p);
    data = readall(sdssub);

    Создайте signalTimeFeatureExtractor возразите, чтобы извлечь среднее значение, среднеквадратичное значение (RMS) и пиковые значения от сигналов EMG. Вызовите extract функционируйте, чтобы извлечь заданные функции. Постройте пиковые значения для вторых и восьмых каналов EMG.

    sFE = signalTimeFeatureExtractor(SampleRate=fs,Mean=true,RMS=true,PeakValue=true);
    
    M = [];
    F = [];
    
    for i = 1:length(sdssub.Files)
        M{i,1} = extract(sFE,data{i});
    end
    
    for k = 1:30
        peak2 = M{k,1}(:,3,2);
        peak8 = M{k,1}(:,3,8);
        F(k,1) = peak2;
        F(k,2) = peak8;
    end
    
    bar(F)
    xlabel('Subject')
    ylabel('EMG Peak values (mV)')
    legend(['Channel 2';'Channel 8'])

    Figure contains an axes object. The axes object contains 2 objects of type bar. These objects represent Channel 2, Channel 8.

    Ссылки

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

    Расширенные возможности

    Генерация кода C/C++
    Генерация кода C и C++ с помощью MATLAB® Coder™.

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

    Объекты

    Введенный в R2021a