icwt

Обратное непрерывное 1-D вейвлет

Описание

пример

xrec = icwt(wt) инвертирует матрицу коэффициентов непрерывного вейвлет (CWT) wt использование значений по умолчанию. icwt принимает, что вы получили CWT используя cwt с аналитическим Морзе (3,60) вейвлет по умолчанию. Этот вейвлет имеет симметрию 3 и полосу времени 60. icwt также принимает, что CWT использует шкалы по умолчанию. Если wt является матрицей 2-D, icwt принимает, что CWT был получен из реального сигнала. Если wt является матрицей 3-D, icwt принимает, что CWT был получен из комплексного сигнала. Для матрицы 3-D - первая страница wt CWT положительного (против часовой стрелки) компонента и второй страницы wt - отрицательный (по часовой стрелке) компонент. Страницы представляют аналитическую и антианалитическую части CWT, соответственно.

пример

xrec = icwt(wt,wname) использует аналитическую вейвлет- wname для инвертирования CWT. Указанный вейвлет должен быть таким же, как и вейвлет, используемый в cwt. Допустимые опции для wname являются 'morse', 'amor', и 'bump', которые задают Морзе, Морлет и Бамп вейвлет, соответственно.

пример

xrec = icwt(wt,f,freqrange) инвертирует CWT в частотной области значений, указанном в freqrange. f - преобразование масштаба в частоту, полученное из cwt.

пример

xrec = icwt(wt,period,periodrange) инвертирует CWT в области значений периодов, заданных в periodrange. period - массив длительности, полученный из cwt с входным параметром длительности. The period является cwt выход, полученный с помощью duration вход. Область значений периодов должен увеличиваться и содержаться в period.

пример

xrec = icwt(___,Name,Value) возвращает обратный CWT с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

Примеры

свернуть все

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

load mtlb;
wt = cwt(mtlb);
xrec = icwt(wt);

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

load mtlb
dt = 1/Fs;
t = 0:dt:numel(mtlb)*dt-dt;

Получите CWT.

bumpmtlb = cwt(mtlb,Fs,'bump');

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

xrec = icwt(bumpmtlb,'bump','SignalMean',mean(mtlb));

Постройте график исходных и восстановленных сигналов.

plot(t,mtlb)
xlabel('Seconds')
ylabel('Amplitude')
hold on
plot(t,xrec,'r')
legend('Original','Reconstruction')

Воспроизведение и сравнение исходных и восстановленных сигналов.

p = audioplayer(mtlb,Fs);
play(p)
pause(2)
px = audioplayer(xrec,Fs);
play(px)

Восстановите частотно-локализованное приближение к данным землетрясения Кобе путем извлечения информации из CWT. Извлеченная информация соответствует частотам в области значений [0,030 0,070] Гц.

load kobe;

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

[wt,f] = cwt(kobe,1);
xrec = icwt(wt,f,[0.030 0.070],'SignalMean',mean(kobe));

Постройте график исходных и восстановленных данных.

subplot(211)
plot(kobe);
grid on
title('Original Data');
ylabel('Amplitude')

subplot(212)
plot(xrec);
grid on
title('Bandpass Filtered Reconstruction [0.030 0.070] Hz');
xlabel('Frequency');
ylabel('Amplitude');

Figure contains 2 axes. Axes 1 with title Original Data contains an object of type line. Axes 2 with title Bandpass Filtered Reconstruction [0.030 0.070] Hz contains an object of type line.

Используйте обратное непрерывное вейвлет, чтобы восстановить приближение к данным El Nino на основе 2-8 лет.

Загрузите данные El Nino и получите их CWT. Данные отбираются ежемесячно. Чтобы получить периоды в годах, укажите интервал дискретизации как 1/12 года.

load ninoairdata;
[cfs,period] = cwt(nino,years(1/12));

Получите обратный CWT для периодов от 2 до 8 лет.

xrec = icwt(cfs,period,[years(2) years(8)]);

