tfsmoment

Условный спектральный момент частотно-временного распределения сигнала

Описание

Частотно-временные моменты обеспечивают эффективный способ характеристики сигналов, частоты которых изменяются во времени (то есть являются нестационарными). Такие сигналы могут возникать от оборудования с деградированным или неисправным оборудованием. Классический анализ Фурье не может захватить изменяющееся во времени поведение частоты. Частотно-временное распределение, сгенерированное коротким преобразованием Фурье (STFT) или другими методами частотно-временного анализа, может захватывать изменяющееся во времени поведение, но непосредственно обрабатывать эти распределения как функции несет высокую вычислительную нагрузку и потенциально представляет несвязанные и нежелательные характеристики функции. Напротив, перегонка результатов частотно-временного распределения в низкоразмерные частотно-временные моменты обеспечивает способ для захвата существенных функций сигнала в гораздо меньшем пакете данных. Использование этих моментов значительно снижает вычислительную нагрузку на редукцию данных и сравнение - ключевое преимущество для операции в реальном времени [1], [2].

Predictive Maintenance Toolbox™ реализует три ветви частотно-временного момента:

  • Условный спектральный момент - tfsmoment

  • Условный временной момент - tftmoment

  • Время-частотный момент в соединении - tfmoment

пример

momentS = tfsmoment(xt,order) возвращает условный спектральный момент timetable xt как timetable. The momentS переменные обеспечивают спектральные моменты для порядков, которые вы задаете в order. Данные в xt может быть неоднородно дискретизирован.

пример

momentS = tfsmoment(x,fs,order) возвращает условный спектральный момент вектора timeseries x, дискретизированный со скоростью Fs. Момент возвращается как матрица, в которой каждый столбец представляет спектральный момент, соответствующий каждому элементу в order. С помощью этого синтаксиса x должны быть равномерно отобраны.

пример

momentS = tfsmoment(x,ts,order) возвращает условный спектральный момент x дискретизация в моменты времени, заданные ts в секундах.

  • Если ts является скаляром duration, затем tfsmoment применяет его равномерно ко всем выборкам.

  • Если ts является вектором, тогда tfsmoment применяет каждый элемент к соответствующей выборке в x. Используйте этот синтаксис для неоднородной выборки.

пример

momentS = tfsmoment(p,fp,tp,order) возвращает условный спектральный момент сигнала, спектрограмма степени которого p. fp содержит частоты, соответствующие спектральной оценке, содержащейся в p. tp содержит вектор моментов времени, соответствующих центрам оконных сегментов, используемых для вычисления краткосрочных оценок спектральной степени. Используйте этот синтаксис, когда:

  • У вас уже есть спектр степени или спектрограмма, которую вы хотите использовать.

  • Вы хотите настроить опции для pspectrum, а не принимать значение по умолчанию pspectrum опции, которые tfsmoment применяется. Использовать pspectrum сначала с нужными опциями, а затем используйте выход p как вход для tfsmoment. Этот подход также позволяет вам построить график спектрограммы степени.

пример

momentS = tfsmoment(___,Name,Value) задает дополнительные свойства, используя аргументы пары "имя-значение". Опции включают централизацию момента и спецификацию ограничения частоты.

Можно использовать Name,Value с любыми комбинациями входных аргументов в предыдущих синтаксисах.

пример

[momentS,t] = tfsmoment(___) возвращает временной вектор t.

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

пример

tfsmoment(___) без выходных аргументов строит графики условного спектрального момента. График оси X является временем, а график оси Y является соответствующим спектральным моментом.

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

Примеры

свернуть все

Постройте график условного спектрального момента ( отклонения) второго порядка временных рядов с помощью подхода только для построения графика и подхода данных возврата. Визуализируйте момент по-разному путем построения гистограммы. Сравните моменты для данных, возникающих из-за неисправных и здоровых условий машины.

Этот пример адаптирован из Подшипника качения Fault Diagnosis, которая обеспечивает более комплексное лечение источников данных и истории.

Загрузите данные, которые содержат измерения вибрации для двух условий. x_inner1 и sr_inner1 содержат вектор данных и частоту дискретизации для неисправного условия. x_baseline и sr_baseline содержат вектор данных и частоту дискретизации для исправного условия.

load tfmoment_data.mat x_inner1 sr_inner1 x_baseline1 sr_baseline1

Исследуйте данные о дефектном состоянии. Создайте временной вектор из частоты дискретизации и постройте график данных. Затем увеличьте изображение до сечения 0,1 с, чтобы поведение было более четким.

