exponenta event banner

faultBandMetrics

Спектральные показатели для заданных диапазонов частот отказов спектральной плотности мощности (PSD)

Описание

пример

spectralMetrics = faultBandMetrics(psd,freqGrid,FB)возвращает набор спектральных метрик spectralMetrics для данных спектральной плотности мощности (PSD) psd определяется на частотах, указанных в freqGrid для каждого диапазона частот отказов в FB.

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

пример

spectralMetrics = faultBandMetrics(X,FB) возвращает набор спектральных метрик spectralMetrics для данных PSD и частотной сетки, указанных в массиве ячеек X. faultBandMetrics предполагает, что последний столбец данных в каждой ячейке X содержит частотную сетку, в то время как первый столбец содержит данные PSD. Если данные находятся не в том же порядке, используйте 'SpectrumColumn«и»FrequencyColumnАргументы пары «имя-значение» для указания номеров столбцов или имен PSD-данных и частотной сетки соответственно. Продукция spectralMetrics имеет столько строк, сколько длина массива ячеек X.

пример

spectralMetrics = faultBandMetrics(T,FB) возвращает набор спектральных метрик spectralMetrics для PSD и данных частотной сетки, указанных в наборе данных T.

T может быть таблицей/расписанием или ансамблем, где переменная-член матриц или таблиц должна содержать данные PSD, соответствующие одному эксперименту. Последний столбец данных в переменной-члене должен содержать частотную сетку, а первый столбец должен содержать данные PSD.

Если T не в том же порядке, затем используйте "SpectrumColumn«и»FrequencyColumnАргументы пары «имя-значение» для указания номеров столбцов или имен PSD-данных и частотной сетки соответственно. Продукция spectralMetrics имеет столько же строк, сколько строк в наборе данных T.

пример

spectralMetrics = faultBandMetrics(___,Name,Value) позволяет задать дополнительные параметры, используя один или несколько аргументов пары имя-значение.

пример

[spectralMetrics,info] = faultBandMetrics(___) также возвращает структуру info с дополнительной информацией о таблице или fileEnsembleDatastore переменные объекта, используемые для вычисления spectralMetrics.

Примеры

свернуть все

В этом примере рассмотрим простую зубчатую передачу с 8-зубчатой шестерней на входном валу, входящую в зацепление с 42-зубчатой зубчатой шестерней на выходном валу. Предположим, что входной вал приводится в действие на частоте 20 Гц. Набор данных motorSignal.mat содержит данные вибрации для зубчатой сетки, отобранной на частоте 1500 Гц.

Сначала создайте полосы частот зубчатой сетки, используя физические характеристики зубчатой передачи. Создайте полосы частот с первыми 3 боковыми полосами и задайте 'Domain'как'order'.

Ni = 8;
No = 42;
FR = 20;
FB = gearMeshFaultBands(FR,Ni,No,'Sidebands',1:3,'Domain','order')
FB = 15×2

    0.9500    1.0500
    0.1405    0.2405
    3.9500    4.0500
    4.9500    5.0500
    5.9500    6.0500
    6.9500    7.0500
    8.9500    9.0500
    9.9500   10.0500
   10.9500   11.0500
    7.3786    7.4786
      ⋮

FB представляет собой массив 15x2, который включает в себя первичные частоты и их боковые полосы.

Загрузка данных вибрации и вычисление ИПУ и частотной сетки с помощью pspectrum. Используйте разрешение по частоте 0,5.

load('motorSignal.mat','C');
fs = 1500;
[psd,freqGrid] = pspectrum(C,fs,'FrequencyResolution',0.5);

Теперь используйте полосы частот и данные PSD для вычисления спектральных метрик.

