Упорядоченный анализ сигнала вибрации

Этот пример показывает, как анализировать сигнал вибрации с помощью анализа порядка. Анализ порядка используется для количественной оценки шума или вибрации во вращающейся машине, скорость вращения которой изменяется с течением времени. Порядок относится к частоте, которая является некоторой произведенной от опорной скорости вращения. Для примера сигнал вибрации с частотой, равной удвоенной частоте вращения двигателя, соответствует порядку двух, и, аналогично, сигнал вибрации, который имеет частоту, равную 0,5 частоте вращения двигателя, соответствует порядку 0,5. В этом примере определяют порядки большой амплитуды, чтобы исследовать источник нежелательной вибрации в кабине вертолета.

Введение

Этот пример анализирует имитированные данные о вибрации с акселерометра в кабине вертолета во время опрокидывания и опускания основного мотора. Вертолет имеет несколько вращающихся компонентов, включая двигатель, коробку передач и основной и хвостовой роторы. Каждый компонент вращается с известной фиксированной скоростью относительно основного двигателя и каждый может способствовать нежелательной вибрации. Частота доминирующих компонентов вибрации может быть связана со скоростью вращения двигателя, чтобы исследовать источник высокоамплитудной вибрации. Вертолет в этом примере имеет четыре блейдов как в основном, так и в хвостовом роторах. Важные компоненты вибрации от ротора вертолета могут быть найдены в целочисленных множителях частоты вращения ротора, когда вибрация генерируется блейдами ротора.

Сигнал в этом примере является зависящим от времени напряжением, vib, дискретизированный со скоростью fs равным 500 Гц. Данные включают rpm, угловую скорость турбинового двигателя и вектор t моментов времени. Отношение скорости ротора к скорости вращения двигателя для каждого ротора сохранено в переменных mainRotorEngineRatio и tailRotorEngineRatio.

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

Постройте график данных о скорости и вибрации двигателя как функции времени:

load helidata
vib = vib - mean(vib);  % Remove the DC component 

subplot(2,1,1) 
plot(t,rpm)             % Plot the engine rotational speed
xlabel('Time (s)') 
ylabel('Engine Speed (RPM)')
title('Engine speed')

subplot(2,1,2) 
plot(t,vib)             % Plot the vibration signal 
xlabel('Time (s)') 
ylabel('Voltage (mV)')
title('Accelerometer Vibration Data')

Figure contains 2 axes. Axes 1 with title Engine speed contains an object of type line. Axes 2 with title Accelerometer Vibration Data contains an object of type line.

Скорость вращения двигателя увеличивается во время опробования и уменьшается во время опускания. Амплитуда вибрации изменяется как функция скорости вращения. Этот тип профиля частоты вращения типичен для анализа вибрации во вращающемся машинном оборудовании.

Визуализация данных с помощью карты RPM-частоты

Сигнал вибрации может быть визуализирован в частотный диапазон с помощью функции rpmfreqmap. Эта функция вычисляет краткосрочное преобразование Фурье сигнала и генерирует карту частоты RPM. rpmfreqmap отображает карту в интерактивном окне графика, когда выходные аргументы опущены.

Сгенерируйте и визуализируйте карту частоты вращения для данных о вибрации.

rpmfreqmap(vib,fs,rpm)

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

Интерактивное окно рисунка, созданное rpmfreqmap содержит карту RPM-частоты, кривую RPM от времени, соответствующую карте, и несколько числовых индикаторов, которые могут использоваться для количественной оценки компонентов вибрации. Амплитуда карты по умолчанию представляет среднеквадратичную (RMS) амплитуду. Другие варианты амплитуды, включая пиковую амплитуду и степень, могут быть заданы с помощью необязательных аргументов. Кнопка меню графика водопада генерирует трехмерный вид:

Многие дорожки в картах RPM-частоты имеют частоты, которые увеличиваются и уменьшаются со скоростью двигателя. Это предполагает, что дорожки являются порядками частоты вращения двигателя. Существуют высокоамплитудные компоненты около пиковой частоты вращения с частотами от 20 до 30 Гц. Перекрестный курсор может быть помещен на карту в этом месте, чтобы просмотреть частоту, значение RPM, время и амплитуду карты в полях индикации ниже кривой RPM.