t_inner1 = (0:length(x_inner1)-1)/sr_inner1; % Construct time vector of [0 1/sr 2/sr ...] matching dimension of x
figure
plot(t_inner1,x_inner1) 
title ('Inner1 Signal')
hold on
xlim([0 0.1]) % Zoom in to an 0.1 s section
hold off

Figure contains an axes. The axes with title Inner1 Signal contains an object of type line.

График показывает периодические импульсные изменения в измерениях ускорения с течением времени.

Постройте график второго спектрального момента (order= 2), использование tfsmoment синтаксис без выходные аргументы.

order = 2;
figure
tfsmoment(x_inner1,t_inner1,order)
title('Second Spectral Moment of Inner1')

Figure contains an axes. The axes with title Second Spectral Moment of Inner1 contains an object of type line.

График иллюстрирует изменения в отклонении x_inner1 спектр с течением времени. Вы ограничены этой визуализацией (момент от времени), потому что tfsmoment данные не возвращены. Теперь используйте tfmoment снова, чтобы вычислить второй спектральный момент, на этот раз используя синтаксис, который возвращает и значения момента, и связанные временные векторы. Вы можете использовать частоту дискретизации непосредственно в синтаксисе (sr_inner1), а не временной вектор, который вы создали (t_inner1).

[momentS_inner1,t1_inner1] = tfsmoment(x_inner1,sr_inner1,order);

Теперь можно построить график времени от момента до времени, как вы делали это раньше, используя moment_inner1 и t1_inner1, с тем же результатом, что и ранее. Но можно также выполнить дополнительный анализ и визуализацию вектора момента, так как tfsmoment возвращены данные. Гистограмма может предоставить краткую информацию о характеристиках сигнала.

figure
histogram(momentS_inner1)
title('Second Spectral Moment of Inner1')

Figure contains an axes. The axes with title Second Spectral Moment of Inner1 contains an object of type histogram.

Самостоятельно гистограмма не обнаруживает очевидной информации о сбое. Тем не менее, вы можете сравнить его с гистограммой, полученной по данным о здоровом состоянии.

Во-первых, сравните внутренние и базовые временные ряды непосредственно с помощью одной и той же векторной конструкции для baseline1 данные, как и ранее для inner1 данные.

t_baseline1 = (0:length(x_baseline1)-1)/sr_baseline1;

figure
plot(t_inner1,x_inner1)
hold on
plot(t_baseline1,x_baseline1)
hold off
legend('Faulty Condition','Healthy Condition')
title('Vibration versus Time for Faulty and Healthy Conditions')

Figure contains an axes. The axes with title Vibration versus Time for Faulty and Healthy Conditions contains 2 objects of type line. These objects represent Faulty Condition, Healthy Condition.

Вычислите второй спектральный момент baseline1 данные. Сравните baseline1 и inner1 временные истории.

[momentS_baseline1,t1_baseline1] = tfsmoment(x_baseline1,sr_baseline1,2);

figure
plot(t1_inner1,momentS_inner1)
hold on
plot(t1_baseline1,momentS_baseline1)
hold off
legend('Faulty Condition','Healthy Condition')
title('Second Spectral Moment versus Time for Faulty and Healthy Conditions')

Figure contains an axes. The axes with title Second Spectral Moment versus Time for Faulty and Healthy Conditions contains 2 objects of type line. These objects represent Faulty Condition, Healthy Condition.

График момента показывает поведение, отличное от предыдущего графика вибрации. Данные о вибрации для неисправного случая намного шумнее с более значительными скачками, чем для здорового случая, хотя оба, по-видимому, являются нулевыми средними. Однако спектральное отклонение (второй спектральный момент) для неисправного случая значительно ниже. Момент неисправного случая все еще шумнее здорового случая.

Постройте график гистограмм.

figure
histogram(momentS_inner1);
hold on
histogram(momentS_baseline1);
hold off
legend('Faulty Condition','Healthy Condition')
title('Second Spectral Moment for Faulty and Healthy Conditions')

Figure contains an axes. The axes with title Second Spectral Moment for Faulty and Healthy Conditions contains 2 objects of type histogram. These objects represent Faulty Condition, Healthy Condition.

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

Определите первые четыре условных спектральных момента набора данных timeseries и извлечите моменты, которые вы хотите визуализировать с помощью гистограммы.

Загрузите данные, которые содержат измерения вибрации (x_inner1) и частоту дискретизации (sr_inner1) для машинного оборудования. Затем используйте tfsmoment для вычисления первых четырех моментов. Эти моменты представляют статистические величины: 1) Среднее; 2) отклонение; 3) Шампунь; и 4) куртоз.

