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)

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

orderspectrum(x,fs,rpm)

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

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

load('helidata.mat')

vib = detrend(vib);

Постройте нелинейный профиль об/мин. Запуски ротора вплоть до него достигают максимальной скорости вращения приблизительно 27 600 оборотов в минуту и затем двигаются вперед без усилий.

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

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

orderspectrum(vib,fs,rpm)

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

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

orderspectrum(map,order)

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

[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

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

свернуть все

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

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

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

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

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

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

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

Карта об/мин порядка в виде матрицы. Использование rpmordermap вычислить карты об/мин порядка.

Порядки в об/мин порядка сопоставляют синтаксис в виде вектора. Длина order должен равняться количеству строк в map.

Амплитуды карты об/мин порядка в виде одного из 'rms', 'peak', или 'power'.

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

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

  • 'power' — Принимает, что карта об/мин порядка использует уровень мощности для каждого предполагаемого порядка.

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

свернуть все

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

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

Ссылки

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

[2] Vold, Ховард и Ян Леуридэн. “Отслеживание заказов Высокого разрешения на Экстремальных Скоростях нарастания Используя Кальмана Трэкинга Филтерса”. Шок и Вибрация. Издание 2, 1995, стр 507–515.

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

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

Введенный в R2017b
Для просмотра документации необходимо авторизоваться на сайте