spectralMetrics = faultBandMetrics(psd,freqGrid,FB)
spectralMetrics=1×46 table
    PeakAmplitude1    PeakFrequency1    BandPower1    PeakAmplitude2    PeakFrequency2    BandPower2    PeakAmplitude3    PeakFrequency3    BandPower3    PeakAmplitude4    PeakFrequency4    BandPower4    PeakAmplitude5    PeakFrequency5    BandPower5    PeakAmplitude6    PeakFrequency6    BandPower6    PeakAmplitude7    PeakFrequency7    BandPower7    PeakAmplitude8    PeakFrequency8    BandPower8    PeakAmplitude9    PeakFrequency9    BandPower9    PeakAmplitude10    PeakFrequency10    BandPower10    PeakAmplitude11    PeakFrequency11    BandPower11    PeakAmplitude12    PeakFrequency12    BandPower12    PeakAmplitude13    PeakFrequency13    BandPower13    PeakAmplitude14    PeakFrequency14    BandPower14    PeakAmplitude15    PeakFrequency15    BandPower15    TotalBandPower
    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    ______________

       0.82564              1             0.1542         0.057165           0.1875         0.011175        0.29169              4            0.055249        0.011486             5           0.0021583        0.070117             6            0.013877         1.0514              7            0.21675        0.0077621             9            0.001577        0.004752             10          0.0010282        0.012155             11          0.0025085         7.7318             7.4375           1.4057           4.2222              7.625           0.79678          0.92456            7.8125           0.1924          0.030489            8.1875          0.0060835        0.069138             8.375          0.012642         0.068649            8.5625          0.012578          2.8848    

spectralMetrics представляет собой таблицу 1x46 с пиковой амплитудой, пиковой частотой и полосовой мощностью, рассчитанной для каждого диапазона частот в FB. Последний столбец в spectralMetrics - общая мощность полосы, вычисленная для всех частот 15 в FB.

Для этого примера рассмотрим шарикоподшипник с диаметром шага 12 см с 10 элементами качения. Каждый элемент качения имеет диаметр 0,5 см. Наружное кольцо остается неподвижным, когда внутреннее кольцо приводится в действие при частоте 25 Гц. Контактный угол шара составляет 0 градусов. Набор данных bearingData.mat содержит спектральную плотность мощности (PSD) и соответствующие ей частотные данные для сигнала вибрации подшипника в таблице.

Во-первых, построить полосы частот подшипника, включающие первые 3 боковые полосы, используя физические характеристики шарикового подшипника.

FR = 25;
NB = 10;
DB = 0.5;
DP = 12;
beta = 0;
FB = bearingFaultBands(FR,NB,DB,DP,beta,'Sidebands',1:3)
FB = 14×2

  118.5417  121.0417
   53.9583   56.4583
   78.9583   81.4583
  103.9583  106.4583
  153.9583  156.4583
  178.9583  181.4583
  203.9583  206.4583
  262.2917  264.7917
  274.2708  276.7708
  286.2500  288.7500
      ⋮

FB представляет собой матрицу 14x2, которая включает в себя первичные частоты и их боковые полосы.

Загрузите данные PSD. bearingData.mat содержит таблицу X где PSD содержится в первом столбце, а частотная сетка находится во втором столбце, как массивы ячеек соответственно.

load('bearingData.mat','X')
X
X=1×2 table
          Var1                Var2      
    ________________    ________________

    {12001x1 double}    {12001x1 double}

Вычисление спектральных метрик с использованием данных PSD в таблице X и диапазоны частот в FB.