По умолчанию rpmfreqmap вычисляет разрешение путем деления частоты дискретизации на 128. Разрешение отображается в правом нижнем углу рисунка и в этом случае равно 3,906 Гц. Окно Ханна используется по умолчанию, но доступно несколько других окон.

Передайте меньше значения разрешения, чтобы rpmfreqmap для лучшего разрешения некоторых частотных составляющих. Для примера низкочастотные компоненты не разделяются при пиковой частоте вращения. При низких значениях частоты вращения высокоамплитудные дорожки, по-видимому, смешиваются вместе.

Сгенерируйте карту частоты RPM с разрешением 1 Гц, чтобы разрешить эти компоненты.

rpmfreqmap(vib,fs,rpm,1)

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

Низкочастотные компоненты теперь могут быть разрешены при пиковых оборотах в минуту, но существует значительное размазывание, когда скорость вращения изменяется более быстро. Порядки вибрации изменяют частоту в каждом временном окне, когда скорость двигателя увеличивается или уменьшается, создавая более широкую спектральную дорожку. Этот эффект размазывания более выражен для более мелкого разрешения из-за более длинных временных окон, которые требуются. В этом случае улучшение спектрального разрешения привело к увеличению программных продуктов размазывания на фазах опрокидывания и падения побережья. Чтобы избежать такого компромисса, можно сгенерировать карту порядка.

Визуализация данных с помощью карты порядка оборотов в минуту

Функция rpmordermap генерирует спектральную карту порядка от об/мин для анализа порядка. Подход удаляет программные продукты мазка путем повторной дискретизации сигнала с постоянными шагами фазы, получая стационарную синусоиду для каждого порядка. Повторно дискретизированный сигнал анализируется с помощью кратковременного преобразования Фурье. Поскольку каждый порядок является фиксированным кратным опорной скорости вращения, карта порядка содержит прямую дорожку порядка как функцию от RPM для каждого порядка.

Функция rpmordermap принимает те же аргументы, что и rpmfreqmap а также создает интерактивное окно графика при вызове без выходные аргументы. Параметр разрешения теперь задан в порядках, а не в Гц, и спектральная ось карты теперь в порядке, а не в частоте. Функция по умолчанию использует плоское верхнее окно.

Визуализируйте карту порядка данных о вертолете с помощью rpmordermap. Задайте разрешение порядка 0,005 порядков.

rpmordermap(vib,fs,rpm,0.005)

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

Карта содержит прямую дорожку для каждого порядка, указывающую, что вибрация происходит с фиксированным кратным скорости вращения мотора. Карты порядка облегчают связь каждого спектрального компонента со скоростью двигателя. Программные продукты размазывания значительно снижаются по сравнению с картой RPM-частоты.

Определение пиковых порядков с использованием спектра среднего порядка

Далее определите местоположения peaks карты порядка. Ищите порядки, которые являются целочисленными, кратными порядку основных и хвостовых роторов, где произошла бы вибрация, генерируемая этими роторами. Функция rpmordermap возвращает карту и соответствующие значения порядка и RPM в качестве выходов. Анализ данных для определения порядков высокоамплитудной вибрации в салоне вертолета.

Вычислите и верните карту порядка данных.

[map,mapOrder,mapRPM,mapTime] = rpmordermap(vib,fs,rpm,0.005);

Далее используйте orderspectrum для вычисления и построения графика среднего спектра map. Функция принимает карту порядка, сгенерированную rpmordermap как вход и усредняет его с течением времени.

figure
orderspectrum(map,mapOrder)

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

Верните средний спектр и вызовите findpeaks чтобы вернуть местоположения двух самых высоких peaks.

[spec,specOrder] = orderspectrum(map,mapOrder);          
[~,peakOrders] = findpeaks(spec,specOrder,'SortStr','descend','NPeaks',2);
peakOrders = round(peakOrders,3)
peakOrders = 2×1

    0.0520
    0.0660

Два доминирующих peaks можно увидеть около порядок 0.05 на графике. Порядки меньше единицы, потому что частота вибрации ниже, чем скорость вращения двигателя.

Анализ пиковых порядков с течением времени

Затем найдите амплитуды порядков пиков как функцию времени, используя ordertrack. Использование map как вход и постройте график амплитуды двух пиковых порядков путем вызова ordertrack без выходных аргументов.

