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 содержит данные о вибрации для mesh механизма, произведенной на уровне 1 500 Гц.

Во-первых, создайте диапазоны частот mesh механизма с помощью физических характеристик набора механизма. Создайте диапазоны частот с первыми 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 массив, который включает первичные частоты и их боковые полосы.

Загрузите данные о вибрации и вычислите PSD и сетку частоты с помощью 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 объект с помощью табличных данных. Для получения дополнительной информации о создании datastore ансамбля файла смотрите 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