Можно задать обозначения моментов как вектор в order аргумент.

load tfmoment_data.mat x_inner1 sr_inner1
momentS_inner1 = tfsmoment(x_inner1,sr_inner1,[1 2 3 4]);

Сравните размерности входного вектора и выходной матрицы.

xsize = size(x_inner1)
xsize = 1×2

      146484           1

msize = size(momentS_inner1)
msize = 1×2

   524     4

Вектор данных x_inner значительно длиннее векторов в матрице моментов momentS_inner1 because the spectrogram computation produces optimally-sized lower-resolution time windows. In this case, tfsmoment возвращает матрицу моментов, содержащую четыре столбца, по одному столбцу для каждого порядка моментов.

Постройте гистограммы для третьего (перекос) и четвертого (куртоз) моментов. Третий и четвертый столбцы momentS_inner1 обеспечить эти.

momentS_3 = momentS_inner1(:,3);
momentS_4 = momentS_inner1(:,4);
figure
histogram(momentS_3)
title('Third Spectral Moment (Skewness) of x inner1')

Figure contains an axes. The axes with title Third Spectral Moment (Skewness) of x inner1 contains an object of type histogram.

figure
histogram(momentS_4)
title('Fourth Spectral Moment (Kurtosis) of x inner1')

Figure contains an axes. The axes with title Fourth Spectral Moment (Kurtosis) of x inner1 contains an object of type histogram.

Графики похожи, но каждый имеет некоторые уникальные характеристики относительно количества интервалов и крутизны наклона.

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

Введите спектрограмму степени, которая была сгенерирована с настроенными опциями. Сравните полученную гистограмму спектрального момента с той, которая tfsmoment генерирует используя свою pspectrum опции по умолчанию.

Загрузите данные, который включает два спектра степени и связанные с ними частотный и временные векторы.

The p_inner1_def спектр был создан с использованием pspectrum по умолчанию опции. Это эквивалентно тому, что tfsmoment вычисляет внутренне, когда спектр входа не предусмотрен в синтаксисе.

The p_inner1_MinThr спектр был создан с использованием MinThreshold pspectrum опция. Эта опция устанавливает нижнюю границу ненулевых значений, чтобы отобразить шум низкого уровня. В данном примере порог был установлен, чтобы отобразить шум ниже уровня 0,5%.

load tfmoment_data.mat p_inner1_def f_p_def t_p_def ...
    p_inner1_MinThr f_p_MinThr t_p_MinThr
load tfmoment_data.mat x_inner1 x_baseline1

Определите вторые спектральные моменты ( отклонение) для обоих случаев.

moment_p_def = tfsmoment(p_inner1_def,f_p_def,t_p_def,2);
moment_p_MinThr = tfsmoment(p_inner1_MinThr,f_p_MinThr,t_p_MinThr,2);

Постройте график гистограмм вместе.

figure
histogram(moment_p_def);
hold on
histogram(moment_p_MinThr);
hold off
legend('Moment from Default P','Moment from Customized P')
title('Second Spectral Moment for Inner1 from Input Spectrograms')

Figure contains an axes. The axes with title Second Spectral Moment for Inner1 from Input Spectrograms contains 2 objects of type histogram. These objects represent Moment from Default P, Moment from Customized P.

Гистограммы имеют тот же полный разброс, но гистограмма порогового момента имеет более высокий пиковый интервал на более низком уровне величины момента, чем момент по умолчанию. Этот пример предназначен только для рисунка, но показывает влияние, которое может иметь предварительная обработка на этапе расчета спектра.

По умолчанию tfsmoment централизует момент как часть его вычисления. То есть он вычитает среднее значение данных датчика (которое является первым моментом) из данных датчика как часть Условных спектральных моментов. Если вы хотите сохранить смещение, можно задать входной параметр Centralize для f alse.

Загрузите данные, которые содержат измерения вибрации x и скорость дискретизации sr для машинного оборудования. Вычислим 2-й момент (order = 2) как с централизацией (по умолчанию), так и без централизации (Centralize = false). Постройте график гистограмм вместе.

load tfmoment_data.mat x_inner1 sr_inner1
momentS_centr = tfsmoment(x_inner1,sr_inner1,2);
momentS_nocentr = tfsmoment(x_inner1,sr_inner1,2,'Centralize',false);

figure
histogram(momentS_centr)
hold on
histogram(momentS_nocentr);
hold off
legend('Centralized','Noncentralized')
title('Second Spectral Moment of x inner1 With and Without Centralization')

