Импортируйте данные в Signal Labeler

Импортируйте члены в Signal Labeler одним из трех способов создать помеченные наборы сигнала:

  1. Импортируйте Сигналы из рабочего пространства MATLAB — Импорт каждый сигнал как член пометить их индивидуально или импортировать помеченный набор сигнала.

  2. Импортируйте Сигналы из Файлов — Импорт каждый файл как член, чтобы пометить все сигналы содержавшимися в файле вместе.

  3. Импорт и Данные о Файле проигрывания аудио в Signal Labeler — звуковые файлы Импорта и папки (требует лицензии Audio Toolbox™).

Поддерживаемые типы сигнала

Приложение Signal Labeler работает с действительным - или комплексные векторы, матрицы, MATLAB® расписания, labeledSignalSet объекты и signalDatastore объекты. Приложение также поддерживает MAT-файлы и файлы CSV.

Примечание

Signal Labeler не поддерживает сигналы с Inf или NaN значения, многомерные массивы или разреженные матрицы.

  • Пример: Числовые массивы

    num = cos(pi./[4;2]*(0:159))'+randn(160,2);
    задает двухканальный сигнал, состоящий из синусоид, встроенных в белый шум. Сигнал не содержит информацию времени, если вы не задаете его. В Signal Labeler можно импортировать сигнал в выборках, или можно добавить время информация, когда вы импортируете его.

  • Пример: расписания MATLAB

    tt1 = timetable(num,'SampleRate',100);
    tt2 = timetable(seconds((0:159)'/100),num);
    оба указывают, что шумная двухканальная синусоида производится на уровне 100 Гц. Для получения дополнительной информации смотрите timetable документация.

  • Пример: labeledSignalSet Объекты

    lss = labeledSignalSet(num);
    указывает, что шумная синусоида находится в выборках.

  • Пример: labeledSignalSet Объекты с информацией времени

    lst1 = labeledSignalSet(num,'SampleRate',100);
    lst2 = labeledSignalSet(timetable(seconds((0:159)'/100),num));
    оба указывают, что шумная синусоида производится на уровне 100 Гц.

  • Пример: члены мультисигнала

    msn = labeledSignalSet({randn(10,3),randn(17,9)});
    
    имеет два члена. Первый член содержит три сигнала с 10 выборками. Второй член содержит девять сигналов с 17 выборками.

    mst = labeledSignalSet({{timetable(seconds(1:10)',randn(10,3))}, ...
        {timetable(seconds(1:7)',randn(7,2)), ...
        timetable(randn(30,1),'SampleRate',100)}});
    имеет два члена. Первый член содержит три сигнала, произведенные на уровне 1 Гц в течение 10 секунд. Второй член содержит два сигнала, произведенные на уровне 1 Гц в течение 7 секунд и одного сигнала с 30 выборками, произведенного на уровне 100 Гц.

  • Пример: signalDatastore Объект, указывающий на файлы

    Задайте путь к набору демонстрационных звуковых сигналов, включенных как MAT-файлы с MATLAB®. Каждый файл содержит переменную сигнала и частоту дискретизации. Перечислите имена файлов.

    folder = fullfile(matlabroot,"toolbox","matlab","audiovideo");
    lst = dir(append(folder,"/*.mat"));
    nms = {lst(:).name}'
    nms = 7x1 cell
        {'chirp.mat'   }
        {'gong.mat'    }
        {'handel.mat'  }
        {'laughter.mat'}
        {'mtlb.mat'    }
        {'splat.mat'   }
        {'train.mat'   }
    
    

    Создайте datastore сигнала, который указывает на заданную папку. Определите имя переменной частоты дискретизации к Fs, который характерен для всех файлов. Сгенерируйте подмножество datastore, который исключает файл mtlb.mat, который отличается от других файлов, в которых переменная сигнала не называется y.

    sds = signalDatastore(folder,"SampleRateVariableName","Fs");
    sdss = subset(sds,~strcmp(nms,"mtlb.mat"));

    Используйте datastore подмножества в качестве источника для labeledSignalSet объект.

    lss = labeledSignalSet(sdss)
    lss = 
      labeledSignalSet with properties:
    
                 Source: [1x1 signalDatastore]
             NumMembers: 6
        TimeInformation: "inherent"
                 Labels: [6x0 table]
            Description: ""
    
     Use labelDefinitionsHierarchy to see a list of labels and sublabels.
     Use setLabelValue to add data to the set.
    
    

Укажите информацию времени

Сигналы, которые вы импортируете в Signal Labeler, могут быть помечены в выборках или вовремя. Эта спецификация остается фиксированной, чтобы гарантировать сопоставимую маркировку. Вы не можете смешать сигналы в выборках и сигналы с информацией времени на том же сеансе.

При указывании информации времени для набора сигналов, которые не имеют его, выберите опцию спецификации времени в диалоговом окне импорта.

Опция спецификации времениОписание
SamplesЭта опция позволяет вам исследовать и пометить сигналы без потребности задать частоту дискретизации или шаг расчета. Это эквивалентно графическому выводу сигнала в MATLAB без информации об оси X.
Sample RateИспользуйте эту опцию, когда вы знаете уровень, на котором был произведен сигнал. Частота дискретизации может быть описана в Гц, kHz, МГц или GHz. Чтобы задать частоту дискретизации, можно использовать числовое значение, имя скалярной переменной в рабочем пространстве MATLAB или любое допустимое выражение MATLAB. Установите частоту дискретизации так, чтобы члены были построены в модулях времени.
Sample Rate Variable From FileИспользуйте эту опцию, когда частота дискретизации будет сохранена как переменная в импортируемом файле.
Sample TimeИспользуйте эту опцию, когда вы будете знать временной интервал между выборками. Шаг расчета может быть описан в секундах, годах, днях, часах, минутах, миллисекундах, микросекунды или наносекунды. Чтобы задать шаг расчета, можно использовать числовое значение, имя скалярной переменной в рабочем пространстве MATLAB или любое допустимое выражение MATLAB. Установите шаг расчета так, чтобы члены были построены в модулях времени.
Sample Time Variable From FileИспользуйте эту опцию, когда шаг расчета будет сохранен как переменная в импортируемом файле.
Time Values

Используйте эту опцию, когда вы будете знать временную стоимость, соответствующую каждой выборке. Задайте временные стоимости с помощью допустимого выражения MATLAB или имени переменной в рабочем пространстве MATLAB. Временные стоимости могут храниться в числовом или duration вектор с оперативными значениями, описанными в секундах. Значения должны быть уникальными и не могут быть NaN, но должна быть расположенной неравными интервалами. Массив времени должен иметь ту же длину как члены.

Во всех случаях приложение выводит частоту дискретизации из временных стоимостей и отображает ее в столбце Time Labeled Signal Set Browser. Звездочка, предшествующая частоте дискретизации, указывает, что члены неоднородно производятся.

Time Values Variable From FileИспользуйте эту опцию, когда временные стоимости будут сохранены как переменная в импортируемом файле.

Однажды сигнал или набор сигналов был импортирован в Signal Labeler, выбранная спецификация времени остается фиксированной в течение сеанса маркировки.

Импортируйте сигналы из рабочего пространства MATLAB

Чтобы импортировать сигналы к Signal Labeler от рабочего пространства MATLAB, на вкладке Labeler, нажимают Import и выбирают From workspace в списке Members. В диалоговом окне выберите сигналы, которые вы хотите импортировать.

Import Members from Workspace dialog box

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

  • Если вы первоначально импортировали числовой массив и задали его в выборках, или если вы первоначально импортировали labeledSignalSet объект в выборках, можно впоследствии выбрать только сигналы в выборках. Если вы выбираете числовой массив, Signal Labeler импортирует его и обрабатывает его в выборках.

  • Если вы первоначально импортировали числовой массив и указали его информацию времени, или если вы первоначально импортировали расписание MATLAB или labeledSignalSet объект с информацией времени, можно впоследствии выбрать только сигналы с информацией времени. Если вы выбираете числовой массив, необходимо установить его информацию времени при импорте его.

Примечание

Вы не можете изменить информацию времени labeledSignalSet объект из Signal Labeler. Если у помеченного набора сигнала нет времени информация, приложение обрабатывает свои члены, как являющиеся в выборках. Если помеченный набор сигнала имеет информацию времени, приложение включает эту информацию, когда это импортирует сигналы. Для получения дополнительной информации смотрите labeledSignalSet документация.

Чтобы быть импортированным успешно, пометил наборы сигнала, должен соблюсти эти дополнительные правила:

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

  • Если выбор включает два или больше помеченных набора сигнала, помеченные наборы сигнала должны иметь уникальные имена элемента. Вы не можете изменить имена элемента из Signal Labeler. Чтобы изменить название члена помеченного набора сигнала, использовать setMemberNames в командной строке.

  • Если вы выбираете два или больше labeledSignalSet объекты для маркировки, Signal Labeler объединяет их и создает один помеченный набор сигнала, содержащий все члены и значения метки входных наборов. Это действие эквивалентно использованию merge в командной строке.

  • Пометьте значения в labeledSignalSet объекты должны быть скалярами. Signal Labeler игнорирует те метки, которые не имеют скалярных значений.

Импортируйте сигналы из файлов

Чтобы импортировать сигналы к Signal Labeler из файлов, на вкладке Labeler, нажимают Import и выбирают From files в списке Members. В диалоговом окне просмотрите, чтобы выбрать файлы, которые содержат сигналы, которые вы хотите импортировать.

Примечание

  • Signal Labeler поддерживает MAT-файлы и файлы CSV. Все значения в файле CSV кроме заголовков должны быть числовыми.

  • С лицензией Audio Toolbox можно импортировать сигналы из файлов с совместимыми расширениями звукового файла в Signal Labeler с помощью From Audio Files или From Audio Folder.

  • Импорт labeledSignalSet объекты из файлов не поддерживаются. Импортировать labeledSignalSet объект, загрузите его в рабочее пространство MATLAB и импортируйте его оттуда.

Import Members from File dialog box

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

  • У всех членов, чтобы импортировать должны быть то же расширение и те же переменные.

  • Signal Labeler не поддерживает работу одновременно с данными в оперативной памяти и данными из файлов.

    • Если вы первоначально импортировали члены в оперативной памяти из рабочего пространства MATLAB, From files опция отключена в меню Import вкладки Labeler.

    • Если вы первоначально импортировали данные из файлов, единственными переменными рабочей области, которые можно затем импортировать из рабочего пространства MATLAB, является labeledSignalSet объекты, источниками входных данных которых является signalDatastore объекты, указывающие на файлы. Для примера смотрите Поддерживаемые Типы Сигнала.

По умолчанию Signal Labeler читает первую переменную сигнала каждого файла. Определить имя первой переменной в файле, signalDatastore выполняет эти шаги:

  • Для MAT-файлов:

    s = load(fileName);
    varNames = fieldnames(s);
    firstVar = s.(varNames{1});

  • Для файлов CSV:

    opts = detectImportOptions(fileName,'PreserveVariableNames',true);
    varNames = opts.VariableNames;
    firstVar = string(varNames{1});

Чтобы задать переменные сигнала, которые вы хотите считать, нажмите Specify и введите список, разделенный запятыми имен переменной сигнала.

Совет

Если файлу CSV не задали имена переменных в линии заголовка, то переменные называются Var1 для первого столбца, Var2 для второго столбца, и так далее.

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

Приложения

Функции

Связанные примеры

Больше о