wsst

Вейвлет synchrosqueezed преобразовывает

Синтаксис

sst = wsst(x)
[sst,f] = wsst(x)
[___] = wsst(x,fs)
[___] = wsst(x,ts)
[___] = wsst(___,wav)
wsst(___)
[___] = wsst(___,Name,Value)

Описание

пример

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

пример

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

пример

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

пример

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

пример

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

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

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

Примеры

свернуть все

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

load mtlb;
sst = wsst(mtlb);

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

Загрузите речь, сигнализируют и получают ее synchrosqueezed, преобразовывают.

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

График synchrosqueezed преобразовывает.

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

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

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

Получите и постройте вейвлет synchrosqueezed преобразование квадратичного щебета. Щебет выбирается на уровне 1 000 Гц.

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

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

load sunspot.dat;
wsst(sunspot(:,2),years(1))

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

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

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

свернуть все

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

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

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

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

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

  • 'amor' — Аналитический вейвлет Morlet

  • 'bump' — Ударьте вейвлет

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

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

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

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

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

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

свернуть все

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

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

Ссылки

[1] Daubechies, я., Дж. Лу и H.-T. Ву. "Вейвлет Synchrosqueezed преобразовывает: эмпирический режим подобный разложению инструмент". Примененный и Вычислительный Гармонический Анализ. Издание 30, Номер 2, 2011, стр 243–261.

[2] Thakur, G., Э. Бревдо, N. S. Fučkar и H.-T. Ву. "Алгоритм Synchrosqueezing для изменяющегося во времени спектрального анализа: свойства робастности и новые приложения палеоклимата". Обработка сигналов. Издание 93, Номер 5, 2013, стр 1079–1094.

Введенный в R2016a