wsst

Синхронизированное преобразование Вейвлета

Описание

пример

sst = wsst(x) возвращает вейвлет синхронизации преобразования, sst, который вы используете, чтобы исследовать данные в частотно-временной плоскости. Синхронизированное преобразование имеет уменьшенное намазывание энергии по сравнению с непрерывным вейвлет. Вход, x, должен быть 1-D реальным сигналом с по крайней мере четырьмя выборками. wsst вычисляет синхронизированное преобразование с помощью аналитического вейвлета Морле.

пример

[sst,f] = wsst(x) возвращает вектор частот, f, в циклах на выборку. Частоты соответствуют строкам sst.

пример

[___] = wsst(x,fs) вычисляет синхронизированное преобразование с использованием заданной частоты дискретизации, fs, в Гц, для вычисления синхросканированного преобразования. Если вы задаете f выход, wsst возвращает частоты в Гц. Можно использовать любую предыдущую комбинацию выхода значений.

пример

[___] = wsst(x,ts) использует duration ts с положительным, скалярным входом, в качестве интервала дискретизации. Размер длительности может быть в годах, днях, часах, минутах или секундах. Если вы задаете ts и f выход, wsst возвращает частоты в f в циклах на модуль время, где временный модуль определяется заданной длительностью.

пример

[___] = wsst(___,wav) использует аналитический вейвлет, заданный как wav для вычисления синхронизированного преобразования. Допустимые значения 'amor' и 'bump', которые задают аналитические Morlet и bump wavelet, соответственно.

wsst(___) без выходных аргументов строит графики синхронизируемого преобразования как функции времени и частоты. Если вы не задаете частоту дискретизации, fs, или интервал, tsСинхронизированное преобразование строится циклами на выборку. Если вы задаете частоту дискретизации, синхронизированное преобразование строится на Гц. Если вы задаете интервал дискретизации, используя длительность, график состоит из циклов в единицу времени. Временные модули получают из длительности.

[___] = wsst(___,Name,Value) возвращает синхронизированное преобразование с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

Примеры

свернуть все

Получите вейвлет преобразование речевой выборки с использованием значений по умолчанию.

load mtlb;
sst = wsst(mtlb);

Получите вейвлет преобразование речевого сигнала и сравните исходные и восстановленные сигналы.

Загрузите речевой сигнал и получите его синхронизированное преобразование.

load mtlb
soundsc(mtlb,Fs)
dt = 1/Fs;
t = 0:dt:numel(mtlb)*dt-dt;
[sst,f] = wsst(mtlb,Fs);

Постройте график синхронизации преобразования.

pcolor(t,f,abs(sst))
shading interp
xlabel('Seconds')
ylabel('Frequency (Hz)')
title('Synchrosqueezed Transform')

Получите обратное синхронизированное преобразование и воспроизведите восстановленный речевой сигнал.

xrec = iwsst(sst);
soundsc(xrec,Fs)

Получите и постройте график вейвлета синхронизированного преобразования квадратичного щебета. Щебет отбирают при частоте 1000 Гц.

load quadchirp;
[sst,f] = wsst(quadchirp,1000);
hp = pcolor(tquad,f,abs(sst));
hp.EdgeColor = 'none';
title('Wavelet Synchrosqueezed Transform');
xlabel('Time'); ylabel('Hz');

Figure contains an axes. The axes with title Wavelet Synchrosqueezed Transform contains an object of type surface.

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

load sunspot
wsst(sunspot(:,2),years(1))

Figure contains an axes. The axes with title Wavelet Synchrosqueezed Transform contains an object of type surface.

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

load sunspot
wsst(sunspot(:,2),years(1),'bump')

Figure contains an axes. The axes with title Wavelet Synchrosqueezed Transform contains an object of type surface.

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

свернуть все

Входной сигнал, заданный как строка или вектор-столбец. x должен быть 1-D, реальным сигналом с по крайней мере четырьмя выборками.

Частота дискретизации, заданная как положительная скалярная величина.

Интервал дискретизации, также известный как период дискретизации, задается как duration с положительным скалярным входом. Допустимые длительности: years, days, hours, seconds, и minutes. Вы не можете использовать календарные длительности (caldays, calweeks, calmonths, calquarters, или calyears). Вы не можете задать оба ts и fs.

Пример: sst = wsst(x,hours(12))

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

  • 'amor' - Аналитический Морлет вейвлет

  • 'bump' - Bump wavelet

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

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

Пример: 'VoicesPerOctave',26

Количество голосов на октаву, используемое в синхронизированном преобразовании, заданное как разделенная разделенными запятой парами, состоящая из 'VoicesPerOctave' и четное целое число от 10 до 48. Продуктом количества голосов на октаву и количества октав является количество шкал. Количество октав зависит от размера входа x и является floor(log2(numel(x)))-1.

Опция расширения входного сигнала симметрично, заданная как разделенная разделенными запятой парами, состоящая из 'ExtendSignal' и любой из них false или true. Расширение сигнала симметрично может уменьшить граничные эффекты. Если вы задаете false, тогда сигнал не расширяется. Если вы задаете true, затем сигнал расширяется.

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

свернуть все

Синхронизированное преобразование, возвращенное как матрица. По умолчанию синхронизированное преобразование использует floor(log2(numel(x)))-1 октавы, 32 голоса на октаву и аналитический вейвлет Морлета. sst - матрица Na -by N, где Na - количество шкал, а N - количество выборок в x. Количество шкал по умолчанию 32*(floor(log2(numel(x)))-1).

Частоты синхронизируемого преобразования, возвращенные как вектор. Частоты соответствуют строкам sst. Если вы не задаете fs или ts, частоты указаны в циклах на выборку. Если вы задаете fsчастоты указаны в Гц. Если вы задаете tsчастоты указаны в циклах в единицах времени. Длина вектора частоты совпадает с количеством sst строки. Если вы задаете ts в качестве интервала дискретизации, ts используется для вычисления преобразования масштаба в частоту для f.

Ссылки

[1] Daubechies, I., J. Lu, and H.-T. Ву. Synchrosqueezed wavelet transforms: a empirical mode decomposition-like tool (неопр.) (недоступный инструмент). Прикладной и вычислительный гармонический анализ. Том 30, № 2, 2011, стр. 243-261.

[2] Thakur, G., E. Brevdo, N. S. Фучкар, и Х.-Т. Ву. Алгоритм Synchrosqueezing для изменяющегося во времени спектрального анализа: свойства робастности и новые приложения палеоклиматов. Обработка сигналов. Том 93, № 5, 2013, стр. 1079-1094.

Введенный в R2016a