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, дискретизированной с частотой дискретизации 1500 Гц.

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

Рассмотрите psd Data.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-by- 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