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 isa 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 object. The axes object 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 object. The axes object 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 object. The axes object 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')

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

Вычислите спектрограмму степени 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 objects. Axes object 1 contains an object of type line. Axes object 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 object. The axes object 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 object. The axes object 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.9033

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

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

свернуть все

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

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

Для примера см. График Спектральная Энтропия Сигнала.

Timeseries сигнализирует от который pentropy возвращает спектральный энтропийный seВ виде вектора.

Частота дискретизации или шаг расчета в виде одного из следующего:

  • Положительный числовой скаляр — Частота дискретизации в герц

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

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

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

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

Для примера см. График Спектральная Энтропия Сигнала.

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

Для примера см. График Спектральная Энтропия Речевого Сигнала.

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

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

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

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

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

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

Аргументы name-value

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

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

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

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

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

Для примера смотрите Использование Спектральная Энтропия, чтобы Обнаружить Sine wave в Белом шуме.

Шкала опцией белого шума в виде разделенной запятой пары, состоящей из '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

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

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

свернуть все

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

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

Для примера см. График Спектральная Энтропия Сигнала.

Больше о

свернуть все

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

spectral entropy (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)ftS(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] Панорамирование, Y. N. Дж. Чен и Кс. Л. Ли. "Спектральная Энтропия: Дополнительный индекс для Оценки Ухудшения Эффективности Подшипника качения". Продолжения Учреждения Инженеров-механиков, Части C: Журнал Науки Машиностроения. Издание 223, Выпуск 5, 2009, стр 1223–1231.

[2] Шарма, V., и А. Пэри. "Анализ Диагностики отказа Механизма Используя Различные Индикаторы состояния". Procedia Engineering. Издание 144, 2016, стр 253–263.

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

[4] Vakkuri, A. A. Yli‐Hankala, П. Тэлджа, С. Мастола, H. Tolvanen‐Laakso, Т. Сэмпсон и H. Viertiö‐Oja. "Time‐Frequency Сбалансированная Спектральная Энтропия как Мера Анестезирующего Действия препарата в Центральной нервной системе во время Sevoflurane, Пропофола и Анестезии Тиопентала". Протоколы Anaesthesiologica Scandinavica. Издание 48, Номер 2, 2004, стр 145–153.

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

Смотрите также

| |

Введенный в R2018a