Используйте анализатор сигналов для вычисления спектра огибающей сигнала вибрации подшипника и поиска дефектов. Создание сценариев и функций MATLAB ® для автоматизации анализа.
Подшипник с размерами, показанными на рисунке, приводится в действие при 25 циклов в секунду. Акселерометр производит выборку колебаний подшипника при частоте 10 кГц.

Генерация сигналов вибрации от двух неисправных подшипников с помощью bearingdata в конце примера. В одном из сигналов, xBPFOподшипник имеет дефект внешнего кольца. В другом сигнале xBPFIподшипник имеет дефект внутреннего кольца. Дополнительные сведения о моделировании и диагностике дефектов подшипников см. в разделе Анализ вибрации вращающегося оборудования и envspectrum.
[t,xBPFO,xBPFI,bpfi] = bearingdata;
Откройте анализатор сигналов и перетащите сигнал BPFO на дисплей. Добавьте к сигналу информацию о времени, выбрав его в таблице Сигнал (Signal) и нажав кнопку Значения времени (Time Values) на вкладке Анализатор (Analyzer). Выберите Sample Rate and Start Time и введите частоту дискретизации 10 кГц.
На вкладке Отображение (Display) щелкните Спектр (Spectrum), чтобы открыть вид спектра. Спектр сигнала вибрации показывает гармоники BPFO, модулированные частотой удара 3 кГц. В нижней части спектра частота возбуждения и ее порядки скрывают другие особенности.

Выберите сигнал и на вкладке «Анализатор» нажмите кнопку «Копировать», чтобы создать его копию. Присвойте новому сигналу имя envspec и перетащите его на дисплей. Вычислите спектр огибающей сигнала с помощью преобразования Гильберта:
Снимите значение постоянного тока сигнала. На вкладке Analyzer (Анализатор) щелкните Preprocessing (Предварительная обработка) ▼ а затем выберите Detrend (Детренд). На появившейся вкладке Detrend выберите Constant в качестве метода. Щелкните Детренд (Detrend).
Полосовой фильтр подавленного сигнала. На вкладке Analyzer (Анализатор) щелкните Preprocessing ▼ (Предварительная обработка) и выберите Bandpass (Полоса пропускания). На появившейся вкладке Bandpass введите 2250 Гц и 3750 Гц в качестве нижних и верхних частот полосы пропускания соответственно. Нажмите Полосовой переход.
Вычислите огибающую отфильтрованного сигнала. На вкладке Анализатор (Analyzer) щелкните ▼ предварительной обработки (Preprocessing) и выберите Конверт (Enviree). На появившейся вкладке Конверт выберите Hilbert в качестве метода. Щелкните Конверт.
Удалите значение DC конверта с помощью Detrend.
Спектр огибающей появляется на виде спектра дисплея. Спектр огибающей ясно отображает гармоники BPFO.

