Используйте Signal Analyzer, чтобы вычислить спектр конверта вибрации переноса, сигнализируют и ищут дефекты. Сгенерируйте скрипты MATLAB® и функции, чтобы автоматизировать анализ.
В терпении размерностей, показанных в фигуре, управляют циклы в секунду. Акселерометр выбирает колебания переноса на уровне 10 кГц.
Сгенерируйте сигналы вибрации от двух дефектных подшипников с помощью функции bearingdata
в конце примера. В одном из сигналов, xBPFO
, перенос имеет дефект во внешней гонке. В другом сигнале, xBPFI
, перенос имеет дефект во внутренней гонке. Для получения дополнительной информации при моделировании и диагностировании дефектов в подшипниках, смотрите Анализ Вибрации Вращающегося Машинного оборудования и envspectrum
.
[t,xBPFO,xBPFI,bpfi] = bearingdata;
Откройте Signal Analyzer и перетащите сигнал BPFO к отображению. Добавьте время информация к сигналу путем выбора его в таблице Signal и нажатия кнопки Time Values на вкладке Analyzer. Выберите опцию Sample Rate and Start Time
и введите частоту дискретизации на 10 кГц.
На вкладке Display нажмите Spectrum, чтобы открыть представление спектра. Спектр сигнала вибрации показывает гармоники BPFO, модулируемые частотой влияния на 3 кГц. На нижнем уровне спектра ведущая частота и ее порядки затеняют другие функции.
Выберите сигнал и, на вкладке Analyzer, нажмите Duplicate, чтобы сгенерировать копию его. Дайте новому сигналу имя envspec
и перетащите его к отображению. Вычислите спектр конверта сигнала с помощью Гильбертова преобразования:
Удалите значение DC сигнала. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Detrend. На вкладке Detrend, которая появляется, выберите Constant
как метод. Нажмите Detrend.
Полосовой фильтр детрендированный сигнал. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Bandpass. На вкладке Bandpass, которая появляется, введите 2 250 Гц и 3 750 Гц как более низкие и верхние частоты полосы пропускания, соответственно. Нажмите Bandpass.
Вычислите конверт отфильтрованного сигнала. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Envelope. На вкладке Envelope, которая появляется, выберите Hilbert
как метод. Нажмите Envelope.
Удалите значение DC использования конверта, Детрендируют.
Спектр конверта появляется в представлении спектра отображения. Спектр конверта ясно отображает гармоники BPFO.
Вычисление спектра конверта может стать утомительным, если это должно быть повторено для многих различных подшипников. Signal Analyzer может сгенерировать скрипты MATLAB® и функции, чтобы помочь вам автоматизировать вычисление.
Как осуществление, повторите предыдущий анализ для сигнала BPFI. Signal Analyzer генерирует два компонента, полезные для автоматизации:
Функция, которая предварительно обрабатывает сигнал путем удаления тренда его, фильтрации его и вычисления его конверта
Скрипт, который вычисляет спектр конверта
Чтобы создать интегрированный аналитический скрипт, поместите функцию предварительной обработки и скрипт графического вывода, вместе неизменный в одном файле. (Также можно сохранить функции в отдельных файлах.)
Если вы сохраняете скрипт и функцию в одном скрипте MATLAB®, имеете в виду, что эти функции должны появиться в конце.
Необходимо добавить ключевое слово end
в конце каждой функции.
1. Создайте функцию предварительной обработки
Первоначально, создайте функцию, которая воспроизводит шаги предварительной обработки. Выберите сигнал envspec
. На вкладке Analyzer нажмите Generate Function. Функция, вызванная preprocess
по умолчанию, появляется в Редакторе. Сохраните сгенерированную функцию в конце своего интегрированного аналитического скрипта. Функция ожидает второй аргумент, указывающий информацию времени. Предварительно обработайте сигнал BPFI использование функции.
envspec = preprocess(xBPFI,t);
2. Создайте скрипт спектра
В приложении удалите необработанный сигнал из отображения путем снятия флажка рядом с его именем. На вкладке Display нажмите Generate Script ▼ и выберите 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
Перенос производящей функции данных
Перенос имеет диаметр подачи cm и перенос связываются с углом . Каждый из прокрутка элементов имеет диаметр cm. Внешняя гонка остается стационарной, когда во внутренней гонке управляют циклы в секунду. Акселерометр выбирает колебания переноса на уровне 10 кГц.
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) переноса,
.
Смоделируйте влияние, когда периодический train 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;
Если дефект находится вместо этого во внутренней гонке, влияние происходит на частоте
.
Сгенерируйте сигнал вибрации BPFI путем добавления влияния на здоровые сигналы.
bpfi = n*f0/2*(1+d/p*cos(th));
xBPFI = xHealthy + pulstran(t,0:1/bpfi:1,xmp,fs)/4;
end