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

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

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

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

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

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

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

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

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

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

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

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

Фильтр 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')

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

свернуть все

Терминальное пакетное дерево вейвлета узла в виде массива ячеек. 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