spectralMetrics = faultBandMetrics(X,FB)
spectralMetrics=1×43 table
    PeakAmplitude1    PeakFrequency1    BandPower1    PeakAmplitude2    PeakFrequency2    BandPower2    PeakAmplitude3    PeakFrequency3    BandPower3    PeakAmplitude4    PeakFrequency4    BandPower4    PeakAmplitude5    PeakFrequency5    BandPower5    PeakAmplitude6    PeakFrequency6    BandPower6    PeakAmplitude7    PeakFrequency7    BandPower7    PeakAmplitude8    PeakFrequency8    BandPower8    PeakAmplitude9    PeakFrequency9    BandPower9    PeakAmplitude10    PeakFrequency10    BandPower10    PeakAmplitude11    PeakFrequency11    BandPower11    PeakAmplitude12    PeakFrequency12    BandPower12    PeakAmplitude13    PeakFrequency13    BandPower13    PeakAmplitude14    PeakFrequency14    BandPower14    TotalBandPower
    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    ______________

         121               121            314.43          56.438            56.438          144.95          81.438            81.438          210.57          106.44            106.44          276.2           156.44            156.44          407.45          181.44            181.44          473.07          206.44            206.44          538.7           264.75            264.75          691.77          276.75            276.75          723.27          288.69             288.69           754.61           312.69             312.69           817.61           324.62             324.62           848.94           336.62             336.62           880.44           13.188             13.188           31.418           7113.4    

spectralMetrics представляет собой таблицу 1x43 с пиковой амплитудой, пиковой частотой и полосовой мощностью, рассчитанной для каждого диапазона частот в FB. Последний столбец в spectralMetrics - общая мощность полосы, вычисленная для всех частот 14 в FB.

Рассмотрим psdData.zipнабор из 4 наборов данных, где каждый файл содержит отдельные таблицы для данных тахометра, вибрации и спектра мощности подшипника. Он также содержит прочитанный файл для ансамбля hReadData.m.

Каждый набор данных содержит таблицу spectrum с 4 столбцами, где первый столбец F содержит данные частотной сетки и три других столбца с именем Pxx, Pyy и Pzz содержат спектральные данные.

Извлеките сжатые файлы, прочитайте данные в таблице и создайте fileEnsembleDatastore с использованием данных таблицы. Дополнительные сведения о создании хранилища данных ансамбля файлов см. в разделе fileEnsembleDatastore.

unzip psdData.zip;
ens = fileEnsembleDatastore(pwd,'.mat');
% Make sure that the function for reading data is on path
addpath(fullfile(matlabroot,'examples','predmaint','main')) 
ens.ReadFcn = @hReadData;
ens.DataVariables = {'tach','vibration','spectrum'};
ens.SelectedVariables = ens.DataVariables;

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

FB = [10,20;40,50;60,70]
FB = 3×2

    10    20
    40    50
    60    70

[spectralMetrics,info] = faultBandMetrics(ens,FB, ...
    'SpectrumColumn','Pxx', ...
    'FrequencyColumn','F', ...
    'DataVariable','spectrum');
size(spectralMetrics)
ans = 1×2

     4    10

Выходная таблица spectralMetrics содержит 4 строки метрик, где каждая строка соответствует одному набору данных.

info
info = struct with fields:
       DataVariable: 'spectrum'
    FrequencyColumn: 'F'
     SpectrumColumn: 'Pxx'

Структура info содержит информацию о переменной данных, столбце частоты и столбце спектра, используемых для вычисления метрик.

rmpath(fullfile(matlabroot,'examples','predmaint','main')) % Reset path

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

свернуть все

Данные спектральной плотности мощности (PSD), определенные как вектор или массив. Когда psd является

  • Вектор, затем faultBandMetrics преобразует его в вектор столбца и обрабатывает psd как единый канал.

  • Массив, затем укажите столбец данных PSD, который будет использоваться с 'SpectrumColumnПара имя-значение.faultBandMetrics вычисляет спектральные метрики только для указанного столбца данных PSD.

Дополнительные сведения о вычислениях PSD см. в разделе pspectrum.

Данные частотной сетки, соответствующие psd, указан как вектор. Дополнительные сведения о вычислениях частот спектра см. в разделе pspectrum.

Диапазоны частот отказов, указанные как Nx2 массив, где N - количество частот отказов. Диапазоны частот, указанные в FB должен находиться в диапазоне частотной сетки freqGrid. Кроме того, единицы частоты значений в FB и вектор freqGrid должно быть то же самое.

