orderspectrum

Средний спектр в зависимости от порядка для сигнала вибрации

Описание

пример

spec = orderspectrum(x,fs,rpm) вычисляет вектор спектра средней амплитуды порядка, spec, для входного сигнала, x, дискретизированный со скоростью fs Гц. Чтобы вычислить спектр, orderspectrum окон постояннофазной, повторно дискретизированной версии x с плоским верхним окном.

[spec,order] = orderspectrum(x,fs,rpm) также возвращает вектор порядков, соответствующих каждому среднему значению спектра.

пример

[spec,order] = orderspectrum(map,order) вычисляет вектор спектра средней амплитуды порядка, начиная с карты порядка оборотов в минуту и вектора порядков. Использовать rpmordermap для вычисления map и order. map должен быть линейно масштабирован. Возвращенные амплитуды те же, что и в map. Возвращенный спектр масштабируется линейно.

[spec,order] = orderspectrum(map,order,'Amplitude',amp) задает тип амплитуды, которая должна учитываться при вычислении спектра средней амплитуды порядка, начиная с карты порядка.

orderspectrum(___) без выходных аргументов строит амплитуду RMS спектра порядка, масштабированную линейно, на текущей фигуре.

Примеры

свернуть все

Создайте имитированный сигнал, дискретизированный на частоте 600 Гц в течение 5 секунд. Система, которая тестируется, увеличивает скорость вращения с 10 до 40 оборотов в секунду в течение периода наблюдения.

Сгенерируйте показания тахометра.

fs = 600;
t1 = 5;
t = 0:1/fs:t1;

f0 = 10;
f1 = 40;
rpm = 60*linspace(f0,f1,length(t));

Сигнал состоит из четырех гармонически связанных щебета с порядками 1 , 0.5 , 4 и 6. Щебет порядка 4 имеет удвоенную амплитуду остальных. Чтобы сгенерировать щебет, используйте метод трапеций, чтобы выразить фазу как интеграл скорости вращения.

o1 = 1;
o2 = 0.5;
o3 = 4;
o4 = 6;

ph = 2*pi*cumtrapz(rpm/60)/fs;

x = [1 1 2 1]*cos([o1 o2 o3 o4]'*ph);

Визуализируйте карту порядка-об/мин сигнала.

rpmordermap(x,fs,rpm)

Figure Order Map contains objects of type uimenu, uitoolbar, uiflowcontainer.

Визуализируйте средний спектр порядка сигнала. Peaks спектра соответствуют гребням, наблюдаемым на карте порядка - RPM.

orderspectrum(x,fs,rpm)

Figure contains an axes. The axes with title Average Order Spectrum contains an object of type line.

Анализ моделируемых данных с акселерометра, размещенного в кабине вертолета.

Загрузите данные вертолета. Вибрационные измерения, vib, отбираются со скоростью 500 Гц в течение 10 секунд. Данные имеют линейный тренд. Удалите тренд, чтобы предотвратить его ухудшение качества оценки порядка.

load('helidata.mat')

vib = detrend(vib);

Постройте график нелинейного профиля скорости вращения. Ротор поднимается до тех пор, пока не достигнет максимальной скорости вращения около 27 600 оборотов в минуту, а затем прибегает вниз.

plot(t,rpm)
xlabel('Time (s)')
ylabel('RPM')

Figure contains an axes. The axes contains an object of type line.

Вычислите средний спектр порядка сигнала. Используйте разрешение порядка по умолчанию.

orderspectrum(vib,fs,rpm)

Figure contains an axes. The axes with title Average Order Spectrum contains an object of type line.

Использование rpmordermap чтобы повторить расчет с более мелким разрешением порядка. Нижние порядки решаются более четко.

[map,order] = rpmordermap(vib,fs,rpm,0.005);

orderspectrum(map,order)

Figure contains an axes. The axes with title Average Order Spectrum contains an object of type line.

Вычислите уровень степени для каждого расчетного порядка. Отображение результата в децибелах.

[map,order] = rpmordermap(vib,fs,rpm,0.005,'Amplitude','power');

spec = orderspectrum(map,order);

plot(order,pow2db(spec))
xlabel('Order Number')
ylabel('Order Power Amplitude (dB)')
grid on

Figure contains an axes. The axes contains an object of type line.

Входные параметры

свернуть все

Входной сигнал, заданный как строка или вектор-столбец.

Пример: cos(pi/4*(0:159))+randn(1,160) задает синусоиду, встроенную в белый Гауссов шум.

Частота дискретизации, заданная как положительная скалярная величина, выраженная в Гц.

Скорости вращения, заданные как вектор положительных значений, выраженных в оборотах в минуту. rpm должны иметь ту же длину, что и x.

  • Если у вас есть импульсный сигнал тахометра, используйте tachorpm для извлечения rpm непосредственно.

  • Если у вас нет импульсного сигнала тахометра, используйте rpmtrack для извлечения rpm от сигнала вибрации.

Пример: 100:10:3000 указывает, что система первоначально вращается со скоростью 100 оборотов в минуту и вращается до 3000 оборотов в минуту с шагами 10.

Карта Order-RPM, заданная как матрица. Использовать rpmordermap для вычисления карт order-RPM.

Порядки в синтаксисе карты order-RPM, заданные как вектор. Длина order должно равняться количеству строк в map.

Амплитуды карты Order-RPM, заданные как один из 'rms', 'peak', или 'power'.

  • 'rms' - Принимает, что карта order-RPM использует среднеквадратическую амплитуду для каждого предполагаемого порядка.

  • 'peak' - Принимает, что карта order-RPM использует пиковую амплитуду для каждого оцененного порядка.

  • 'power' - Принимает, что карта order-RPM использует уровень степени для каждого предполагаемого порядка.

Выходные аргументы

свернуть все

Спектр средней амплитуды порядка, возвращенный как вектор среднеквадратичных (RMS) амплитуд в линейной шкале. Если вы используете map и order в качестве входных параметров и задать 'Amplitude' на 'power' при использовании rpmordermap для вычисления map, затем orderspectrum возвращает spec в силовых модулях.

Выход порядков, возвращенный как вектор действительных чисел.

Ссылки

[1] Брандт, Андерс. Анализ шума и вибрации: анализ сигналов и экспериментальные процедуры. Chichester, UK: John Wiley & Sons, 2011.

[2] Vold, Hovard, and Jan Leuridan. High Resolution Order Tracking at Extreme Скорости Нарастания Using Kalman Tracking Filters (неопр.) (недоступная ссылка). Шок и вибрация. Том 2, 1995, стр. 507-515.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2016b