addMembers

Добавьте члены в помеченный набор сигнала

Описание

пример

addMembers(lss,src) добавляет, что члены к помеченному сигналу устанавливают lss из источника входных данных src.

addMembers(lss,src,tinfo) устанавливает информацию времени для новых членов к tinfo.

addMembers(lss,src,tinfo,mnames) определяет имена новых членов к mnames. Длина mnames должно быть равно количеству новых членов.

Примеры

свернуть все

Загрузите помеченный набор сигнала, содержащий записи песен кита.

load whales
lss
lss = 
  labeledSignalSet with properties:

             Source: {2x1 cell}
         NumMembers: 2
    TimeInformation: "sampleRate"
         SampleRate: 4000
             Labels: [2x3 table]
        Description: "Characterize wave song regions"

 Use labelDefinitionsHierarchy to see a list of labels and sublabels.
 Use setLabelValue to add data to the set.

Получите второй член набора и постройте его.

[song,tinfo] = getSignal(lss,2);

t = (0:length(song)-1)/tinfo.SampleRate;

plot(t,song)

Удалите первые и последние секунды полученного сигнала.

song2 = song(t>1 & t<t(end)-1);
t2 = (0:length(song2)-1)/tinfo.SampleRate;

plot(t2,song2)

Добавьте более короткий сигнал как новый член помеченного набора.

addMembers(lss,song2)
lss
lss = 
  labeledSignalSet with properties:

             Source: {3x1 cell}
         NumMembers: 3
    TimeInformation: "sampleRate"
         SampleRate: 4000
             Labels: [3x3 table]
        Description: "Characterize wave song regions"

 Use labelDefinitionsHierarchy to see a list of labels and sublabels.
 Use setLabelValue to add data to the set.

Инвертируйте более короткий сигнал вверх тормашками и добавьте его как новый член помеченного набора. Укажите, что новый член производится на уровне 1 кГц.

addMembers(lss,flipud(song2),1000)
lss.SampleRate
ans = 4×1

        4000
        4000
        4000
        1000

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

свернуть все

Помеченный набор сигнала в виде labeledSignalSet объект.

Пример: labeledSignalSet({randn (100,1) randn (10,1)}, signalLabelDefinition ('розетка')) задает набор 2D члена случайных сигналов, содержащих атрибут 'female'.

Источник входных данных в виде матрицы, массива ячеек, расписания, signalDatastore объект или audioDatastore Объект (Audio Toolbox). Конкретная форма src зависит от свойства Source lss.

  • Если Источник является массивом ячеек матриц:

    • Задайте src как матрица, чтобы добавить один член в набор.

    • Задайте src как массив ячеек матриц, чтобы добавить несколько членов в набор.

  • Если Источник является массивом ячеек, содержащим массивы ячеек векторов:

    • Задайте src как массив ячеек векторов, чтобы добавить один член в набор.

    • Задайте src как массив ячеек, содержащий массивы ячеек векторов, чтобы добавить несколько членов в набор.

  • Если Источник является массивом ячеек расписаний:

    • Задайте src как расписание, чтобы добавить один член в набор.

    • Задайте src как массив ячеек расписаний, чтобы добавить несколько членов в набор.

  • Если Источник является datastore, то добавьте члены установкой src как другой datastore, который указывает на новые файлы.

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

Пример: {{randn(10,1)},{randn(17,1),randn(27,1)}} задает два члена. Первый член содержит один сигнал с 10 выборками. Второй член содержит сигнал с 17 выборками и сигнал с 27 выборками.

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

Пример: 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.

Информация времени для новых членов в виде скаляра, вектора, матрицы, скаляра длительности или вектора длительности. Этот аргумент допустим только если свойство TimeInformation lss 'sampleRate'Размер шага, или 'timeValues'.

  • Если TimeInformation является 'sampleRate', затем tinfo задает значения частоты дискретизации.

  • Если TimeInformation является 'sampleTime', затем tinfo задает значения шага расчета.

  • Если TimeInformation является 'timeValues', затем tinfo задает временные стоимости.

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

Когда никакой источник не был задан, или когда помеченный источник набора сигнала пуст, можно изменить свойство TimeInformation в 'sampleRate'Размер шага, или 'timeValues' сделать lss интерпретируйте tinfo правильно.

Пример: addMembers (ks, {randn(10,5),randn(10,3)},seconds([1 2])) добавляют два новых члена с различной информацией времени к ks = labeledSignalSet(randn(10,3), 'SampleTime',seconds(1)).

Пример: addMembers(ks, {randn(10,5),randn(10,3)},[1:10;2:2:20]') добавляют два новых члена с различной информацией времени к ks = labeledSignalSet(randn(10,3), 'TimeValues', 1:10).

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

Пример: labeledSignalSet({randn(100,1) randn(10,1)},'MemberNames',{'llama' 'alpaca'}) задает набор случайных сигналов с двумя членами, 'llama' и 'alpaca'.

Введенный в R2018b