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 боковыми полосами.

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

   19.0000   21.0000
    2.8095    4.8095
   79.0000   81.0000
   99.0000  101.0000
  119.0000  121.0000
  139.0000  141.0000
  179.0000  181.0000
  199.0000  201.0000
  219.0000  221.0000
  147.5714  149.5714
      ⋮

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.0054125             19          0.0051216        0.55167             4.25          0.41848        0.0022699             81          0.0029792       0.0012756           99.438        0.0019134       0.0023457           119.25        0.0032812       0.0030216           139.75        0.0036398       0.0015424           180.06        0.0021249       0.0023163           200.81        0.0029269        0.013511            221           0.012079        0.0037697           148.06          0.003914         0.0020528           151.56          0.0025637        0.0021721            156.5          0.0022927        0.0020822           162.81          0.0015729        0.0015305           168.25          0.001575         0.0010234           170.44          0.0013135        0.46577    

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:
     SpectrumColumn: 'Pxx'
    FrequencyColumn: 'F'
       DataVariable: 'spectrum'

Структура 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 имя аргумента и 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