Вычисление огибающего спектра может стать утомительным, если его необходимо повторить для многих различных подшипников. Анализатор сигналов может создавать сценарии и функции MATLAB ® для автоматизации вычислений.
В качестве упражнения повторите предыдущий анализ для сигнала BPFI. Анализатор сигналов генерирует два компонента, полезные для автоматизации:
preprocess, функция, которая предварительно обрабатывает сигнал, сдерживая его, фильтруя и вычисляя его огибающую
Compute power spectrum, сценарий, который вычисляет спектр огибающей
Для создания сценария интегрированного анализа следует объединить функцию предварительной обработки и сценарий печати без изменений в одном файле. (Кроме того, можно сохранить функции в отдельных файлах.)
При сохранении сценария и функции в одном сценарии MATLAB ® помните, что функции должны отображаться в конце.
Необходимо добавить ключевое слово end в конце каждой функции.
1. Создание функции предварительной обработки
Сначала создайте функцию, которая воспроизводит шаги предварительной обработки. Выберите envspec сигнал. На вкладке Анализатор (Analyzer) щелкните Создать функцию (Generate Function). Функция, вызываемая preprocess по умолчанию отображается в редакторе. Сохраните созданную функцию в конце сценария интегрированного анализа. Функция ожидает второй аргумент, указывающий информацию о времени. Выполните предварительную обработку сигнала BPFI с помощью функции.
envspec = preprocess(xBPFI,t);
2. Создать сценарий спектра
В приложении удалите необработанный сигнал с экрана, сняв флажок рядом с его именем. На вкладке «Отображение» нажмите «Создать сценарий» ▼ а затем выберите Spectrum Script. Сценарий появится в редакторе. Включите созданный код в сценарий интегрированного анализа. При запуске сценария анализа сгенерированный сценарий спектра вычисляет спектр огибающей предварительно обработанного сигнала BPFI.
% Compute power spectrum % Generated by MATLAB(R) 9.6 and Signal Processing Toolbox 8.2. % Generated on: 12-Nov-2018 15:13:34 % Parameters timeLimits = [0 0.9999]; % seconds frequencyLimits = [0 5000]; % Hz %% % Index into signal time region of interest envspec_ROI = envspec(:); sampleRate = 10000; % Hz startTime = 0; % seconds minIdx = ceil(max((timeLimits(1)-startTime)*sampleRate,0))+1; maxIdx = floor(min((timeLimits(2)-startTime)*sampleRate,length(envspec_ROI)-1))+1; envspec_ROI = envspec_ROI(minIdx:maxIdx); % Compute spectral estimate % Run the function call below without output arguments to plot the results [Penvspec_ROI, Fenvspec_ROI] = pspectrum(envspec_ROI,sampleRate, ... 'FrequencyLimits',frequencyLimits);
3. График огибающей спектра
Постройте график огибающей спектра. Сравните местоположения пиков с частотами первых десяти гармоник BPFI. Можно также построить график спектра огибающей с помощью pspectrum без выходных аргументов.
plot(Fenvspec_ROI,(Penvspec_ROI)) hold on [X,Y] = meshgrid((1:10)*bpfi,ylim); plot(X,Y,':k') hold off xlim([0 10*bpfi])

Функция предварительной обработки сигнала
Функция предварительной обработки сигнала, генерируемая приложением, сочетает в себе сдерживание, полосовую фильтрацию и вычисление огибающей.
function y = preprocess(x,tx) % Preprocess input x % This function expects an input vector x and a vector of time values % tx. tx is a numeric vector in units of seconds. % Generated by MATLAB(R) 9.6 and Signal Processing Toolbox 8.2. % Generated on: 12-Nov-2018 15:09:44 y = detrend(x,'constant'); Fs = 1/mean(diff(tx)); % Average sample rate y = bandpass(y,[2250 3750],Fs,'Steepness',0.85,'StopbandAttenuation',60); [y,~] = envelope(y); y = detrend(y,'constant'); end
Функция генерации данных подшипника
Подшипник имеет диаметр шага 12 см и контакта с подшипником
function [t,xBPFO,xBPFI,bpfi] = bearingdata
p = 0.12;
d = 0.02;
n = 8;
th = 0;
f0 = 25;
fs = 10000;Для здорового подшипника сигнал вибрации представляет собой суперпозицию нескольких порядков частоты возбуждения, встроенную в белый гауссов шум.
t = 0:1/fs:1-1/fs; z = [1 0.5 0.2 0.1 0.05]*sin(2*pi*f0*[1 2 3 4 5]'.*t); xHealthy = z + randn(size(z))/10;
Дефект внешнего кольца вызывает ряд 5-миллисекундных ударов, которые со временем приводят к износу подшипника. Удары происходят на внешнем кольце частоты прохождения шарика (BPFO) подшипника,
start].
Моделирование воздействий в виде периодической последовательности 3 кГц экспоненциально демпфированных синусоид. Добавьте воздействия к исправному сигналу для генерации сигнала вибрации BPFO.
bpfo = n*f0/2*(1-d/p*cos(th)); tmp = 0:1/fs:5e-3-1/fs; xmp = sin(2*pi*3000*tmp).*exp(-1000*tmp); xBPFO = xHealthy + pulstran(t,0:1/bpfo:1,xmp,fs)/4;
Если вместо этого дефект находится во внутреннем кольце, то удары происходят с определенной частотой.
dpcos start].
Генерация сигнала вибрации BPFI путем добавления воздействий к здоровым сигналам.
bpfi = n*f0/2*(1+d/p*cos(th));
xBPFI = xHealthy + pulstran(t,0:1/bpfi:1,xmp,fs)/4;
end