extract

Извлеките функции частотного диапазона или временной интервал

    Описание

    пример

    features = extract(sFE,x) возвращает матрицу или таблицу, содержащую функции, извлеченные из входа x. Выход зависит от настроек объекта sFE экстрактора функции.

    пример

    [features,info] = extract(sFE,x) возвращает структуру info это сопоставляет определенную функцию с ее местоположением столбца в выходной матрице функции features. Этот синтаксис допустим только, когда вы устанавливаете FeatureFormat свойство экстрактора функции возражает против "matrix".

    [features,info,framelimits] = extract(sFE,x) возвращает матричный framelimits чей i-th строка содержит начало и пределы конца i-th система координат. Этот синтаксис допустим только, когда вы устанавливаете FeatureFormat свойство экстрактора функции возражает против "matrix".

    Примеры

    свернуть все

    Загрузите набор температурных показаний в Цельсия, бравшемся каждый час в Аэропорту Логана в Бостоне в течение 31 дня. Отобразите данные на графике.

    load bostemp
    days = (1:31*24)/24;
    plot(days, tempC)
    axis tight
    ylabel('Temp (\circC)')
    xlabel('Time elapsed from Jan 1, 2011 (days)')
    title('Logan Airport Dry Bulb Temperature (source: NOAA)')

    Figure contains an axes object. The axes object with title Logan Airport Dry Bulb Temperature (source: NOAA) contains an object of type line.

    Создайте signalTimeFeatureExtractor возразите и включите PeakValue функция. Чтобы получить максимальную абсолютную температуру, читающую в день, установите формат кадра на 24 выборки и система координат перекрываются к 0 выборки.

    sFE = signalTimeFeatureExtractor(FrameSize=24,FrameOverlapLength=0,PeakValue=true);

    Вызовите extract функция на объекте извлечь ежедневные температуры абсолютного максимума в наборе данных.

    peaktemps = extract(sFE,tempC)
    peaktemps = 31×1
    
        2.8000
        6.1000
        8.3000
        3.3000
        2.8000
        4.4000
        4.4000
        6.1000
       10.6000
       11.7000
          ⋮
    
    

    Подтвердите извлеченные пиковые значения. Разделите сигнал на сегменты с 24 выборками, представляющие температурные показания в день, и вычислите максимальное абсолютное значение каждого сегмента. Сравните итоговый вектор с peaktemps.

    y = buffer(tempC,24);
    [mx,idx] = max(abs(y));
    
    tf = isequal(peaktemps,mx')
    tf = logical
       1
    
    

    Считайте квадратичный щебет произведенным на уровне 1 кГц в течение 2 секунд. Щебет имеет начальную частоту 100 Гц, которая увеличивается до 200 Гц в t = 1 секунда. Вычислите и отобразите спектрограмму.

    fs = 1e3;
    t = 0:1/fs:2;
    y = chirp(t,100,1,200,'quadratic');
    pspectrum(y,fs,'spectrogram')

    Figure contains an axes object. The axes object with title Fres = 10.2261 Hz, Tres = 251 ms contains an object of type image.

    Создайте signalFrequencyFeatureExtractor объект получить среднее значение и медианные частоты от сигнала. Задайте частоту дискретизации.

    sFE = signalFrequencyFeatureExtractor(SampleRate=fs,MeanFrequency=true,MedianFrequency=true);

    Извлеките функции. info возвращает индекс столбца в features из каждой извлеченной функции.

    [features,info] = extract(sFE,y)
    features = 1×2
    
      226.0160  199.7034
    
    
    info = struct with fields:
          MeanFrequency: 1
        MedianFrequency: 2
    
    

    Установите FrameSize и FrameRate свойства экстрактора функции возражают, чтобы разделить сигнал на две системы координат. Первая система координат представляет щебет, колеблющийся на начальной частоте 100 Гц, и вторая система координат представляет щебет, колеблющийся на уровне 200 Гц. Извлеките среднее значение и медианные частоты для каждой системы координат и включайте пределы системы координат в выход.

    sFE.FrameSize = round(length(y)/2);
    sFE.FrameRate = 1000;
    [features,info,framelimits] = extract(sFE,y)
    features = 2×2
    
      131.4921  124.9820
      331.2664  324.6992
    
    
    info = struct with fields:
          MeanFrequency: 1
        MedianFrequency: 2
    
    
    framelimits = 2×2
    
               1        1001
            1001        2001
    
    

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

    свернуть все

    Покажите объект экстрактора в виде signalFrequencyFeatureExtractor возразите или signalTimeFeatureExtractor объект.

    Входной сигнал в виде вектора или матрицы.

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

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

    свернуть все

    Извлеченные функции, возвращенные как L-by-M-by-N массив:

    • L NumberOfFrames

    • M Количество функций извлечено на систему координат

    • N Количество каналов

    Когда вы устанавливаете FeatureFormat свойство входа показывает объект экстрактора к "table", функция возвращает извлеченные функции в таблице с пределами системы координат, перечисленными в первых двух табличных переменных. Когда вы устанавливаете FeatureFormat свойство входа показывает объект экстрактора к "matrix", функция возвращает извлеченные функции в матрице.

    Покажите информацию, возвращенную как структура. Функция сопоставляет каждую функцию со своим местоположением столбца в выходной матрице features. Этот аргумент применяется только, когда вы устанавливаете FeatureFormat свойство входа показывает объект экстрактора к "matrix".

    Структурируйте пределы, возвращенные как матрица. i-th строка в framelimits содержит начало и пределы конца i-th система координат. Этот аргумент применяется только, когда вы устанавливаете FeatureFormat свойство входа показывает объект экстрактора к "matrix".

    Введенный в R2021b