qorthwavf

Фильтры Q-сдвига Кингсбери

Описание

пример

[LoDa,LoDb,HiDa,HiDb,LoRa,LoRb,HiRa,HiRb] = qorthwavf(num) возвращается фильтры Q-сдвига Кингсбери для двойного дерева комплекса Q-сдвига преобразовывают. Целочисленный num относится к количеству ненулевых коэффициентов (касания) в фильтре. Допустимые опции для num 6, 10, 14, 16, и 18. Все фильтры имеют даже длины, и дерево B фильтры реверс времени дерева фильтры.

Примеры

свернуть все

Получите фильтры Q-сдвига для случая с 10 ненулевыми коэффициентами.

[LoDa,LoDb,HiDa,HiDb,LoRa,LoRb,HiRa,HiRb] = qorthwavf(10);

Используйте dwtfilterbank функционируйте и создайте два дискретных банка фильтра преобразований вейвлета. Используйте дерево, анализ просачивается первый набор фильтров, и дерево B анализ просачивается второй набор фильтров.

fbTreeA = dwtfilterbank('Wavelet','Custom',...
    'CustomScalingFilter',LoDa,...
    'CustomWaveletFilter',HiDa);
fbTreeB = dwtfilterbank('Wavelet','Custom',...
    'CustomScalingFilter',LoDb,...
    'CustomWaveletFilter',HiDb);

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

[psiA,t] = wavelets(fbTreeA);
[psiB,~] = wavelets(fbTreeB);
plot(t,psiA(end,:))
hold on
plot(t,psiB(end,:))
grid on
hold off
legend('Tree A','Tree B')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent Tree A, Tree B.

Подтвердите, что оба набора фильтров являются ортогональными.

isOrthogonal(fbTreeA)
ans = logical
   1

isOrthogonal(fbTreeB)
ans = logical
   1

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

свернуть все

Количество ненулевых коэффициентов в Q-сдвиге Кингсбери фильтрует в виде одного из перечисленных значений.

Выходные аргументы

свернуть все

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

Дерево B lowpass (масштабирующий) аналитический фильтр, сопоставленный с фильтром Q-сдвига, возвращенным как вектор с действительным знаком.

Дерево highpass (вейвлет) аналитический фильтр, сопоставленный с фильтром Q-сдвига, возвращенным как вектор с действительным знаком.

Дерево B highpass (вейвлет) аналитический фильтр, сопоставленный с фильтром Q-сдвига, возвращенным как вектор с действительным знаком.

Дерево lowpass (масштабирующий) фильтр синтеза, сопоставленный с фильтром Q-сдвига, возвращенным как вектор с действительным знаком.

Дерево B lowpass (масштабирующий) фильтр синтеза, сопоставленный с фильтром Q-сдвига, возвращенным как вектор с действительным знаком.

Дерево highpass (вейвлет) фильтр синтеза, сопоставленный с фильтром Q-сдвига, возвращенным как вектор с действительным знаком.

Дерево B highpass (вейвлет) фильтр синтеза, сопоставленный с фильтром Q-сдвига, возвращенным как вектор с действительным знаком.

Ссылки

[1] Antonini, M., М. Барло, П. Мэтью и я. Daubechies. “Отобразите Кодирование Используя Преобразование Вейвлета”. Транзакции IEEE на Обработке изображений 1, № 2 (апрель 1992): 205–20. https://doi.org/10.1109/83.136597.

[2] Кингсбери, Ник. “Комплексные Вейвлеты для Анализа Инварианта Сдвига и Фильтрации Сигналов”. Примененный и Вычислительный Гармонический Анализ 10, № 3 (май 2001): 234–53. https://doi.org/10.1006/acha.2000.0343.

[3] Le Gall, D. и А. Тэбэйтабай. “Кодирование поддиапазона Цифровых изображений Используя Симметричные Короткие Фильтры Ядра и Методы Кодирования Арифметики”. В ICASSP-88., Международная конференция по вопросам Акустики, Речи и Обработки сигналов, 761–64. Нью-Йорк, Нью-Йорк, США: IEEE, 1988. https://doi.org/10.1109/ICASSP.1988.196696.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2020a