PSD и набор данных частотной сетки, указанный как массив ячеек матриц или таблиц, где каждая ячейка содержит данные PSD, соответствующие одному эксперименту. faultBandMetrics предполагает, что последний столбец данных в каждой ячейке содержит частотную сетку, в то время как первый столбец содержит данные PSD. Если данные находятся не в том же порядке, используйте 'SpectrumColumn«и»FrequencyColumnАргументы пары «имя-значение» для указания номеров столбцов или имен PSD-данных и частотной сетки соответственно.

PSD и набор данных частотной сетки, указанный как расписание, таблица таблиц/расписаний или fileEnsembleDatastore объект, где каждая переменная элемента содержит данные PSD, соответствующие одному эксперименту. faultBandMetrics предполагает, что последний столбец данных в переменной-члене T содержит частотную сетку, в то время как первый столбец содержит данные PSD. Если T не в том же порядке, затем используйте "SpectrumColumn«и»FrequencyColumnАргументы пары «имя-значение» для указания номеров столбцов или имен PSD-данных и частотной сетки соответственно.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: ...,'SpectrumColumn','Var1'

Используемый столбец данных PSD, указанный как разделенная запятыми пара, состоящая из 'SpectrumColumn«и целое число или строку». faultBandMetrics по умолчанию использует первый столбец данных. Если данные PSD не являются первым столбцом массива ячеек X или набор данных T, использовать 'SpectrumColumn«чтобы указать номера столбцов или имена столбцов данных PSD».

При указании 'DataVariable', необходимо указать'SpectrumColumn'как столбец данных в нем.

Если набор данных находится в массиве ячеек матриц, можно использовать значения 'Var1,'Var2',... см. столбцы данных спектра.

Используемый столбец данных частотной сетки, указанный как разделенная запятыми пара, состоящая из 'FrequencyColumnи целое число или строку. faultBandMetrics по умолчанию использует последний столбец данных. Если данные частотной сетки не являются последним столбцом массива ячеек X или набор данных T, использовать 'FrequencyColumn«чтобы указать номера столбцов или имена столбцов данных частотной сетки».

Если набор данных находится в массиве ячеек матриц, можно использовать значения ’Var1’,’Var2’,... см. столбцы данных спектра.

Переменная данных, содержащая PSD и данные частотной сетки, указанная как разделенная запятыми пара, состоящая из 'DataVariable"и строка. Использовать 'DataVariable"чтобы указать переменную данных, содержащую как данные PSD, так и данные частотной сетки, когда входным набором данных является массив ячеек таблиц, таблица таблиц, таблицы/расписания матриц или fileEnsembleDatastore объект. "DataVariable"" должно быть допустимым именем переменной таблицы ".

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

свернуть все

Спектральные метрики, возвращенные как nоколо-m таблица, где

  • n - количество строк, когда набор данных является массивом ячеек; Xили количество членов (строк), когда данные находятся в таблице или ансамбле T

  • m = 3*size(FB,1)+1, то есть три метрики на частотный диапазон в FB и общую мощность полосы в частотном диапазоне.

faultBandMetrics возвращает следующие спектральные метрики для каждого диапазона частот в FB:

  • Peak Amplitude - Пиковое значение амплитуды для каждого диапазона частот в FB.

  • Peak Frequency - Пиковое значение частоты для каждого диапазона частот в FB.

  • Band Power - Средняя мощность каждого диапазона частот в FB. Для получения дополнительной информации о мощности диапазона см. bandpower.

  • Total Band Power - Сумма мощностей отдельных полос для набора частотных диапазонов в FB.

Информация о присвоении данных, возвращенная в виде структуры со следующими полями:

  • DataVariable - Переменная данных, используемая из X или T

  • FrequencyColumn - Имя столбца данных частотной сетки

  • SpectrumColumn - имя столбца данных PSD

Представлен в R2019b