exponenta event banner

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) использует фильтр масштабирования (нижних частот), LoRи вейвлет (фильтр верхних частот), HiR. Пара фильтров синтеза LoR и HiR должен быть связан с тем же самым вейвлетом, который используется в DWPT.

пример

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

Примеры

свернуть все

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

Получение DWPT сигнала ЭКГ с помощью 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 сигнала ЭКГ с помощью 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

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

Фильтр LeGall 5/3 - это вейвлет, используемый в JPEG2000 для сжатия изображения без потерь. Фильтры нижних частот (масштабирование) для вейвлета 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];

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

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

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

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

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

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

load wecg
plot(wecg)
axis tight
grid on

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

Получение дискретного вейвлет-пакетного преобразования ЭКГ-сигнала с использованием набора фильтров 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 является масштабирующим (низкочастотным) синтезирующим фильтром, и HiR является синтезирующим фильтром вейвлет (high pass). Пара фильтров синтеза должна быть связана с тем же вейвлетом, что используется в DWPT. Вы не можете указать оба wname и пару фильтров, LoR и HiR. Посмотрите wfilters для получения дополнительной информации.

Примечание

idwpt не проверяет, что LoR и HiR удовлетворяют требованиям для идеального банка фильтров вейвлет-пакетов реконструкции. Пример того, как взять опубликованный биорогональный фильтр и гарантировать, что фильтры анализа и синтеза создают идеальный банк вейвлет-пакетных фильтров реконструкции с использованием idwpt.

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

Ссылки

[1] Викерхаузер, Младен Виктор. Адаптированный вейвлет-анализ от теории к программному обеспечению. Уэлсли, Массачусетс: А.К. Питерс, 1994.

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

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

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

.

См. также

|

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