exponenta event banner

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 с вводом длительности. period является cwt выходные данные, полученные с помощью duration вход. Диапазон периодов должен увеличиваться и содержаться в period.

пример

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

Примеры

свернуть все

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

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

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

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'. Эти векторы символов определяют аналитический вейвлет Морса, Морлета и толчка соответственно. Указанный вейвлет должен быть того же типа, что и вейвлет, используемый для получения 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' и скаляр или вектор. Если среднее значение сигнала является вектором, оно должно быть той же длины, что и размер столбца матрицы вейвлет-коэффициентов. Если 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] Лилли, Дж. М. и С.К. Ольхеде. «Свойства более высокого порядка аналитических вейвлетов». Транзакции IEEE по обработке сигналов 57, № 1 (январь 2009 года): 146-60. https://doi.org/10.1109/TSP.2008.2007607.

[3] Лилли, 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] Дюваль-Дестин, М., М. А. Мускьетти и Б. Торресани. «Непрерывное вейвлет-разложение, множественное разрешение и анализ контраста». Журнал СИАМ по математическому анализу 24, № 3 (май 1993 года): 739-55. https://doi.org/10.1137/0524045.

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

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

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

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