Figure contains an axes. The axes with title Second Spectral Moment of x inner1 With and Without Centralization contains 2 objects of type histogram. These objects represent Centralized, Noncentralized.

Нецентрализованное распределение смещено вправо.

Измерения в реальном мире часто упаковываются как часть таблицы с отметкой времени, которая регистрирует фактическое время и показания, а не относительное время. Можно использовать timetable формат для захвата этих данных. Этот пример показывает, как tfsmoment работает со timetable входы, в отличие от входов вектора данных, используемых для другого tfsmoment примеры, такие как Plot the Conditional Spectral Moment of a Временные Ряды Vector.

Загрузите данные, которые состоят из одной timetable xt_inner1 содержащее показания измерений и информацию о времени для куска машины. Исследуйте свойства timetable.

load tfmoment_tdata.mat xt_inner1;
xt_inner1.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'x_inner1'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [146484x1 duration]
               StartTime: 0 sec
              SampleRate: 4.8828e+04
                TimeStep: 2.048e-05 sec
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

Эта таблица состоит из размерностей Time и Variables, где единственная переменная x_inner1.

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

order = [2 4];
momentS_xt_inner1 = tfsmoment(xt_inner1,order);
momentS_xt_inner1.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'CentralSpectralMoment2'  'CentralSpectralMoment4'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [524x1 duration]
               StartTime: 0.011725 sec
              SampleRate: 175.6403
                TimeStep: 0.0056935 sec
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

Возвращенный timetable представляет моменты в переменной 'CentralSpectralMoment2'и' CentralSpectralMoment4', предоставляя информацию не только о том, какой конкретный момент был вычислен, но и о том, был ли он централизован.

Вы можете получить доступ к информации о времени и моменте непосредственно из timetable свойства. Вычислите второй и четвертый моменты. Постройте четвертый момент.

tt_inner1 = momentS_xt_inner1.Time;
momentS_inner1_2 = momentS_xt_inner1.CentralSpectralMoment2;
momentS_inner1_4 = momentS_xt_inner1.CentralSpectralMoment4;

figure
plot(tt_inner1,momentS_inner1_4)
title('Fourth Spectral Moment of Timetable Data')

Figure contains an axes. The axes with title Fourth Spectral Moment of Timetable Data contains an object of type line.

Как показано на графике Условный спектральный момент вектора временных рядов, гистограмма является очень полезной визуализацией для данных момента. Постройте график гистограммы, непосредственно ссылаясь на CentralSpectralMoment2 свойство переменной.

figure
histogram(momentS_xt_inner1.CentralSpectralMoment2)
title('Second Spectral Moment of xt inner1 Timetable')

Figure contains an axes. The axes with title Second Spectral Moment of xt inner1 Timetable contains an object of type histogram.

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

свернуть все

Расписание сигнала, для которого tfsmoment возвращает моменты, заданные как timetable которая содержит одну переменную с одним столбцом. xt должно содержать увеличивающуюся, конечную строку раз. Если расписание имеет отсутствующие или повторяющиеся точки времени, можно исправить его с помощью советов в разделе «Чистое расписание с пропущенными, повторяющимися или неоднородными временами». xt может быть неоднородно дискретизирован, с pspectrum ограничение, которому должны подчиняться медиана временного интервала и средний временной интервал.

1100<  Медиана временного интервалаСредний временной интервал<100.

Например, входной вход timetable, см., Найти условные спектральные моменты измерений данных в Timetable

Момент порядков для возврата, указанный как одно из следующего:

  • Целое число - Вычислите один момент

  • Вектор - Вычисление нескольких моментов сразу.

Пример: momentS = tfsmoment(x,2) задает спектральный момент ( отклонение) второго порядка частотно-временного распределения x.

Пример: momentS = tfsmoment(x,[1 2 3 4]) задает первые четыре порядков моментов частотно-временного распределения x.

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

  1. Средний

  2. Отклонение

  3. Перекос (степень асимметрии относительно среднего)

  4. Куртоз (длина выбросов хвостов в распределении - нормальное распределение имеет куртоз 3)

Для примеров смотрите:

Timeseries, от которого tfsmoment возвращает моменты, заданные как вектор.

Для примера входного сигнала timeseries см., Постройте график условного спектрального момента вектора временных рядов

Частота дискретизации x, заданный как положительная скалярная величина в герце при x равномерно дискретизируется.

Выборочные значения, заданные как одно из следующих:

  • duration скаляр - временной интервал между последовательными выборками X.

  • Вектор, duration массив, или datetime массив - момент времени или длительность, соответствующая каждому элементу x.

