В этом примере показов, как использовать задачу Extract Spectral Функций Live Editor для анализа данных из текущего сигнала, полученного от приведения в train передачи сервопривода хобби-класса. Пример также показывает, как извлечь спектральные функции из данных, чтобы помочь в обнаружении и идентификации отказа.
Задачи Live Editor позволяют вам в интерактивном режиме итерировать параметры и настройки, наблюдая их эффекты на результат расчетов. Задачи автоматически генерируют код MATLAB ®, который достигает отображаемых результатов. Дополнительные сведения о задачах Live Editor см. в разделе Добавление интерактивных задач к Live Script.
В частности, этот пример использует задачу Extract Spectral Features Live Editor. Эта задача помогает с анализом и пониманием спектральных данных. Используя комплексный интерфейс, можно добавить компоненты, чтобы представлять различные подшипники, зубчатые сетки или другие части настройки оборудования. Когда вы устанавливаете физические параметры этих компонентов, задача «Извлечение спектральных функций Live Editor» строит графики полос частот отказов на харатеристических частотах компонентов.
Можно наложить данные спектра степени на график полосы отказов, чтобы связать различный peaks в данных с характеристическими частотами компонентов. Это сравнение может облегчить обнаружение отказов и изоляцию отказов, так как вы можете легко проследить изменения в данных спектра степени обратно к физическим компонентам, вызывающим их.
В дополнение к графику характеристических частот и данных спектральной степени задача может сгенерировать спектральные метрики данных в каждой характеристической полосе частот. Выход метрик, содержащая пиковую амплитуду, пиковую частоту и мощность полосы каждой полосы, помогает охарактеризовать потенциальные механические отказы.
В этом примере данные электрического тока были собраны со стандартного сервопривода Futaba S3003 hobby, который был изменен для непрерывного вращения. Сервоприводы преобразуют высокую скорость внутреннего двигателя постоянного тока в высокий крутящий момент на выход сплайне. Для этого сервоприводы состоят из двигателя постоянного тока, набора нейлоновых или металлических ведущих передач и схемы управления. Схема управления была удалена, чтобы позволить непосредственно контролировать сигнал тока на двигатель постоянного тока. Сигнал тахометра на выход сплайне сервопривода собирали с помощью инфракрасного фотоинтерруптора вместе с шестнадцатищелевым колесом диаметром 35 мм. Шестнадцать пазов в колесе были равномерно разнесены, и ИК-фотоинтерруптор был помещен таким образом, чтобы он излучал ровно шестнадцать импульсов за вращение щелевого колеса. Сервопривод и фотоинтерруптор удерживались на месте пользовательскими 3-D печатными установками.
Двигатель постоянного тока вращался на постоянной 5 вольтах, и с четырьмя парами передач, обеспечивающих снижение скорости 278:1, скорость вала в сплайне составляла около 19,5 об/мин. Второй сервопривод был замкнут и использован в качестве нагрузки для системы. Потребление тока вычисляли по закону Ом путем измерения падения напряжения на резисторе 0,5 Ом. Поскольку изменение значений измерения тока было слишком маленьким для обнаружения, токовый сигнал был усилен с помощью AD22050 усилителя интерфейса датчика с одним источником питания. Усиленный токовый сигнал затем фильтровали с помощью MAX7408 сглаживающего эллиптического lowpass фильтра пятого порядка, чтобы сглаживать его и устранять шум перед отправкой его в Arduino Uno через аналого-цифровой преобразователь (АЦП).
Как показывает блок-схема, токовый сигнал был сначала усилен и фильтрован с помощью усилителя и сглаживающего lowpass, соответственно. Arduino Uno дискретизировал текущий сигнал через АЦП со скоростью 1,5 кГц и передал его на компьютер вместе с импульсами тахометра в качестве последовательных данных со скоростью 115 200 бит/с. Скрипт MATLAB взял серийные данные с Arduino Uno, предварительно обработал их и записал в .MAT файл. Затем была использована задача Extract Spectral Features Live Editor для извлечения спектральных метрик.
Сервопривод S3003 Futaba состоит из четырех пар нейлоновых передач, как показано на этом рисунке. Шестерня, P1 на валу двигателя постоянного тока, зацепляется со ступенчатой шестерней G1. Шестерня P2 является отформованной частью ступенчатой зубчатой G1 и зацепляется со ступенчатой зубчатой G2. Шестерня P3, которая является отформованной частью зубчатой G2, зацепляется со ступенчатой шестерней G3. Шестерня P4, которая отформована с G3, зацепляется с конечным зубчатым G4, который крепится к выходу сплайну. Ступенчатая передача устанавливает G1 и P2, G2 и P3, а G3 и P4 являются бесплатными вращающимися шестернями то есть они не прикреплены к соответствующим валам. Набор приводных передач обеспечивает сокращение 278:1, проходя от скорости двигателя 5414,7 об/мин до около 19,5 об/мин на выход сплайне, когда двигатель вращается со скоростью 5 вольт. В следующей таблице описаны количество зубьев и теоретические значения скорости выхода, частоты mesh передачи и совокупного сокращения передач на каждом mesh передачи.
Файл servoData .mat
содержит два расписания, соответствующих данным сервопривода. Одно расписание содержит нормальные данные, второе расписание содержит дефектные данные. Каждый набор данных содержит около 11 секунд данных, дискретизированных с частотой дискретизации 1500 Гц.
Загрузите данные.
load('servoData.mat', 'healthyData', 'faultyData') healthyData
healthyData=16384×2 timetable
Time MotorCurrent TachoPulse
______________ ____________ __________
0 sec 307.62 1
0.00066667 sec 301.27 1
0.0013333 sec 309.08 1
0.002 sec 315.92 1
0.0026667 sec 304.2 1
0.0033333 sec 311.04 1
0.004 sec 311.52 1
0.0046667 sec 305.18 1
0.0053333 sec 315.43 0
0.006 sec 310.06 0
0.0066667 sec 305.66 0
0.0073333 sec 310.55 0
0.008 sec 304.69 0
0.0086667 sec 310.55 0
0.0093333 sec 310.06 0
0.01 sec 299.8 0
⋮
faultyData
faultyData=16384×2 timetable
Time MotorCurrent TachoPulse
______________ ____________ __________
0 sec 313.48 0
0.00066667 sec 304.2 0
0.0013333 sec 303.22 0
0.002 sec 319.34 0
0.0026667 sec 304.2 0
0.0033333 sec 303.22 0
0.004 sec 319.82 0
0.0046667 sec 303.22 0
0.0053333 sec 306.64 0
0.006 sec 321.29 0
0.0066667 sec 303.71 0
0.0073333 sec 308.11 0
0.008 sec 319.34 0
0.0086667 sec 301.76 0
0.0093333 sec 309.08 0
0.01 sec 319.34 0
⋮
Каждое расписание содержит один столбец с током двигателя и один столбец с импульсом тахометра от настройки сервопривода. В порядок для визуализации данных в задаче Extract Spectral Функций Live Editor вычислите степень спектр данных тока двигателя. Сначала рассмотрим полезные данные.
[healthyMagnitudes, healthyFrequencies] = pspectrum(healthyData.MotorCurrent, healthyData.Time);
Используйте задачу Extract Spectral Features Live Editor, чтобы построить график данных спектра степени. В задаче задайте healthyFrequencies
для вектора частоты и healthyMagnitudes
для величины спектральной степени.
График спектральной степени текущих данных сервопривода содержит несколько заметный peaks. Можно связать эти пики с вращающимися валами в настройке. Чтобы определить источник различного peaks, добавьте компоненты к задаче Извлечь спектральные функции Live Editor.
Чтобы добавить компонент для представления первого вращающегося вала в сервоприводе, введите имя компонента, выберите его тип как Custom и нажмите Add.Используйте выходные скорости в таблице выше, чтобы выбрать частоту компонента вала. Скорости выхода вычисляли на основе измеренной скорости вала выхода и известных сокращений передачи в настройке.
Частота первого вала составляет 90,24 Гц. После установки значения частоты компонента вала обратите внимание, что полоса частот отказа перекрывается с одним из peaks в данных спектральной степени на частоте около 90 Гц. Поэтому можно связать этот пик в большой части с первым валом. Добавление еще нескольких гармоник основной частоты первого вала создает больше диапазонов частот отказа, которые перекрывают другой peaks в данных. Гармонические полосы частот центрируются вокруг целочисленных кратных основной частоты и все еще могут быть связаны с одним и тем же компонентом. Установите гармоники первого вала в качестве вектора [1 2 3 4 5 6] так, чтобы полосы отказов распространились в большей части частотной области значений. Первый вал вращается на самой высокой частоте, поэтому peaks спектральной степени на более высоких частотах обусловлены гармониками этого вала.
Для расчета меньших достигать максимума спектральной степени, таких как около 13 Гц или 29 Гц, добавьте компонент для второго вращающегося вала. Этот компонент также является собственным компонентом, и его основная частота составляет 14,56 Гц. Вам не нужно добавлять столько гармоник для второго вала, так как большая часть более высоких пиковых частот в значительной степени учитывается гармониками первого вала. Установите гармоники второго вала в качестве вектора [1 2 3 4]. Первая, вторая и четвертая гармоники этой частоты вала хорошо совпадают с peaks на графике спектральной степени. Однако, поскольку третья гармоника менее заметна в данных, вам не нужно включать эту гармонику. Измените гармоники второго вала на вектор [1 2 4].
Подобно второму валу добавьте компонент для третьего вращающегося вала. Основная частота этого компонента составляет 2,91 Гц, как видно из таблицы. Начните с первых четырех гармоник, чтобы определить, совпадают ли они с каким-либо заметным peaks в данных. Обратите внимание, что третья гармоника третьего вала соответствует пику спектральной степени около 8 Гц. Другие гармоники менее заметны и могут быть удалены. Возможно, что разрешение частот спектра степени не позволяет различать более низкие частоты. Установите гармоники третьего компонента вала как только третью гармонику.
Поскольку выходные скорости остальных валов также являются низкими частотами, которые могут не отличаться от частотного разрешения спектра степени, добавление компонентов для этих валов не является необходимым для анализа основного peaks данных тока двигателя.
Путем масштабирования графика в задаче можно увидеть, что данные спектра степени содержат боковые достигать максимума рядом с некоторыми из основного peaks. Например, меньшие боковые достигать максимума около 76 Гц и 104 Гц окружают пик при 90 Гц. Эти пики, вероятно, связаны с боковыми полосами первого компонента вала. Боковые полосы вызваны вторым связанным источником частоты, воздействующим на первичный источник гармонической частоты. При настройке сервопривода это наблюдение приводит к предположению, что боковые полосы для каждого вала вызваны следующим валом в зубчатом train.
Отредактируйте первые два компонента вала, чтобы включить их первую боковую полосу. Для первого вала значение разделения боковой полосы должно быть равно номинальной выходной частоте второго вала, 14,56 Гц.
Аналогично для второго вала значение разделения боковой полосы должно быть равно номинальной частоте третьего вала, 2,91 Гц. Изменение масштаба снова на графике показывает, что многие из новых боковых полос хорошо перекрываются с боковыми достигать максимума в данных. Это легче видеть на низких частотах, таких как от 0 Гц до 120 Гц.
Задача Extract Spectral Features Live Editor генерирует различные спектральные метрики данных спектральной степени в областях значений частот отказа. Для каждого диапазона частот отказа вычислите пиковую амплитуду, пиковую частоту и мощность полосы наряду с общей мощностью полосы всех диапазонов частот отказа.
load('sampleData.mat')
spectralMetrics_healthy
spectralMetrics_healthy=1×85 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 PeakAmplitude16 PeakFrequency16 BandPower16 PeakAmplitude17 PeakFrequency17 BandPower17 PeakAmplitude18 PeakFrequency18 BandPower18 PeakAmplitude19 PeakFrequency19 BandPower19 PeakAmplitude20 PeakFrequency20 BandPower20 PeakAmplitude21 PeakFrequency21 BandPower21 PeakAmplitude22 PeakFrequency22 BandPower22 PeakAmplitude23 PeakFrequency23 BandPower23 PeakAmplitude24 PeakFrequency24 BandPower24 PeakAmplitude25 PeakFrequency25 BandPower25 PeakAmplitude26 PeakFrequency26 BandPower26 PeakAmplitude27 PeakFrequency27 BandPower27 PeakAmplitude28 PeakFrequency28 BandPower28 TotalBandPower
______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ ______________
0.018807 77.106 0.044029 0.66383 90.842 2.2909 0.0077442 104.58 0.026416 0.001917 168.13 0.0076742 0.038105 182.6 0.13883 0.0034982 192.86 0.013928 0.026813 258.24 0.11464 0.192 270.7 0.68323 0.033756 284.07 0.12347 0.0026502 347.62 0.0099213 0.0048213 360.81 0.020783 0.0022192 375.64 0.0086095 0.018201 435.53 0.074231 0.041176 449.08 0.12665 0.018558 467.22 0.069264 0.96719 526.01 3.7322 0.91169 539.19 3.1072 0.29472 558.24 1.0803 1.0341 11.905 0.75471 4.2117 14.286 3.0372 0.076119 17.399 0.078405 0.037845 26.557 0.038047 0.75325 29.121 0.63976 0.010537 32.234 0.010985 0.0058578 55.311 0.006089 0.014194 58.425 0.011771 0.0033205 61.355 0.0034375 0.51023 8.7912 0.27615 16.529
Эти метрики могут оказаться полезными при обнаружении отказов в настройке сервопривода. Значительные изменения в данных спектральной степени часто указывают на то, что некоторые компоненты изменяются или выходят из строя. Если происходит сдвиг в одной из пиковых частот или если пиковая амплитуда значительно падает с течением времени, то это может быть признаком отказа.
Чтобы изучить этот сценарий, вычислите данные спектра степени для дефектного набора данных.
[faultyMagnitudes, faultyFrequencies] = pspectrum(faultyData.MotorCurrent, faultyData.Time);
Постройте график спектра неисправных данных в задаче и скорректируйте основные частоты и значения боковой полосы разделения компонентов вала на основе измеренного выхода скорости сервопривода настройки.
Fs = 1500; % 1500 Hz [outputSpeed, t] = tachorpm(faultyData.TachoPulse, Fs, 'PulsesPerRev', 16, 'FitType', 'linear'); meanOutputSpeed = mean(outputSpeed)/60 % convert from rpm to Hz
meanOutputSpeed = 0.3150
shaft4Speed = meanOutputSpeed * 41 / 16 % 16 pinion teeth, 41 gear teeth
shaft4Speed = 0.8072
shaft3Speed = shaft4Speed * 35 / 10 % 10 pinion teeth, 35 gear teeth
shaft3Speed = 2.8251
shaft2Speed = shaft3Speed * 50 / 10 % 10 pinion teeth, 50 gear teeth
shaft2Speed = 14.1254
shaft1Speed = shaft2Speed * 62 / 10 % 10 pinion teeth, 62 gear teeth
shaft1Speed = 87.5772
Для первого компонента вала используйте shaft1Speed
как основная частота и shaft2Speed
как разделение боковой полосы. Для второго компонента вала используйте shaft2Speed
как основная частота и shaft3Speed
как разделение боковой полосы. Для компонента третьего вала используйте shaft3Speed
как основная частота.
Как видно из визуализации данных дефектного спектра степени, несколько peaks уменьшились в величине. Например, пик, выровненный в исправном наборе данных со второй гармоникой первого вала около 180 Гц, почти незначителен в дефектном наборе данных. Поскольку ранее было определено, что этот пик вероятно связан с первым валом, это указывает на потенциальный отказ в первом валу. Дальнейшее изучение таблицы спектральных метрик может предоставить более подробную информацию о пиковых частотах, пиковых амплитудах и степенях мощностей полосы.
spectralMetrics_faulty
spectralMetrics_faulty=1×85 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 PeakAmplitude16 PeakFrequency16 BandPower16 PeakAmplitude17 PeakFrequency17 BandPower17 PeakAmplitude18 PeakFrequency18 BandPower18 PeakAmplitude19 PeakFrequency19 BandPower19 PeakAmplitude20 PeakFrequency20 BandPower20 PeakAmplitude21 PeakFrequency21 BandPower21 PeakAmplitude22 PeakFrequency22 BandPower22 PeakAmplitude23 PeakFrequency23 BandPower23 PeakAmplitude24 PeakFrequency24 BandPower24 PeakAmplitude25 PeakFrequency25 BandPower25 PeakAmplitude26 PeakFrequency26 BandPower26 PeakAmplitude27 PeakFrequency27 BandPower27 PeakAmplitude28 PeakFrequency28 BandPower28 TotalBandPower
______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ ______________
0.0011035 75.641 0.0035389 0.032588 88.095 0.095866 0.00095266 101.47 0.0039494 0.00041734 158.97 0.0016878 0.0010561 174.73 0.0038409 0.0004178 190.11 0.0018162 0.0051797 249.27 0.017516 0.028642 261.54 0.1203 0.0051032 274.91 0.015495 0.0014915 336.08 0.0062556 0.0034171 350.37 0.015104 0.0014217 363.19 0.0049667 0.0022728 423.63 0.0092141 0.0058438 437.36 0.020561 0.0031571 450.37 0.010481 1.9389 511.36 6.3414 1.3398 523.81 5.1905 0.79257 539.38 2.9432 0.9969 11.538 0.82388 2.728 13.919 1.9338 0.030943 17.033 0.032899 0.019372 25.641 0.018553 0.27041 28.205 0.26875 0.0056339 31.136 0.0060698 0.0029558 54.029 0.0028722 0.024586 56.593 0.025098 0.0027373 58.974 0.0027412 0.74618 8.4249 0.40386 18.324
В качестве альтернативы обновлению спектральных данных в задаче Live Editor можно также использовать автоматически сгенерированный код MATLAB, чтобы обнаружить спектральные метрики дефектных данных. Приведенный ниже код был автоматически сгенерирован, когда задача Live Editor использовалась для генерации целебных спектральных метрик. Выполните код.
% Generate the fault bands and information for each component [FB_Shaft1, info_Shaft1] = faultBands(90.24, 1:6, 14.56, 0:1); [FB_Shaft2, info_Shaft2] = faultBands(14.56, [1 2 4], 2.91, 0:1); [FB_Shaft3, info_Shaft3] = faultBands(2.91, 3); % Combine the fault bands of each component FB_healthy = [FB_Shaft1; ... FB_Shaft2; ... FB_Shaft3]; % Combine the information regarding the fault bands of each component info_healthy.Centers = [info_Shaft1.Centers, ... info_Shaft2.Centers, ... info_Shaft3.Centers]; info_healthy.Labels = [info_Shaft1.Labels, ... info_Shaft2.Labels, ... info_Shaft3.Labels]; info_healthy.FaultGroups = [info_Shaft1.HarmonicGroups, ... info_Shaft2.HarmonicGroups, ... info_Shaft3.HarmonicGroups]; % Clear temporary outputs from the workspace clear FB_Shaft1 info_Shaft1; clear FB_Shaft2 info_Shaft2; clear FB_Shaft3 info_Shaft3; % Compute fault band metrics of the power spectrum healthyMagnitudes spectralMetrics_healthy = faultBandMetrics(healthyMagnitudes, healthyFrequencies, FB_healthy)
spectralMetrics_healthy=1×85 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 PeakAmplitude16 PeakFrequency16 BandPower16 PeakAmplitude17 PeakFrequency17 BandPower17 PeakAmplitude18 PeakFrequency18 BandPower18 PeakAmplitude19 PeakFrequency19 BandPower19 PeakAmplitude20 PeakFrequency20 BandPower20 PeakAmplitude21 PeakFrequency21 BandPower21 PeakAmplitude22 PeakFrequency22 BandPower22 PeakAmplitude23 PeakFrequency23 BandPower23 PeakAmplitude24 PeakFrequency24 BandPower24 PeakAmplitude25 PeakFrequency25 BandPower25 PeakAmplitude26 PeakFrequency26 BandPower26 PeakAmplitude27 PeakFrequency27 BandPower27 PeakAmplitude28 PeakFrequency28 BandPower28 TotalBandPower
______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ ______________
0.018807 77.106 0.044029 0.66383 90.842 2.2909 0.0077442 104.58 0.026416 0.001917 168.13 0.0076742 0.038105 182.6 0.13883 0.0034982 192.86 0.013928 0.026813 258.24 0.11464 0.192 270.7 0.68323 0.033756 284.07 0.12347 0.0026502 347.62 0.0099213 0.0048213 360.81 0.020783 0.0022192 375.64 0.0086095 0.018201 435.53 0.074231 0.041176 449.08 0.12665 0.018558 467.22 0.069264 0.96719 526.01 3.7322 0.91169 539.19 3.1072 0.29472 558.24 1.0803 1.0341 11.905 0.75471 4.2117 14.286 3.0372 0.076119 17.399 0.078405 0.037845 26.557 0.038047 0.75325 29.121 0.63976 0.010537 32.234 0.010985 0.0058578 55.311 0.006089 0.014194 58.425 0.011771 0.0033205 61.355 0.0034375 0.51023 8.7912 0.27615 16.529
Этот код может быть легко скорректирован для нового дефектного набора данных.
% Generate the fault bands and information for each component [FB_Shaft1, info_Shaft1] = faultBands(shaft1Speed, 1:6, shaft2Speed, 0:1); [FB_Shaft2, info_Shaft2] = faultBands(shaft2Speed, [1 2 4], shaft3Speed, 0:1); [FB_Shaft3, info_Shaft3] = faultBands(shaft3Speed, 3); % Combine the fault bands of each component FB_faulty = [FB_Shaft1; ... FB_Shaft2; ... FB_Shaft3]; % Combine the information regarding the fault bands of each component info_faulty.Centers = [info_Shaft1.Centers, ... info_Shaft2.Centers, ... info_Shaft3.Centers]; info_faulty.Labels = [info_Shaft1.Labels, ... info_Shaft2.Labels, ... info_Shaft3.Labels]; info_faulty.FaultGroups = [info_Shaft1.HarmonicGroups, ... info_Shaft2.HarmonicGroups, ... info_Shaft3.HarmonicGroups]; % Clear temporary outputs from the workspace clear FB_Shaft1 info_Shaft1; clear FB_Shaft2 info_Shaft2; clear FB_Shaft3 info_Shaft3; % Compute fault band metrics of the power spectrum healthyMagnitudes spectralMetrics_faulty = faultBandMetrics(faultyMagnitudes, faultyFrequencies, FB_faulty)
spectralMetrics_faulty=1×85 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 PeakAmplitude16 PeakFrequency16 BandPower16 PeakAmplitude17 PeakFrequency17 BandPower17 PeakAmplitude18 PeakFrequency18 BandPower18 PeakAmplitude19 PeakFrequency19 BandPower19 PeakAmplitude20 PeakFrequency20 BandPower20 PeakAmplitude21 PeakFrequency21 BandPower21 PeakAmplitude22 PeakFrequency22 BandPower22 PeakAmplitude23 PeakFrequency23 BandPower23 PeakAmplitude24 PeakFrequency24 BandPower24 PeakAmplitude25 PeakFrequency25 BandPower25 PeakAmplitude26 PeakFrequency26 BandPower26 PeakAmplitude27 PeakFrequency27 BandPower27 PeakAmplitude28 PeakFrequency28 BandPower28 TotalBandPower
______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ ______________
0.0011035 75.641 0.0035389 0.032588 88.095 0.095866 0.00095266 101.47 0.0039494 0.00041734 158.97 0.0016878 0.0010561 174.73 0.0038409 0.0004178 190.11 0.0018162 0.0051797 249.27 0.017516 0.028642 261.54 0.1203 0.0051032 274.91 0.015495 0.0014915 336.08 0.0062556 0.0034171 350.37 0.015104 0.0014217 363.19 0.0049667 0.0022728 423.63 0.0092141 0.0058438 437.36 0.020561 0.0031571 450.37 0.010481 1.9389 511.36 6.3414 1.3398 523.81 5.1905 0.79257 539.38 2.9432 0.9969 11.538 0.82388 2.728 13.919 1.9338 0.030943 17.033 0.032899 0.019372 25.641 0.018553 0.27041 28.205 0.26875 0.0056339 31.136 0.0060698 0.0029558 54.029 0.0028722 0.024586 56.593 0.025098 0.0027373 58.974 0.0027412 0.74618 8.4249 0.40386 18.324
Объединение таблиц здоровых и дефектных спектральных метрик улучшает видимость в изменения пиковых амплитуд и мощностей полосы спектральных данных.
spectralMetrics_total = [spectralMetrics_healthy; spectralMetrics_faulty]
spectralMetrics_total=2×85 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 PeakAmplitude16 PeakFrequency16 BandPower16 PeakAmplitude17 PeakFrequency17 BandPower17 PeakAmplitude18 PeakFrequency18 BandPower18 PeakAmplitude19 PeakFrequency19 BandPower19 PeakAmplitude20 PeakFrequency20 BandPower20 PeakAmplitude21 PeakFrequency21 BandPower21 PeakAmplitude22 PeakFrequency22 BandPower22 PeakAmplitude23 PeakFrequency23 BandPower23 PeakAmplitude24 PeakFrequency24 BandPower24 PeakAmplitude25 PeakFrequency25 BandPower25 PeakAmplitude26 PeakFrequency26 BandPower26 PeakAmplitude27 PeakFrequency27 BandPower27 PeakAmplitude28 PeakFrequency28 BandPower28 TotalBandPower
______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ ______________
0.018807 77.106 0.044029 0.66383 90.842 2.2909 0.0077442 104.58 0.026416 0.001917 168.13 0.0076742 0.038105 182.6 0.13883 0.0034982 192.86 0.013928 0.026813 258.24 0.11464 0.192 270.7 0.68323 0.033756 284.07 0.12347 0.0026502 347.62 0.0099213 0.0048213 360.81 0.020783 0.0022192 375.64 0.0086095 0.018201 435.53 0.074231 0.041176 449.08 0.12665 0.018558 467.22 0.069264 0.96719 526.01 3.7322 0.91169 539.19 3.1072 0.29472 558.24 1.0803 1.0341 11.905 0.75471 4.2117 14.286 3.0372 0.076119 17.399 0.078405 0.037845 26.557 0.038047 0.75325 29.121 0.63976 0.010537 32.234 0.010985 0.0058578 55.311 0.006089 0.014194 58.425 0.011771 0.0033205 61.355 0.0034375 0.51023 8.7912 0.27615 16.529
0.0011035 75.641 0.0035389 0.032588 88.095 0.095866 0.00095266 101.47 0.0039494 0.00041734 158.97 0.0016878 0.0010561 174.73 0.0038409 0.0004178 190.11 0.0018162 0.0051797 249.27 0.017516 0.028642 261.54 0.1203 0.0051032 274.91 0.015495 0.0014915 336.08 0.0062556 0.0034171 350.37 0.015104 0.0014217 363.19 0.0049667 0.0022728 423.63 0.0092141 0.0058438 437.36 0.020561 0.0031571 450.37 0.010481 1.9389 511.36 6.3414 1.3398 523.81 5.1905 0.79257 539.38 2.9432 0.9969 11.538 0.82388 2.728 13.919 1.9338 0.030943 17.033 0.032899 0.019372 25.641 0.018553 0.27041 28.205 0.26875 0.0056339 31.136 0.0060698 0.0029558 54.029 0.0028722 0.024586 56.593 0.025098 0.0027373 58.974 0.0027412 0.74618 8.4249 0.40386 18.324
Для примера, если посмотреть на PeakAmplitude2 в таблице, амплитуда пика степени спектра снизится с 0,6638 до 0,0326. Используя PeakFrequency2 значение, вы знаете, что это падение происходит около 90 Гц. Постройте график двух спектров степени на тех же осях, чтобы визуализировать падение вне задачи Live Editor.
plot(healthyFrequencies, 10*log10(healthyMagnitudes), 'b-'); % plot in decibels hold on; plot(faultyFrequencies, 10*log10(faultyMagnitudes), 'r-'); % plot in decibels legend('Healthy','Faulty') xlabel('Frequency (Hz)') ylabel('Power Spectrum (dB)') title('Comparison of Power Spectrums') hold off;
Как показала таблица метрик, пик около 90 Гц значительно падает в амплитуде. Чтобы определить, какая частота компонента вызвала это, вернитесь к предыдущей задаче Extract Spectral Функции Live Editor.
Полоса отказа около 90 Гц является первой гармоникой первого вращающегося вала. Таким образом, вы знаете, что что-то меняется в этом валу, и это может быть тенденция к отказу.
Построение графика здоровых и дефектных спектров степени вместе может быть полезным способом выделить изменения в пиковых амплитудах. В дополнение к пику, составляющему около 90 Гц для первой гармоники первого вала, можно наблюдать другие значительные уменьшения амплитуд пика, такие как для второй гармоники этого вала, составляющие около 180 Гц. Этот пик по существу отсутствует в дефектном наборе данных.
Пиковые амплитуды из целебных и дефектных данных также могут сравниваться с помощью столбчатой диаграммы.
PeakFrequencies = spectralMetrics_total(:,2:3:end-1).Variables'; PeakAmplitudes = spectralMetrics_total(:,1:3:end-1).Variables'; bar(PeakFrequencies, PeakAmplitudes); legend('Healthy','Faulty') xlabel('Frequency (Hz)') ylabel('Peak Amplitude') title('Peak Amplitudes of Healthy and Faulty Power Spectrum Data')
Увеличьте изображение, чтобы увидеть изменение пиковой амплитуды в первой гармонике первого вращающегося вала.
xlim([87 93]) ylim([0 0.7])
Как показано в этом примере, задача Извлечь спектральные функции Live Editor может оказаться полезной для нескольких различных приложений. С помощью задачи Live Editor можно легко сопоставить спектральный peaks с известными частотами компонентов машины. Это помогает вам лучше понять ваши данные и механические компоненты, вызывающие различные функции в данных.
Другое приложение задачи Extract Spectral Features Live Editor состоит в том, чтобы сгенерировать метрики, которые характеризуют ваши спектральные данные в интересующих областях значений. Задача создает таблицу выхода, содержащую пиковую амплитуду, пиковую частоту и мощность полосы каждой полосы частоты отказа, а также общую мощность полосы всех полос отказа. Однако эти метрики специфичны для данных спектра степени, введенных в задачу.
Чтобы расширить это использование, чтобы вы могли отслеживать метрики с течением времени, когда собираются новые наборы данных, можно либо обновить данные спектра степени в задаче, либо использовать автоматически сгенерированный код MATLAB для создания таблицы метриков. Копирование сгенерированного кода MATLAB является простым способом продолжить вычисление метрик полосы отказов для многих новых наборов данных.
Третье использование задачи объединяет преимущества двух ранее обсуждавшихся видов применения. Поскольку задача связывает различные механические компоненты с peaks в спектральных данных, можно быстро определить, какие компоненты вызывают значительные изменения в спектральных данных и, следовательно, потенциальные отказы. Для примера одним общим показателем отказа машины, полученным из спектральных данных, является изменение амплитуды спектрального peaks. В таблице спектральных метрик, если вы заметили значительное падение пиковой амплитуды или мощности полосы с течением времени, можно проследить соответствующую пиковую частоту назад к графику, чтобы увидеть, какая полоса частот отказа компонента выравнивается с этим пиком.
bearingFaultBands
| Извлечение спектральных функций | faultBandMetrics
| faultBands
| gearMeshFaultBands