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' в 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-norms lowpass и фильтров синтеза высоких частот равны. То же самое касается фильтров 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

Можно также использовать эту группу фильтров в 1-D и 2-D дискретных вейвлет. Чтение и построение графика изображения.

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

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

Получите 2-D вейвлет с помощью фильтров анализа 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] Викерхаузер, Младен Виктор. Адаптированный анализ вейвлет от теории к программному обеспечению. Wellesley, MA: A.K. Peters, 1994.

[2] Персиваль, Д. Б., и А. Т. Уолден. Вейвлет для анализа временных рядов. Кембридж, Великобритания: Cambridge University Press, 2000.

[3] Меса, Гектор. «Адаптированные вейвлеты для обнаружения шаблона». В Прогресс Pattern Recognition, Image Analysis and Applications, под редакцией Альберто Санфелиу и Мануэля Лазо Кортеса, 3773: 933-44. Берлин, Гейдельберг: Спрингер Берлин Гейдельберг, 2005. https://doi.org/10.1007/11578079_96 .

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

.

См. также

|

Введенный в R2020a