signalFrequencyFeatureExtractor

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

    Описание

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

    Создание

    Описание

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

    пример

    sFE = signalFrequencyFeatureExtractor(Name,Value) задает значения свойств не по умолчанию signalFrequencyFeatureExtractor объект. Например, signalFrequencyFeatureExtractor(FrameSize=30,FrameOverlapLength=6) делит сигнал на наложение систем координат с 30 выборками и извлекает функции из каждой системы координат.

    Свойства

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

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

    Количество отсчетов в системе координат в виде положительного целого числа. Объект делит сигнал на системы координат заданной длины и извлекает функции каждой системы координат. Если вы не задаете 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. Если вы задаете MeanFrequency как верный, объект извлекает среднюю частоту спектра мощности и добавляет его к функциям, возвращенным extract функция.

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

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

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

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

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

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

    Чтобы установить параметры экстракции занимаемой полосы, использовать setExtractorParameters.

    setExtractorParameters(sFE,"OccupiedBandwidth",Name=Value)

    Устанавливаемые параметры для экстракции занимаемой полосы:

    • Percentage — Процент степени в виде положительного целого числа между 0 и 100.

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

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

    Чтобы установить параметры экстракции полосы пропускания на уровне половинной мощности, использовать setExtractorParameters.

    setExtractorParameters(sFE,"PowerBandwidth",Name=Value)

    Устанавливаемые параметры для экстракции полосы пропускания на уровне половинной мощности:

    • RelativeAmplitude — Относительная амплитуда в виде целого числа.

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

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

    Чтобы установить параметры оценки PSD валлийцев, использовать setExtractorParameters.

    setExtractorParameters(sFE,"WelchPSD",Name=Value)

    Устанавливаемые параметры для оценочной экстракции PSD валлийцев:

    • FFTLength — Количество ДПФ указывает в виде положительного целого числа.

    • FrequencyVector — Частоты, на которых PSD оценивается в виде вектора по крайней мере с двумя элементами. Можно задать FrequencyVector только, когда FFTLength не задан.

    • OverlapLength — Количество перекрывающихся выборок в виде положительного целого числа.

    • Window — Окно в виде скаляра или вектора.

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

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

    Чтобы установить параметры пиковой амплитудной экстракции, использовать setExtractorParameters.

    setExtractorParameters(sFE,"PeakAmplitude",Name=Value)

    Устанавливаемые параметры для пиковой амплитудной экстракции:

    • PeakType — Тип пика в виде "minima" или "maxima".

    • MaxNumExtrema — Максимальное количество peaks в виде положительного целочисленного скаляра.

    • MinProminence — Минимальное выдающееся положение в виде положительной скалярной величины. Объект возвращает только peaks, выдающееся положение которого является, по крайней мере, заданным значением.

    • MinSeparation — Минимальное разделение между peaks в виде положительной скалярной величины.

    • FlatSelection — Плоский индикатор области в виде одного из них:

      • "center" — Укажите только на центральный элемент плоской области как пик.

      • "first" — Укажите только на первый элемент плоской области как пик.

      • "last" — Укажите только на последний элемент плоской области как пик.

      • "all" — Укажите на все элементы плоской области как пик.

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

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

    Чтобы установить параметры пиковой экстракции местоположения, использовать setExtractorParameters.

    setExtractorParameters(sFE,"PeakLocation",Name=Value)

    Устанавливаемые параметры для пиковой экстракции местоположения:

    • PeakType — Тип пика в виде "minima" или "maxima".

    • MaxNumExtrema — Максимальное количество peaks в виде положительного целочисленного скаляра.

    • MinProminence — Минимальное выдающееся положение в виде положительной скалярной величины. setExtractorParameters функция возвращает только peaks, выдающееся положение которого является, по крайней мере, заданным значением.

    • MinSeparation — Минимальное разделение между peaks в виде положительной скалярной величины.

    • FlatSelection — Плоский индикатор области в виде одного из них:

      • "center" — Укажите только на центральный элемент плоской области как пик.

      • "first" — Укажите только на первый элемент плоской области как пик.

      • "last" — Укажите только на последний элемент плоской области как пик.

      • "all" — Укажите на все элементы плоской области как пик.

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

    Примечание

    Вычислить функции частоты, signalFrequencyFeatureExtractor первые оценки PSD входного сигнала временной области с помощью метода валлийцев. Объект использует вычисленный валлийский PSD и соответствующий вектор частоты, чтобы вычислить заданные функции. Можно сконфигурировать вычисленную валлийскую оценку PSD с помощью setExtractorParameters функция.

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

    extractИзвлеките функции частотного диапазона или временной интервал
    generateMATLABFunctionСоздайте функцию MATLAB, совместимую с генерацией кода C/C++
    getExtractorParametersПолучите текущие значения параметров объекта экстрактора функции
    setExtractorParametersУстановите значения не по умолчанию для объекта экстрактора функции

    Примеры

    свернуть все

    Сгенерируйте 1 024 выборки щебета, произведенного на уровне 1 024 кГц. Щебет имеет начальную частоту 50 кГц и достигает 100 кГц в конце выборки. Добавьте белый Гауссов шум, таким образом, что отношение сигнал-шум составляет 40 дБ. Постройте спектральную плотность мощности (PSD) и аннотируйте среднюю частоту.

    nSamp = 1024;
    Fs = 1024e3;
    SNR = 40;
    
    t = (0:nSamp-1)'/Fs;
    
    x = chirp(t,50e3,nSamp/Fs,100e3);
    x = x+randn(size(x))*std(x)/db2mag(SNR);
    meanfreq(x,Fs)

    Figure contains an axes object. The axes object with title Mean Frequency Estimate: 75.032 kHz contains 2 objects of type line.

    ans = 7.5032e+04
    

    Создайте signalFrequencyFeatureExtractor возразите, чтобы извлечь среднюю частоту, 99%-ю занимаемую полосу и полосу пропускания на 3 дБ сигнала.

    sFE = signalFrequencyFeatureExtractor(SampleRate=Fs,MeanFrequency=true,OccupiedBandwidth=true,PowerBandwidth=true)
    sFE = 
      signalFrequencyFeatureExtractor with properties:
    
       Properties
                  FrameSize: []
                  FrameRate: []
                 SampleRate: 1024000
        IncompleteFrameRule: "drop"
              FeatureFormat: "matrix"
    
       Enabled Features
         MeanFrequency, OccupiedBandwidth, PowerBandwidth
    
       Disabled Features
         MedianFrequency, BandPower, WelchPSD, PeakAmplitude, PeakLocation
    
    
       
    

    Вызовите extract функционируйте, чтобы извлечь заданные функции.

    [features,info] = extract(sFE,x)
    features = 1×3
    104 ×
    
        7.2252    4.3783    3.7773
    
    
    info = struct with fields:
            MeanFrequency: 1
        OccupiedBandwidth: 2
           PowerBandwidth: 3
    
    

    Чтобы просмотреть извлеченные функции в таблице, измените FeatureFormat свойство объекта.

    sFE.FeatureFormat = "table";
    features = extract(sFE,x)
    features=1×5 table
        FrameStartTime    FrameEndTime    MeanFrequency    OccupiedBandwidth    PowerBandwidth
        ______________    ____________    _____________    _________________    ______________
    
              1               1024            72252              43783              37773     
    
    

    Можно использовать getExtractorParameters функционируйте, чтобы просмотреть параметры, использовался для расчета заданной функции. Занимаемая полоса измеряет полосу пропускания, содержащую 99% общей степени для входного сигнала по умолчанию. Используйте setExtractorParameters функционируйте, чтобы изменить процент в 95% и извлечь заданные функции снова.

    params = getExtractorParameters(sFE,'OccupiedBandwidth')
    params = struct with fields:
        Percentage: []
    
    
    params.Percentage = 95;
    setExtractorParameters(sFE,'OccupiedBandwidth',params)
    features2 = extract(sFE,x)
    features2=1×5 table
        FrameStartTime    FrameEndTime    MeanFrequency    OccupiedBandwidth    PowerBandwidth
        ______________    ____________    _____________    _________________    ______________
    
              1               1024            72252              39840              37773     
    
    

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

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

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

    Функции

    Объекты

    Введенный в R2021b