ordertrack(map,mapOrder,mapRPM,mapTime,peakOrders)

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 with title Order Tracking contains 2 objects of type line. These objects represent Order: 0.052, Order: 0.066.

Оба порядка увеличиваются в амплитуде, когда скорость вращения двигателя увеличивается. Хотя в этом случае порядки могут быть легко разделены, ordertrack может также разделять порядки пересечения, когда присутствуют несколько сигналов RPM.

Затем извлеките порядковый сигнал временной области для каждого порядка пика, используя orderwaveform. Формы волны порядка можно сравнивать непосредственно с исходным сигналом вибрации и воспроизводить как аудио. orderwaveform использует фильтр Vold-Kalman, чтобы извлечь формы волны порядка для заданных порядков. Сравните сумму двух форм волны пикового порядка с исходным сигналом.

orderWaveforms = orderwaveform(vib,fs,rpm,peakOrders);
helperPlotOrderWaveforms(t,orderWaveforms,vib)

Figure contains 2 axes. Axes 1 with title Order Waveforms for Peak Orders contains 2 objects of type line. These objects represent Order 0.052, Order 0.066. Axes 2 contains 2 objects of type line. These objects represent Vibration signal, Sum of 2 waveforms.

Уменьшение вибрации кабины

Чтобы идентифицировать источники вибрации салона, сравните порядок каждого пика с порядком каждого из роторов вертолета. Порядок каждого ротора равен фиксированному отношению скорости ротора к скорости вращения двигателя.

mainRotorOrder = mainRotorEngineRatio; 
tailRotorOrder = tailRotorEngineRatio;

ratioMain = peakOrders/mainRotorOrder
ratioMain = 2×1

    4.0310
    5.1163

ratioTail = peakOrders/tailRotorOrder
ratioTail = 2×1

    0.7904
    1.0032

Самый высокий пик расположен на порядке четыре от скорости основного ротора, поэтому частота максимально-амплитудного компонента в четыре раза превышает частоту основного ротора. Основной ротор, который имеет четыре блейдов, является хорошим кандидатом для источника этой вибрации, потому что для вертолета с N блейдами на ротор, вибрация в N раз больше, чем скорость вращения ротора является общей. Аналогично, второй по величине компонент расположен с порядком одной из скорости несущего винта, что позволяет предположить, что вибрация может происходить от несущего ротора. Поскольку скорости роторов не связаны целочисленным коэффициентом, порядок второго по величине пика относительно скорости основного ротора не является целым числом.

После внесения корректировок пути и баланса в основной и хвостовой роторы, собирается новый набор данных. Загрузите его и сравните спектры порядка до и после регулировки.

load helidataAfter
vib = vib - mean(vib);             % Remove the DC component 
[mapAfter,mapOrderAfter] = rpmordermap(vib,fs,rpm,0.005);
figure
hold on  
orderspectrum(map,mapOrder)
orderspectrum(mapAfter,mapOrderAfter)
legend('Before Adjustment','After Adjustment')

Figure contains an axes. The axes with title Average Order Spectrum contains 2 objects of type line. These objects represent Before Adjustment, After Adjustment.

Амплитуды доминирующего peaks в настоящее время значительно ниже.

Заключения

Этот пример использовал анализ порядка, чтобы идентифицировать основные и хвостовые роторы вертолета как потенциальные источники высокой амплитуды вибрации в кабине. Во-первых, rpmfreqmap и rpmordermap использовались для визуализации порядков. Карта порядка оборотов в минуту обеспечивала разделение порядка во всей области значений оборотов в минуту без программных продуктов размазывания, присутствующих в карте частоты оборотов в минуту. rpmordermap был лучшим выбором, чтобы визуализировать компоненты вибрации при более низких оборотах во время опрокидывания и падения двигателя.

Далее приведен пример orderspectrum чтобы идентифицировать пиковые порядки, ordertrack визуализировать амплитуду пиковых порядков с течением времени и orderwaveform чтобы извлечь формы волны временной области для пиковых порядков. Порядок наибольшего амплитудного компонента вибрации был найден в четырёхкратной частоте вращения основного ротора, что указывает на дисбаланс в блейдах основного ротора. Второй по величине компонент был обнаружен на частоте вращения хвостового ротора. Регулировка роторов привела к снижению уровня вибрации.

Ссылки

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

См. также

| | | |