Постройте график CWT восстановленных данных и сравните его с CWT исходных данных.

cwt(nino,years(1/12)); title('Original Data');

Figure contains an axes. The axes with title Original Data contains 3 objects of type image, line, area.

figure;
cwt(xrec,years(1/12)); title('Approximation Based on 2-8 Year Periods');

Figure contains an axes. The axes with title Approximation Based on 2-8 Year Periods contains 3 objects of type image, line, area.

Сравните исходные данные с восстановленными данными во времени.

figure;
subplot(211)
plot(datayear,nino); 
grid on;
ax = gca;
ax.XTickLabel = '';
axis tight;
title('Original Data');

subplot(212)
plot(datayear,xrec); 
grid on;
axis tight;
xlabel('Year');
title('El Nino Data - 2-8 Year Periods');

Figure contains 2 axes. Axes 1 with title Original Data contains an object of type line. Axes 2 with title El Nino Data - 2-8 Year Periods contains an object of type line.

Добавьте тренд к непрерывному вейвлет комплексного набора данных и восстановите.

Получите CWT набора данных NPG2006.

load npg2006.mat
wt = cwt(npg2006.cx);

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

trend = smoothdata(npg2006.cx,'movmean',100);

Получите обратный CWT и добавьте тренд. Постройте график исходных данных и восстановленных данных.

