idwpt

Пакет вейвлета инверсии мультисигнала 1-D преобразовывает

Описание

xrec = idwpt(wpt,l) инвертирует дискретный пакет вейвлета преобразовывает (DWPT) терминального пакетного дерева вейвлета узла wpt использование бухгалтерского векторного l. idwpt функция принимает, что вы получили wpt и l использование dwpt с fk18 вейвлет и настройки по умолчанию.

Если вход к dwpt был один сигнал, xrec вектор-столбец. Если вход был многоканальным сигналом, xrec матрица, где каждый столбец матрицы соответствует каналу.

xrec = idwpt(wpt,l,wname) использует вейвлет, заданный wname инвертировать DWPT. wname должен быть распознан wavemngr. Заданный вейвлет должен быть тем же вейвлетом, используемым, чтобы получить DWPT.

пример

xrec = idwpt(wpt,l,LoR,HiR) использует масштабирующийся (lowpass) фильтр, LoR, и вейвлет (highpass) фильтр, HiR. Пара фильтра синтеза LoR и HiR должен быть сопоставлен с тем же вейвлетом, используемым в DWPT.

пример

xrec = idwpt(___, 'Boundary',ExtensionMode) задает режим, чтобы расширить сигнал. ExtensionMode может быть любой 'reflection' (значение по умолчанию) и 'periodic'. Установкой ExtensionMode к 'periodic' или 'reflection', пакетные коэффициенты вейвлета на каждом уровне расширены на основе режимов 'per' или 'sym' \in dwtmode, соответственно. ExtensionMode должен быть тот же режим, используемый в DWPT.

Примеры

свернуть все

В этом примере показано, как выполнить обратный пакет вейвлета, преобразовывают фильтры синтеза использования.

Получите DWPT сигнала ECG использование dwpt с настройками по умолчанию.

load wecg
[wpt,l] = dwpt(wecg);

По умолчанию, dwpt использует fk18 вейвлет. Получите синтез (реконструкция) фильтры, сопоставленные с вейвлетом.

[~,~,lor,hir] = wfilters('fk18');

Инвертируйте DWPT использование фильтров синтеза и продемонстрируйте совершенную реконструкцию.

xrec = idwpt(wpt,l,lor,hir);
norm(wecg-xrec,'inf')
ans =

   4.9236e-11

Получите DWPT сигнала ECG использование dwpt и периодическое расширение.

load wecg
[wpt,l] = dwpt(wecg,'Boundary','periodic');

По умолчанию, idwpt использует симметричное расширение. Инвертируйте DWPT использование периодических и симметричных дополнительных режимов.

xrecA = idwpt(wpt,l,'Boundary','periodic');
xrecB = idwpt(wpt,l);

Продемонстрируйте совершенную реконструкцию только, когда дополнительные режимы форварда и обратного DWPT согласятся.

fprintf('Periodic/Periodic : %f\n',norm(wecg-xrecA,'inf'))
Periodic/Periodic : 0.000000
fprintf('Periodic/Symmetric: %f\n',norm(wecg-xrecB,'inf'))
Periodic/Symmetric: 1.477907

В этом примере показано, как взять выражение биоортогональной пары фильтра и создать lowpass, и highpass фильтрует, чтобы произвести пару совершенной реконструкции (PR) в Wavelet Toolbox™.

Фильтр LeGall 5/3 является вейвлетом, используемым в JPEG2000 для сжатия изображения без потерь. Lowpass (масштабирование) фильтры для вейвлета LeGall 5/3 имеет пять и три ненулевых коэффициента соответственно. Выражения для этих двух фильтров:

H0(z)=1/8(-z2+2z+6+2z-1-z-2)

H1(z)=1/2(z+2+z-1)

Создайте эти фильтры.

H0 = 1/8*[-1 2 6 2 -1];
H1 = 1/2*[1 2 1];

Многие из дискретного вейвлета и пакета вейвлета преобразовывают в Wavelet Toolbox, используют фильтры, являющиеся и ровной длиной и равный в длине для того, чтобы произвести совершенный набор фильтров реконструкции, сопоставленный с этими преобразованиями. Эти преобразования также требуют, чтобы определенная нормализация коэффициентов в фильтрах для алгоритмов произвела набор фильтров PR. Используйте biorfilt функция на lowpass моделирует функции, чтобы произвести набор фильтров вейвлета PR.

[LoD,HiD,LoR,HiR] = biorfilt(H0,H1);

Сумма фильтров анализа и синтеза lowpass теперь равна 2.

sum(LoD)
ans = 1.4142
sum(LoR)
ans = 1.4142

Вейвлет фильтрует сумму, как требуется, чтобы обнулить. L2-нормы анализа lowpass и highpass фильтров синтеза равны. То же самое содержит для синтеза lowpass и highpass аналитических фильтров.

Теперь можно использовать, они просачиваются, дискретный пакет вейвлета и вейвлета преобразовывает, и достигните пакетного набора фильтров вейвлета PR. Чтобы продемонстрировать это, загрузите и постройте сигнал ECG.

load wecg
plot(wecg)
axis tight
grid on

Figure contains an axes. The axes contains an object of type line.

Получите дискретное пакетное преобразование вейвлета сигнала ECG использование набора фильтра LeGall 5/3.

[wpt,L] = dwpt(wecg,LoD,HiD);

Теперь используйте реконструкцию (синтез) фильтры, чтобы восстановить сигнал и продемонстрировать совершенную реконструкцию.

xrec = idwpt(wpt,L,LoR,HiR);
plot([wecg xrec])
axis tight, grid on;

