exponenta event banner

orderspectrum

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

Описание

пример

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

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

пример

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

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

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

Примеры

свернуть все

Создайте моделируемый сигнал с частотой 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.

Визуализация спектра среднего порядка сигнала. Пики спектра соответствуют гребням, показанным на карте порядка 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);

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

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' - предполагает, что карта порядка-RPM использует среднеквадратическую амплитуду для каждого оцененного порядка.

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

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

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

свернуть все

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

Порядок вывода, возвращаемый в виде реального вектора.

Ссылки

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

[2] Вольд, Ховард и Ян Леуридан. «Отслеживание заказов с высоким разрешением с экстремальными скоростями с использованием фильтров отслеживания Калмана». Удар и вибрация. Том 2, 1995, стр. 507-515.

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2016b