Этот пример показывает, как анализировать сигнал вибрации с помощью анализа порядка. Анализ порядка используется для количественной оценки шума или вибрации во вращающейся машине, скорость вращения которой изменяется с течением времени. Порядок относится к частоте, которая является некоторой произведенной от опорной скорости вращения. Для примера сигнал вибрации с частотой, равной удвоенной частоте вращения двигателя, соответствует порядку двух, и, аналогично, сигнал вибрации, который имеет частоту, равную 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')
Скорость вращения двигателя увеличивается во время опробования и уменьшается во время опускания. Амплитуда вибрации изменяется как функция скорости вращения. Этот тип профиля частоты вращения типичен для анализа вибрации во вращающемся машинном оборудовании.
Визуализация данных с помощью карты RPM-частоты
Сигнал вибрации может быть визуализирован в частотный диапазон с помощью функции rpmfreqmap
. Эта функция вычисляет краткосрочное преобразование Фурье сигнала и генерирует карту частоты RPM. rpmfreqmap
отображает карту в интерактивном окне графика, когда выходные аргументы опущены.
Сгенерируйте и визуализируйте карту частоты вращения для данных о вибрации.
rpmfreqmap(vib,fs,rpm)
Интерактивное окно рисунка, созданное rpmfreqmap
содержит карту RPM-частоты, кривую RPM от времени, соответствующую карте, и несколько числовых индикаторов, которые могут использоваться для количественной оценки компонентов вибрации. Амплитуда карты по умолчанию представляет среднеквадратичную (RMS) амплитуду. Другие варианты амплитуды, включая пиковую амплитуду и степень, могут быть заданы с помощью необязательных аргументов. Кнопка меню графика водопада генерирует трехмерный вид:
Многие дорожки в картах RPM-частоты имеют частоты, которые увеличиваются и уменьшаются со скоростью двигателя. Это предполагает, что дорожки являются порядками частоты вращения двигателя. Существуют высокоамплитудные компоненты около пиковой частоты вращения с частотами от 20 до 30 Гц. Перекрестный курсор может быть помещен на карту в этом месте, чтобы просмотреть частоту, значение RPM, время и амплитуду карты в полях индикации ниже кривой RPM.
По умолчанию rpmfreqmap
вычисляет разрешение путем деления частоты дискретизации на 128. Разрешение отображается в правом нижнем углу рисунка и в этом случае равно 3,906 Гц. Окно Ханна используется по умолчанию, но доступно несколько других окон.
Передайте меньше значения разрешения, чтобы rpmfreqmap
для лучшего разрешения некоторых частотных составляющих. Для примера низкочастотные компоненты не разделяются при пиковой частоте вращения. При низких значениях частоты вращения высокоамплитудные дорожки, по-видимому, смешиваются вместе.
Сгенерируйте карту частоты RPM с разрешением 1 Гц, чтобы разрешить эти компоненты.
rpmfreqmap(vib,fs,rpm,1)
Низкочастотные компоненты теперь могут быть разрешены при пиковых оборотах в минуту, но существует значительное размазывание, когда скорость вращения изменяется более быстро. Порядки вибрации изменяют частоту в каждом временном окне, когда скорость двигателя увеличивается или уменьшается, создавая более широкую спектральную дорожку. Этот эффект размазывания более выражен для более мелкого разрешения из-за более длинных временных окон, которые требуются. В этом случае улучшение спектрального разрешения привело к увеличению программных продуктов размазывания на фазах опрокидывания и падения побережья. Чтобы избежать такого компромисса, можно сгенерировать карту порядка.
Визуализация данных с помощью карты порядка оборотов в минуту
Функция rpmordermap
генерирует спектральную карту порядка от об/мин для анализа порядка. Подход удаляет программные продукты мазка путем повторной дискретизации сигнала с постоянными шагами фазы, получая стационарную синусоиду для каждого порядка. Повторно дискретизированный сигнал анализируется с помощью кратковременного преобразования Фурье. Поскольку каждый порядок является фиксированным кратным опорной скорости вращения, карта порядка содержит прямую дорожку порядка как функцию от RPM для каждого порядка.
Функция rpmordermap
принимает те же аргументы, что и rpmfreqmap
а также создает интерактивное окно графика при вызове без выходные аргументы. Параметр разрешения теперь задан в порядках, а не в Гц, и спектральная ось карты теперь в порядке, а не в частоте. Функция по умолчанию использует плоское верхнее окно.
Визуализируйте карту порядка данных о вертолете с помощью rpmordermap
. Задайте разрешение порядка 0,005 порядков.
rpmordermap(vib,fs,rpm,0.005)
Карта содержит прямую дорожку для каждого порядка, указывающую, что вибрация происходит с фиксированным кратным скорости вращения мотора. Карты порядка облегчают связь каждого спектрального компонента со скоростью двигателя. Программные продукты размазывания значительно снижаются по сравнению с картой RPM-частоты.
Определение пиковых порядков с использованием спектра среднего порядка
Далее определите местоположения peaks карты порядка. Ищите порядки, которые являются целочисленными, кратными порядку основных и хвостовых роторов, где произошла бы вибрация, генерируемая этими роторами. Функция rpmordermap
возвращает карту и соответствующие значения порядка и RPM в качестве выходов. Анализ данных для определения порядков высокоамплитудной вибрации в салоне вертолета.
Вычислите и верните карту порядка данных.
[map,mapOrder,mapRPM,mapTime] = rpmordermap(vib,fs,rpm,0.005);
Далее используйте orderspectrum
для вычисления и построения графика среднего спектра map
. Функция принимает карту порядка, сгенерированную rpmordermap
как вход и усредняет его с течением времени.
figure orderspectrum(map,mapOrder)
Верните средний спектр и вызовите 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)
Оба порядка увеличиваются в амплитуде, когда скорость вращения двигателя увеличивается. Хотя в этом случае порядки могут быть легко разделены, ordertrack
может также разделять порядки пересечения, когда присутствуют несколько сигналов RPM.
Затем извлеките порядковый сигнал временной области для каждого порядка пика, используя orderwaveform
. Формы волны порядка можно сравнивать непосредственно с исходным сигналом вибрации и воспроизводить как аудио. orderwaveform
использует фильтр Vold-Kalman, чтобы извлечь формы волны порядка для заданных порядков. Сравните сумму двух форм волны пикового порядка с исходным сигналом.
orderWaveforms = orderwaveform(vib,fs,rpm,peakOrders); helperPlotOrderWaveforms(t,orderWaveforms,vib)
Уменьшение вибрации кабины
Чтобы идентифицировать источники вибрации салона, сравните порядок каждого пика с порядком каждого из роторов вертолета. Порядок каждого ротора равен фиксированному отношению скорости ротора к скорости вращения двигателя.
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')
Амплитуды доминирующего peaks в настоящее время значительно ниже.
Заключения
Этот пример использовал анализ порядка, чтобы идентифицировать основные и хвостовые роторы вертолета как потенциальные источники высокой амплитуды вибрации в кабине. Во-первых, rpmfreqmap
и rpmordermap
использовались для визуализации порядков. Карта порядка оборотов в минуту обеспечивала разделение порядка во всей области значений оборотов в минуту без программных продуктов размазывания, присутствующих в карте частоты оборотов в минуту. rpmordermap
был лучшим выбором, чтобы визуализировать компоненты вибрации при более низких оборотах во время опрокидывания и падения двигателя.
Далее приведен пример orderspectrum
чтобы идентифицировать пиковые порядки, ordertrack
визуализировать амплитуду пиковых порядков с течением времени и orderwaveform
чтобы извлечь формы волны временной области для пиковых порядков. Порядок наибольшего амплитудного компонента вибрации был найден в четырёхкратной частоте вращения основного ротора, что указывает на дисбаланс в блейдах основного ротора. Второй по величине компонент был обнаружен на частоте вращения хвостового ротора. Регулировка роторов привела к снижению уровня вибрации.
Ссылки
Брандт, Андерс. Анализ шума и вибрации: анализ сигналов и экспериментальные процедуры. Chichester, UK: John Wiley and Sons, 2011.
orderspectrum
| ordertrack
| orderwaveform
| rpmfreqmap
| rpmordermap