Figure contains an axes. The axes contains 2 objects of type line.

norm(wecg-xrec,'Inf')
ans = 3.3307e-15

Можно также использовать этот набор фильтров в 1D и 2D дискретном вейвлете, преобразовывает. Считайте и постройте изображение.

im = imread('woodsculp256.jpg');
image(im); axis off;

Figure contains an axes. The axes contains an object of type image.

Получите 2D вейвлет, преобразовывают использование аналитических LeGall 5/3 фильтров.

[C,S] = wavedec2(im,3,LoD,HiD);

Восстановите изображение с помощью фильтров синтеза.

imrec = waverec2(C,S,LoR,HiR);
image(uint8(imrec)); axis off;

Figure contains an axes. The axes contains an object of type image.

Фильтр LeGall 5/3 эквивалентен встроенному 'bior2.2' вейвлет в Wavelet Toolbox. Используйте 'bior2.2' фильтры и соответствуют фильтрам LeGall 5/3.

[LD,HD,LR,HR] = wfilters('bior2.2');
subplot(2,2,1)
hl = stem([LD' LoD']);
hl(1).MarkerFaceColor = [0 0 1];
hl(1).Marker = 'o';
hl(2).MarkerFaceColor = [1 0 0];
hl(2).Marker = '^';
grid on
title('Lowpass Analysis')
subplot(2,2,2)
hl = stem([HD' HiD']);
hl(1).MarkerFaceColor = [0 0 1];
hl(1).Marker = 'o';
hl(2).MarkerFaceColor = [1 0 0];
hl(2).Marker = '^';
grid on
title('Highpass Analysis')
subplot(2,2,3)
hl = stem([LR' LoR']);
hl(1).MarkerFaceColor = [0 0 1];
hl(1).Marker = 'o';
hl(2).MarkerFaceColor = [1 0 0];
hl(2).Marker = '^';
grid on
title('Lowpass Synthesis')
subplot(2,2,4)
hl = stem([HR' HiR']);
hl(1).MarkerFaceColor = [0 0 1];
hl(1).Marker = 'o';
hl(2).MarkerFaceColor = [1 0 0];
hl(2).Marker = '^';
grid on
title('Highpass Synthesis')

Figure contains 4 axes. Axes 1 with title Lowpass Analysis contains 2 objects of type stem. Axes 2 with title Highpass Analysis contains 2 objects of type stem. Axes 3 with title Lowpass Synthesis contains 2 objects of type stem. Axes 4 with title Highpass Synthesis contains 2 objects of type stem.

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

свернуть все

Терминальное пакетное дерево вейвлета узла в виде массива ячеек. wpt выход dwpt с 'FullTree' набор значений к false.

Пример: [wpt,l] = dwpt(X,'Level',3,'FullTree',false) возвращает терминальное пакетное дерево вейвлета узла трехуровневого пакетного разложения вейвлета X.

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

Бухгалтерский вектор в виде вектора из положительных целых чисел. Векторный l выход dwpt. Бухгалтерский вектор содержит длину входного сигнала и количество коэффициентов уровнем, и требуется для совершенной реконструкции.

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

Вейвлет, чтобы использовать в обратном DWPT в виде вектора символов или строкового скаляра. wname должен быть распознан wavemngr. Заданный вейвлет должен быть тем же вейвлетом, используемым, чтобы получить DWPT.

Вы не можете задать оба wname и пара фильтра, LoD и HiD.

Пример: xrec = idwpt(wpt,l,"sym4") задает sym4 вейвлет.

Синтез вейвлета (реконструкция) фильтрует, чтобы использовать в обратном DWPT в виде пары векторов с действительным знаком. LoR масштабирующийся (lowpass) фильтр синтеза и HiR вейвлет (highpass) фильтр синтеза. Пара фильтра синтеза должна быть сопоставлена с тем же вейвлетом, как используется в DWPT. Вы не можете задать оба wname и пара фильтра, LoR и HiR. Смотрите wfilters для получения дополнительной информации.

Примечание

idwpt не проверяет тот LoR и HiR удовлетворите требованиям для совершенного пакетного набора фильтров вейвлета реконструкции. Смотрите PR Биоортогональные Фильтры для примера того, как взять опубликованный биоортогональный фильтр и гарантировать, что фильтры анализа и синтеза производят совершенное пакетное использование набора фильтров вейвлета реконструкции idwpt.

Пакет вейвлета преобразовывает обработку контура в виде 'reflection' или 'periodic'. Когда установлено в 'reflection' или 'periodic', пакетные коэффициенты вейвлета расширены на каждом уровне на основе 'sym' или 'per' режим в dwtmode, соответственно. ExtensionMode должен быть тот же режим, используемый в DWPT. Если незаданный, ExtensionMode значения по умолчанию к 'reflection'.

Ссылки

[1] Wickerhauser, Младен Виктор. Адаптированный анализ вейвлета от теории до программного обеспечения. Веллесли, MA: А.К. Питерс, 1994.

[2] Персиваль, D. B. и А. Т. Уолден. Методы вейвлета для анализа временных рядов. Кембридж, Великобритания: Издательство Кембриджского университета, 2000.

[3] Мезаструктура, Гектор. “Адаптированные Вейвлеты для Обнаружения Шаблона”. Происходящий в Распознавании образов, Анализе изображения и Приложениях, отредактированных Альберто Санфелиу и Мануелем Лазо Кортесом, 3773:933–44. Берлин, Гейдельберг: Спрингер Берлин Гейдельберг, 2005. https://doi.org/10.1007/11578079_96.

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

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

|

Введенный в R2020a