exponenta event banner

pentropy

Спектральная энтропия сигнала

Описание

пример

se = pentropy(xt) возвращает спектральную энтропию одной переменной, один столбец timetable xt в качестве timetable se. pentropy вычисляет спектрограмму xt с использованием опций по умолчанию pspectrum.

пример

se = pentropy(x,sampx) возвращает спектральную энтропию вектора x, выборка на скорости или временном интервале sampx, как вектор.

пример

se = pentropy(p,fp,tp) возвращает спектральную энтропию с помощью спектрограммы мощности p, наряду с частотными и временными векторами спектрограммы fp и tp.

Этот синтаксис используется при необходимости настройки параметров pspectrum, вместо принятия значения по умолчанию pspectrum варианты, которые pentropy применяется.

пример

se = pentropy(___,Name,Value) задает дополнительные свойства, используя аргументы пары имя-значение. Опции включают мгновенную энтропию или энтропию всего сигнала, масштабирование по энтропии белого шума, пределы частоты и временные пределы. Вы можете использовать Name,Value с любым из входных аргументов в предыдущих синтаксисах.

пример

[se,t] = pentropy(___) возвращает спектральную энтропию se вместе с вектором времени или timetable t. Если se является timetable, то t равно времени строки timetable se. Этот синтаксис не применяется, если Instantaneous имеет значение false.

pentropy(___) без выходных аргументов строит график спектральной энтропии по времени. Если Instantaneous имеет значение falseфункция выводит скалярное значение спектральной энтропии.

Примеры

свернуть все

Постройте график спектральной энтропии сигнала, выраженного как расписание и как временной ряд.

Создание случайной последовательности с нормальным распределением (белый шум).

xn = randn(1000,1);

Создание вектора времени t и преобразовать в duration вектор tdur. Объединиться tdur и xn в расписании.