xrec = icwt(wt,'SignalMean',trend);
plot([real(xrec)' real(npg2006.cx)])
grid on
legend('Trend','Original')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Trend, Original.

figure
plot([imag(xrec)' imag(npg2006.cx)])
grid on
legend('Trend','Original')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Trend, Original.

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

свернуть все

Коэффициенты непрерывного вейвлета преобразования, заданные как матрица комплексных чисел. wt - выход из системы cwt функция.

Типы данных: double
Поддержка комплексного числа: Да

Аналитический вейвлет, используемый для инвертирования CWT, задается как 'morse', 'amor', или 'bump'. Эти векторы символов задают аналитические Морзе, Морлет и bump вейвлет, соответственно. Указанный вейвлет должен быть тем же типом вейвлета, который используется для получения cwt.

Вейвлет Морзе по умолчанию использует параметр симметрии по умолчанию, γ, то есть 3 и имеет по умолчанию временную полосу 60.

Частоты CWT, заданные как вектор. Количество элементов в векторе частоты должно равняться количеству строк в вход матрицы коэффициентов CWT wt. Если вы задаете f, вы также должны задать freqrange.

Частотная область значений, для которого можно вернуть значения обратного непрерывного вейвлет, заданный как двухэлементный вектор или матрица 2 на 2. Если wt является матрицей 2-D, freqrange должен быть двухэлементным вектором. Если wt является матрицей 3-D, freqrange может быть двухэлементным вектором или матрицей 2 на 2. Если wt является матрицей 3-D и freqrange является вектором, инверсия выполняется в одной и той же частотной области значений как в положительном (аналитическом), так и в отрицательном (анти-аналитическом) компонентах wt. Если freqrange является матрицей 2 на 2, первая строка содержит частотную область значений для положительной части wt (первая страница), а вторая строка содержит частотную область значений для отрицательной части wt (вторая страница). Для вектора, элементы freqrange должны быть строго увеличены и содержаться в области значений вектора частоты f. Для матрицы каждая строка freqrange должны быть строго увеличены и содержаться в области значений f. f - преобразование масштаба в частоту, полученное в CWT. Для инверсии комплексного сигнала можно задать одну строку freqrange как нулевой вектор. Если первая строка freqrange является нулевым вектором, в инверсии используется только отрицательная (антианалитическая часть). Если вы задаете freqrange, вы также должны задать f.

Для примера [0 0; 1/10 1/4] инвертирует отрицательную (по часовой стрелке) составляющую в области значений [1/10 1/4]. Положительный (против часовой стрелки) компонент сначала устанавливается на все нули перед выполнением инверсии. Точно так же [1/10 1/4; 0 0] инвертирует CWT путем выбора частотной области значений [1/10 1/4] от положительной (против часовой стрелки) компонента и установки отрицательного компонента во все нули.

Временные периоды, соответствующие строкам матрицы коэффициентов CWT wt, заданный как вектор. period - выходы cwt, когда CWT получен с использованием duration вход.

Период области значений для которого можно вернуть обратные непрерывные значения преобразования вейвлета, заданные как двухэлементный вектор или матрица 2 на 2. Если wt является матрицей 2-D, periodrange должен быть двухэлементным вектором длительности. Если wt является матрицей 3-D, periodrange может быть двухэлементным вектором длительностей или матрицей 2 на 2 длительностей. Если periodrange является вектором длительности и wt является 3-Dmatrix, инверсия выполняется в одной и той же частотной области значений как в положительном (аналитическом), так и в отрицательном (анти-аналитическом) компонентах wt. Если periodrange является матрицей длительности 2 на 2, первая строка содержит область значений периодов для положительной части wt (первая страница), а вторая строка содержит область значений периодов для отрицательной части wt (вторая страница). Для вектора, элементы periodrange должны быть строго увеличены и содержаться в области значений вектора периода period. Элементы periodrange и period должны иметь одинаковые модули. Для матрицы каждая строка periodrange должны быть строго увеличены и содержатся в области значений вектора периода P. Для инверсии комплексного сигнала можно задать одну строку periodrange как вектор нулевой длительности. Если первая строка periodrange является вектором нулевых длительностей, в инверсии используется только отрицательная (антианалитическая часть). Если вы задаете periodrange, вы также должны задать period.

Для примера [seconds(0) seconds(0); seconds(1/10) seconds(1/4)] инвертирует отрицательный (по часовой стрелке) компонент в области значений периодов [seconds(1/10) seconds(1/4)]. Положительный (против часовой стрелки) компонент сначала устанавливается на все нули перед выполнением инверсии. Точно так же [seconds(1/10) seconds(1/4); seconds(0) seconds(0)] инвертирует CWT путем выбора области значений периодов [1/10 1/4] от положительной (против часовой стрелки) компонента и установки отрицательного компонента во все нули.

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

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

Пример: 'TimeBandwidth',45 устанавливает пропускную способность 45.

Временная полоса вейвлета Морса, заданная как разделенная разделенными запятой парами, состоящая из 'TimeBandwidth' и скаляр, больший 3 и меньший или равный 120. Заданная временная полоса должна совпадать с временной полосой, используемой в cwt. Симметрия вейвлета Морса принята равной 3.

Вы не можете задать оба 'TimeBandwidth' и 'WaveletParameters'. Если вы задаете 'TimeBandwidth' , вы не можете задать 'WaveletParameters'. Чтобы задать и симметрию, и временную полосу пропускания, используйте 'WaveletParameters' вместо этого.

Симметрия и временная полоса вейвлета Морса, заданная как разделенная разделенными запятой парами, состоящая из 'WaveletParameters' и двухэлементный вектор скаляров. Первым элементом вектора является симметрия, γ, и второй элемент является временной полосой пропускания. Заданные параметры вейвлета должны быть такими же, как и параметры, используемые в cwt.

Вы не можете задать оба 'WaveletParameters' и 'TimeBandwidth'. Если вы задаете 'WaveletParameters', вы не можете задать 'TimeBandwidth'. Чтобы задать временную полосу пропускания и использовать значение симметрии по умолчанию 3, используйте 'TimeBandwidth' вместо этого.

Сигнал среднего, чтобы добавить к icwt выход, заданный как разделенная разделенными запятой парами, состоящая из 'SignalMean' и скаляром или вектором. Если сигнал mean является вектором, это должна быть та же длина, что и размер столбца вейвлета матрицы коэффициентов. Если wt является матрицей 2-D, среднее значение сигнала должно быть действительным скаляром или вектором. Если wt является матрицей 3-D, среднее значение сигнала должно быть комплексным скаляром или вектором. Поскольку cwt не сохраняет среднего сигнала, icwt не содержит среднего по умолчанию сигнала. Добавление ненулевого среднего сигнала к реконструкции с ограниченной частотой или периодом добавляет к реконструкции компонент с нулевой частотой.

Масштабные коэффициенты для использования в обратном CWT, заданные как вектор с реальным или комплексным значением, получаемые как необязательный выход cwt.

Выход коэффициента масштабирования поддерживается только для вейвлетов Морса и аналитического вейвлета Морле. Длина ScalingCoefficients равен размеру столбца wt.

Вы не можете задать оба 'SignalMean' и 'ScalingCoefficients' Пары "имя-значение".

Количество голосов на октаву, заданное как разделенная разделенными запятой парами, состоящая из 'VoicesPerOctave' и четное целое число от 4 до 48. Шкалы CWT дискретизированы с использованием заданного количества голосов на октаву. Количество голосов на октаву должно совпадать с количеством голосов на октаву, используемое для получения CWT.

Вы не можете задать количество голосов на октаву, если задаете или частоту, f, или длительность, period.

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

свернуть все

Обратный 1 -D непрерывный вейвлет преобразование, возвращаемое как реальный или комплексный вектор-строка.

Типы данных: double

Подробнее о

свернуть все

Обратное непрерывное преобразование вейвлета

icwt вычисляет обратную CWT на основе дискретизированной версии одной интегральной формулы из-за Морле [5]. Для краткого описания теоретического основания для одной интегральной формулы, смотрите Обратное Непрерывное Преобразование Вейвлета. Для получения дополнительной теоретической информации смотрите раздел 2.4 [6]. Дискретизированная версия этого интеграла представлена в [7].

Ссылки

[1] Лилли, Дж. М. и С. К. Олхеде. Обобщенные морсовые вейвлеты как суперсемейство аналитических вейвлетов. Транзакции IEEE по обработке сигналов 60, № 11 (ноябрь 2012): 6036-41. https://doi.org/10.1109/TSP.2012.2210890.

[2] Лилли, J.M. и S.C. Олхеде. «Высшие Свойства аналитических вейвлетов». Транзакции IEEE по обработке сигналов 57, № 1 (январь 2009 года): 146-60. https://doi.org/10.1109/TSP.2008.2007607.

[3] Lilly, J. M. jLab: Пакет анализа данных для Matlab, версия 1.6.2. 2016. http://www.jmlilly.net/jmlsoft.html.

[4] Лилли, Дж. М. и Дж. -К. Гаскард. Вейвлет изменяющихся во времени эллиптических сигналов с применением к океаническому вихрю. Нелинейные процессы в геофизике 13, № 5 (14 сентября 2006): 467-83. https://doi.org/10.5194/npg-13-467-2006.

[5] Дюваль-Дестин, М., М. А. Мускьетти и Б. Торресани. «Непрерывное разложение вейвлет, мультиразрешение и контрастный анализ». SIAM Journal по математическому анализу 24, № 3 (май 1993): 739-55. https://doi.org/10.1137/0524045.

[6] Daubechies, Ингрид. Десять лекций по вейвлетам. Серия региональных конференций CBMS-NSF по прикладной математике 61. Филадельфия, Pa: Общество промышленной и прикладной математики, 1992.

[7] Торренс, Кристофер и Гилберт П. Компо. Практическое руководство по Вейвлету анализу. Бюллетень Американского метеорологического общества 79, № 1 (1 января 1998): 61-78. https://doi.org/10.1175/1520-0477 (1998) 079 < 0061: APGTWA > 2,0 .CO; 2.

[8] Holschneider, M., and Ph. Tchamitchian. Точечный анализ «недифференцируемой» функции Римана. Математика изобретений 105, № 1 (декабрь 1991): 157-75. https://doi.org/10.1007/BF01232261.

Введенный в R2016b