ts может быть неоднородным, с pspectrum ограничение, которому должны подчиняться медиана временного интервала и средний временной интервал:

1100<  Медиана временного интервалаСредний временной интервал<100.

Степень спектрограмма или спектр сигнала, заданный в виде матрицы (спектрограмма) или вектор-столбец (спектр). p содержит оценку краткосрочного, локализованного во времени спектра степени сигнала timeseries. Если вы задаете p, tfsmoment использует p вместо того, чтобы генерировать свою собственную спектрограмму степени. Для получения примера смотрите Использование настроенной Степени спектрограммы для вычисления условного спектрального момента.

Частоты для степени спектрограмм или p спектра когда p передается явным образом в tfsmoment, заданный как вектор в hertz. Длина fp должно быть равно количеству строк в p.

Информация о времени для степени спектрограммы или p спектра когда p передается явным образом в tfsmoment, указанный как одно из следующего:

  • Вектор временных точек, тип данных которого может быть числовым, duration, или datetime. Длина вектора tp должно быть равно количеству столбцов в p.

  • duration скаляр, который представляет временной интервал в p. Скалярная форма tp может использоваться только тогда, когда p - матрица спектрограмм степени.

  • Для специального случая, где p - вектор-столбец (степень), tp может быть числом, duration, или datetime скаляр, представляющий временную точку спектра.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'Centralize',false,'FrequencyLimits',[10 100] вычисляет некцентрализованный условный спектральный момент для фрагмента сигнала в диапазоне от 10 Гц до 100 Гц.

Опция централизации момента, заданная как разделенная разделенными запятой парами, состоящая из 'Centralize' и логический.

  • Если Centralize является true, затем tfsmoment возвращает централизованный условный момент путем вычитания условного среднего (который является первым моментом) в расчете.

  • Если Centralize является false, затем tfsmoment возвращает нецентрализованный момент, сохраняя любое смещение данных.

Для получения примера смотрите Вычисление Условного Спектрального Момента, который не Централизован.

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

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

свернуть все

Условный спектральный момент, возвращенный как timetable или матрицу.

Время момента вычисляется в секундах. t Результаты из окна времени, которое вычисляет внутренняя спектрограмма расчета. Окна спектрограммы требуют меньшего разрешения времени, чем исходный вектор выборки. Поэтому возвращенный t вектор компактнее, чем векторы входных данных, как есть momentS. Если информация о времени была предоставлена частотой дискретизации или шагом расчета, t начинается из центра первого временного окна. Если информация о времени была предоставлена в duration или datetime формат, t сохраняет смещение в начальном времени.

Подробнее о

свернуть все

Условные спектральные моменты

Условные спектральные моменты нестационарного сигнала содержат набор изменяющихся во времени параметров, которые характеризуют спектр сигнала по мере его развития во времени. Они связаны с условными временными моментами и совместными частотно-временными моментами. Условный спектральный момент является интегральной функцией частоты, заданного времени и предельного распределения. Условный временной момент является интегральной функцией времени, заданной частоты и маргинального распределения. Вычисление времени-частотного момента в соединении является двойным интегралом, который изменяется и во времени, и в частоте [1], [2].

Каждый момент связан с определенным порядком, причем первые четыре порядка являются статистическими свойствами 1) среднего значения, 2) отклонения, 3) перекоса и 4) куртоза.

tfsmoment вычисляет условные спектральные моменты частотно-временного распределения для сигнала x, для порядков, указанной в order. Функция выполняет следующие шаги:

  1. Вычислите спектрограмму степени спектр, P (t, f) вход с помощью pspectrum функция и использует ее как частотно-временное распределение. Если используемый синтаксис предоставляет существующее P (t, f), тоtfsmoment вместо этого использует это.

  2. Оцените условный спектральный момент ωmt сигнала, использующего, для нецентрализованного случая:

    ωmt=1P(t)ωmP(t,ω)dω,

    где m - порядок, а P (t) - предельное распределение.

    Для централизованного условного спектрального момента μωm(t), функция использует

    μωm(t)=1P(t)(ωω1t)mP(t,ω)dω.

Ссылки

[1] Loughlin, P. J. «Каковы частотно-временные моменты сигнала?» Расширенные алгоритмы обработки сигналов, архитектуры и реализации XI, процедуры SPIE. Том 4474, ноябрь 2001 года.

[2] Loughlin, P., F. Cakrak, and L. Cohen. «Анализ условного момента переходных процессов с применением данных о неисправности вертолета». Механические системы и обработка сигналов. Том 14, Выпуск 4, 2000, стр. 511-522.

См. также

| |

Введенный в R2018a