fs = 10;
ts = 1/fs;
t = 0.1:ts:100;
tdur = seconds(t);
xt = timetable(tdur',xn);

Постройте график спектральной энтропии расписания xt.

pentropy(xt)
title('Spectral Entropy of White Noise Signal Timetable')

Figure contains an axes. The axes with title Spectral Entropy of White Noise Signal Timetable contains an object of type line.

Постройте график спектральной энтропии сигнала с использованием вектора временной точки t и форма, которая возвращает se и соответствующее время te. Сопоставьте единицы измерения оси X и сетку с pentropy- сгенерированные графики для сравнения.

[se,te] = pentropy(xn,t');
te_min = te/60;
plot(te_min,se)
title('Spectral Entropy of White Noise Signal Vector')
xlabel('Time (mins)')
ylabel('Spectral Entropy')
grid on

Figure contains an axes. The axes with title Spectral Entropy of White Noise Signal Vector contains an object of type line.

Оба дают одинаковый результат.

Второй входной аргумент для pentropy может представлять частоту или время. Программное обеспечение интерпретирует в соответствии с типом данных аргумента. Постройте график спектральной энтропии сигнала, используя скаляр частоты дискретизации fs вместо вектора времени t.

pentropy(xn,fs)
title('Spectral Entropy of White Noise Signal Vector using Sample Rate')

Figure contains an axes. The axes with title Spectral Entropy of White Noise Signal Vector using Sample Rate contains an object of type line.

Этот график совпадает с предыдущими графиками.

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

Загрузите данные, x, которая содержит двухканальную запись слова «Hello», встроенного низкоуровневым белым шумом. x состоит из двух столбцов, представляющих два канала. Используйте только первый канал.

Определите частоту дискретизации и временной вектор. Увеличить первый канал x с белым шумом для достижения отношения сигнал/шум около 5 к 1.

load Hello x
fs = 44100;
t = 1/fs*(0:length(x)-1);
x1 = x(:,1) + 0.01*randn(length(x),1);

Найдите спектральную энтропию. Визуализация данных для исходного сигнала и для спектральной энтропии.

[se,te] = pentropy(x1,fs);

subplot(2,1,1)
plot(t,x1)
ylabel('Speech Signal')
xlabel('Time')

subplot(2,1,2)
plot(te,se)
ylabel('Spectral Entropy')
xlabel('Time')

Спектральная энтропия падает при произнесении слова «Hello». Это происходит потому, что спектр сигнала изменился с почти постоянной (белый шум) на распределение человеческого голоса. Распределение человеческого голоса содержит больше информации и имеет более низкую спектральную энтропию.

Вычислите спектрограмму мощности p исходного сигнала, возвращающего частотный вектор fp и вектор времени tp также. Для этого случая определение частотного разрешения 20 Гц обеспечивает приемлемую ясность результата.

[p,fp,tp] = pspectrum(x1,fs,'FrequencyResolution',20,'spectrogram');

Частотный вектор спектрограммы мощности достигает 22 050 Гц, но диапазон интересов в отношении речи ограничен полосой частот телефонии 300-3400 Гц. Разделите данные на пять частотных ячеек путем определения начальной и конечной точек и вычислите спектральную энтропию для каждого ячейки.

flow = [300 628 1064 1634 2394];
fup = [627 1060 1633 2393 3400];
 
se2 = zeros(length(flow),size(p,2));
for i = 1:length(flow)
    se2(i,:) = pentropy(p,fp,tp,'FrequencyLimits',[flow(i) fup(i)]);
end

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

subplot(2,1,1)
plot(t,x1)
xlabel('Time (seconds)')
ylabel('Speech Signal')

subplot(2,1,2)
imagesc(tp,[],flip(se2))    % Flip se2 so its plot corresponds to the ascending frequency bins.
h = colorbar(gca,'NorthOutside');
ylabel(h,'Spectral Entropy')
yticks(1:5)
set(gca,'YTickLabel',num2str((5:-1:1).')) % Label the ticks for the ascending bins.
xlabel('Time (seconds)')
ylabel('Frequency Bin')

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type image.

Создайте сигнал, объединяющий белый шум с сегментом, состоящим из синусоидальной волны. Используйте спектральную энтропию для обнаружения существования и положения синусоидальной волны.

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

fs = 100;
t = 0:1/fs:10;
sin_wave = 2*sin(2*pi*20*t')+randn(length(t),1);
x = [randn(1000,1);sin_wave;randn(1000,1)];
t3 = 0:1/fs:30;

plot(t3,x)
title('Sine Wave in White Noise')

Figure contains an axes. The axes with title Sine Wave in White Noise contains an object of type line.

Постройте график спектральной энтропии.

pentropy(x,fs)
title('Spectral Entropy of Sine Wave in White Noise')

Figure contains an axes. The axes with title Spectral Entropy of Sine Wave in White Noise contains an object of type line.

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

Значение по умолчанию для pentropy возвращает или строит график мгновенной спектральной энтропии для каждой временной точки, как показано на предыдущем графике. Можно также разбить информацию спектральной энтропии на одно число, представляющее весь сигнал, путем установки 'Instantaneous' кому false. Используйте форму, которая возвращает значение спектральной энтропии, если требуется непосредственно использовать результат в других вычислениях. В противном случае pentropy возвращает спектральную энтропию в ans.

se = pentropy(x,fs,'Instantaneous',false)
se = 0.9035

Единственное число характеризует спектральную энтропию и, следовательно, информационное содержание сигнала. Это число можно использовать для эффективного сравнения этого сигнала с другими сигналами.

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

свернуть все

Расписание сигналов, из которого pentropy возвращает спектральную энтропию se, указано как timetable содержит одну переменную с одним столбцом. xt должно содержать увеличивающееся конечное время строки. Если xt timetable имеет отсутствующие или повторяющиеся моменты времени, их можно исправить с помощью подсказок в Чистом расписании с отсутствующими, повторяющимися или неуниформными временами. xt может быть неравномерно дискретизирован, с pspectrum ограничение, что медианный временной интервал и средний временной интервал должны подчиняться:

1100 < Среднее время  intervalСредний интервал времени < 100.

Пример см. в разделе График спектральной энтропии сигнала.

Сигнал временного ряда, от которого pentropy возвращает спектральную энтропию se, указан как вектор.

Частота выборки или время выборки, указанное как одно из следующих значений:

  • Положительный числовой скаляр - частота выборки в герцах

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

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

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

1100 < Среднее время  intervalСредний интервал времени < 100.

Пример см. в разделе График спектральной энтропии сигнала.

Спектрограмма мощности или спектр сигнала, определяемый как матрица (спектрограмма) или вектор-столбец (спектр). При указании p, то pentropy использование p вместо того, чтобы генерировать собственную спектрограмму или энергетическую спектрограмму. fp и tp, которые предоставляют информацию о частоте и времени, должны сопровождать p. Каждый элемент p в i-м ряду и j-м столбце представлена мощность сигнала на частотном блоке, центрированном в fp(i) и временной экземпляр tp(j).

Пример см. в разделе График спектральной энтропии речевого сигнала.

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

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

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

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

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

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

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

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

Пример: 'Instantaneous',false,'FrequencyLimits',[25 50] вычисляет скалярную спектральную энтропию, представляющую часть сигнала в диапазоне от 25 Гц до 50 Гц.

Параметр мгновенного временного ряда, заданный как разделенная запятыми пара, состоящая из 'Instantaneous' и логический.

  • Если Instantaneous является true, то pentropy возвращает мгновенную спектральную энтропию в виде вектора временного ряда.

  • Если Instantaneous является false, то pentropy возвращает значение спектральной энтропии всего сигнала или спектра в виде скаляра.

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

Опция Масштабировать по белому шуму, заданная как разделенная запятыми пара, состоящая из 'Scaled' и логический. Масштабирование по белому шуму - или log2n, где n - количество частотных точек - эквивалентно нормализации в спектральной энтропии. Позволяет выполнять прямое сравнение по сигналам разной длины.

  • Если Scaled является true, то pentropy возвращает спектральную энтропию, масштабированную спектральной энтропией соответствующего белого шума.

  • Если Scaled является false, то pentropy не масштабирует спектральную энтропию.

Пределы частоты для использования, указанные как пара, разделенная запятыми, состоящая из 'FrequencyLimits' и двухэлементный вектор, содержащий нижнюю и верхнюю границы f1 и f2 в герцах. Значение по умолчанию - [0 sampfreq/ 2], гдеsampfreq - частота выборки в герцах, которая pentropy извлекает из sampx.

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

Пример см. в разделе График спектральной энтропии речевого сигнала.

Временные пределы, указанные как разделенная запятыми пара, состоящая из 'TimeLimits' и двухэлементный вектор, содержащий нижние и верхние границы t1 и t2 в тех же единицах, что и время выборки, предоставленное в sampxи типов данных:

  • Числовые или duration когда sampx числовое значение или длительность

  • Числовой, duration, или datetime когда sampx является datetime

Эта спецификация позволяет извлекать временной сегмент данных из полного временного интервала.

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

свернуть все

Спектральная энтропия, возвращенная как timetable если входной сигнал timetable xtи в виде двойного вектора, если входной сигнал является временным рядом x.

Значения времени, связанные с se, возвращенное в той же форме, что и время в se. Этот аргумент не применяется, если Instantaneous имеет значение false.

Пример см. в разделе График спектральной энтропии сигнала.

Подробнее

свернуть все

Спектральная энтропия

Спектральная энтропия (SE) сигнала является мерой его спектрального распределения мощности. Концепция основана на энтропии Шеннона, или информационной энтропии, в теории информации. SE рассматривает нормализованное распределение мощности сигнала в частотной области как распределение вероятности и вычисляет энтропию Шеннона для него. Энтропия Шеннона в этом контексте является спектральной энтропией сигнала. Это свойство может быть полезно для извлечения функций при обнаружении и диагностике неисправностей [2], [1]. SE также широко используется в качестве признака распознавания речи [3] и биомедицинской обработки сигналов [4].

Уравнения для спектральной энтропии возникают из уравнений для спектра мощности и распределения вероятности для сигнала. Для сигнала x (n) спектр мощности равен S (m) = | X (m) | 2, где X (m) - дискретное преобразование Фурье для x (n). Распределение вероятности P (m) тогда:

P (m) = S (m) ∑iS (i).

Спектральная энтропия H выглядит следующим образом:

H=−∑m=1NP (m) log2P (m).

Нормализация:

Hn=−∑m=1NP (m) log2P (m) log2N,

где N - суммарные частотные точки. Знаменатель, log2N представляет максимальную спектральную энтропию белого шума, равномерно распределенного в частотной области.

Если спектрограмма S (t, f) мощности временной частоты известна, то распределение вероятности становится следующим:

P (m) =∑tS (t, m) ∑f∑tS (t, f).

Спектральная энтропия по-прежнему:

H=−∑m=1NP (m) log2P (m).

Для вычисления мгновенной спектральной энтропии, заданной частотно-временной спектрограммой мощности S (t, f), распределение вероятности в момент времени t равно:

P (t, m) = S (t, m) ∑fS (t, f).

Тогда спектральная энтропия в момент времени t равна:

H (t) =−∑m=1NP (t, m) log2P (t, m).

Ссылки

[1] Пан, Ю. Н., Дж. Чен и X. Л. Ли. «Спектральная энтропия: дополнительный индекс для оценки ухудшения характеристик подшипников качения». Труды Института инженеров-механиков, часть C: Journal of Mechanical Engineering Science. Том 223, выпуск 5, 2009, стр. 1223-1231.

[2] Шарма, В. и А. Парей. «Обзор диагностики неисправности зубчатого колеса с использованием различных индикаторов состояния». Procedia Engineering. т. 144, 2016, стр. 253-263.

[3] Шен, J., Цз. Хун и Л. Ли. «Надежное обнаружение конечных точек на основе энтропии для распознавания речи в шумных средах». ICSLP. Том 98, ноябрь 1998 года.

[4] Ваккури, А., А. Yli‐Hankala, П. Талья, С. Мустола, Х. Tolvanen‐Laakso, Т. Сэмпсон и Х. Viertiö‐Oja. «Time‐Frequency уравновешенная спектральная энтропия как мера анестезирующего действия препарата в центральной нервной системе во время Sevoflurane, пропофола и анестезии тиопентала». Acta Anesthesiologica Scandinavica. Том 48, номер 2, 2004, стр. 145-153.

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

.

См. также

| |

Представлен в R2018a