dbaux

Daubechies вейвлета фильтрация расчета

Описание

The dbaux функция генерирует коэффициенты масштабирующего фильтра для вейвлетов «экстремальной фазы» Daubechies.

W = dbaux(N) является порядком N Масштабирующий фильтр Daubechies такой, что sum(W) = 1.

Примечание

  • Нестабильность может возникнуть, когда N слишком велик. Начиная со значений N в области значений 30-х годов выход функции больше не будет точно представлять коэффициенты масштабирующего фильтра.

  • Для N = 1, 2 и 3, порядок N Фильтры Symlet и упорядочивайте N Фильтры Daubechies идентичны. См. Экстремальная фаза.

пример

W = dbaux(N,SUMW) является порядком N Масштабирующий фильтр Daubechies такой, что sum(W) = SUMW.

W = dbaux(N,0) эквивалентно W = dbaux(N,1).

Примеры

свернуть все

Этот пример показывает, как определить фильтр масштабирования экстремальной фазы Daubechies с заданной суммой. Двумя наиболее распространенными значениями для суммы являются 2 и 1.

Создайте две версии db4 масштабирующий фильтр. Один масштабирующий фильтр суммируется с 2 а другая версия равна 1.

NumVanishingMoments = 4;
h = dbaux(NumVanishingMoments,sqrt(2));
m0 = dbaux(NumVanishingMoments,1);

Фильтр с суммой, равной 2 - фильтр синтеза (реконструкции), возвращаемый wfilters и используется в дискретном вейвлет.

[LoD,HiD,LoR,HiR] = wfilters('db4');
max(abs(LoR-h))
ans = 4.2590e-13

Для ортогональных вейвлеты фильтр анализа (разложения) является обратным по времени фильтром синтеза.

max(abs(LoD-fliplr(h)))
ans = 4.2590e-13

Этот пример показывает, что симлетные и Daubechies масштабирующие фильтры одного и того же порядка являются решениями одного и того же полиномиального уравнения.

Сгенерируйте порядок 4 масштабирующий фильтр Daubechies и постройте его график.

wdb4 = dbaux(4)
wdb4 = 1×8

    0.1629    0.5055    0.4461   -0.0198   -0.1323    0.0218    0.0233   -0.0075

stem(wdb4)
title('Order 4 Daubechies Scaling Filter')

Figure contains an axes. The axes with title Order 4 Daubechies Scaling Filter contains an object of type stem.

wdb4 является решением уравнения: P = conv (wrev (w), w) * 2, где P является фильтром «Lagrange trous» для N = 4. Оцените P и постройте график. P является симметричным фильтром, и wdb4 является минимальным фазовым решением предыдущего уравнения на основе корней P.

P = conv(wrev(wdb4),wdb4)*2;
stem(P)
title('''Lagrange trous'' filter')

Figure contains an axes. The axes with title 'Lagrange trous' filter contains an object of type stem.

Сгенерируйте wsym4, фильтр симлетного масштабирования порядка 4 и постройте его график. Симлеты являются «наименее асимметричными» вейвлетами Доубехи, полученными из другого выбора между корнями P.

wsym4 = symaux(4)
wsym4 = 1×8

    0.0228   -0.0089   -0.0702    0.2106    0.5683    0.3519   -0.0210   -0.0536

stem(wsym4)
title('Order 4 Symlet Scaling Filter')

Figure contains an axes. The axes with title Order 4 Symlet Scaling Filter contains an object of type stem.

Вычислите conv (wrev (wsym4), wsym4) * 2 и подтвердите, что wsym4 является другим решением уравнения P = conv (wrev (w), w) * 2.

P_sym = conv(wrev(wsym4),wsym4)*2;
err = norm(P_sym-P)
err = 1.8677e-15

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

Сгенерируйте коэффициенты масштабирующего фильтра для db15 и sym15 вейвлеты. Оба вейвлета имеют поддержку ширины 2×15-1=29.

[~,~,LoR_db,~] = wfilters('db15');
[~,~,LoR_sym,~] = wfilters('sym15');

Затем сгенерируйте коэффициенты масштабирующего фильтра для coif5 вейвлет. Этот вейвлет также имеет поддержку ширины 6×5-1=29.

[~,~,LoR_coif,~] = wfilters('coif5');

Подтвердите сумму коэффициентов для всех трех вейвлет равной 2.

sqrt(2)-sum(LoR_db)
ans = 2.2204e-16
sqrt(2)-sum(LoR_sym)
ans = 0
sqrt(2)-sum(LoR_coif)
ans = 2.2204e-16

Постройте график совокупных сумм квадратов коэффициентов. Обратите внимание, как быстро сумма Daubechies увеличивается. Это связано с тем, что его энергия сосредоточена в небольших абсциссах. Поскольку вейвлет Daubechies имеет экстремальную фазу, совокупная сумма его квадратов коэффициентов увеличивается быстрее, чем два других вейвлета.

plot(cumsum(LoR_db.^2),'rx-')
hold on
plot(cumsum(LoR_sym.^2),'mo-')
plot(cumsum(LoR_coif.^2),'b*-')
legend('Daubechies','Symlet','Coiflet')
title('Cumulative Sum')

Figure contains an axes. The axes with title Cumulative Sum contains 3 objects of type line. These objects represent Daubechies, Symlet, Coiflet.

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

свернуть все

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

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

Сумма коэффициентов, заданная как положительная скалярная величина. Установите значение sqrt(2) чтобы сгенерировать вектор коэффициентов, чья норма равна 1.

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

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

свернуть все

Масштабирование коэффициентов фильтра, возвращаемое как вектор.

Коэффициенты масштабирующего фильтра удовлетворяют ряду свойств. Как показывает пример Daubechies Экстремальный Фильтр Масштабирования Фазы с Заданной Суммой, можно создать масштабирующие коэффициенты фильтра с определенной суммой. Если {hk} обозначает набор порядков N Daubechies масштабирование коэффициентов фильтра, где n = 1, ..., 2N, затем n=12Nhn2=1. Коэффициенты также удовлетворяют отношению nh(n)h(n2k)=δ(k). Можно использовать эти свойства для проверки результатов.

Ограничения

  • Область расчета dbN Масштабирующий фильтр Daubechies требует извлечения корней полинома порядка 4N. Нестабильность может возникнуть, начиная со значений N в 30-е годы.

Подробнее о

свернуть все

Экстремальная фаза

Построение компактно поддерживаемого ортогонального вейвлета базиса включает выбор корней конкретного полиномиального уравнения. Различные варианты корней приводят к вейвлетам, фазы которых различны. Выбор корней, которые находятся внутри модуля круга в комплексной плоскости результатов в фильтре с сильно нелинейной фазой. Говорят, что такой вейвлет имеет extremal phase и энергию, сконцентрированную на малых абсциссах. Пусть {hk} обозначает набор масштабирующих коэффициентов, сопоставленных с экстремальной фазой вейвлет, где k = 1,…,M. Тогда для любого другого набора масштабирующих коэффициентов {gk}, возникающих в результате другого выбора корней, следующее неравенство будет иметь место для всех J = 1,…,M:

k=1Jgk2k=1Jhk2

{hk} иногда называют фильтром минимальной задержки [2].

Упомянутое выше полиномиальное уравнение зависит от количества моментов исчезновения, N для вейвлета. Чтобы создать вейвлет базиса включает выбор корней уравнения. В случае наименее асимметричных вейвлетов и экстремальных фаз вейвлетов для порядков 1 , 2 и 3 фактически нет выбора. Для N = 1, 2 и 3 dbN и symN фильтры равны. Пример Symlet и Daubechies Scaling Filters показывает, что два разных масштабирующих фильтра могут удовлетворять одному и тому же полиномиальному уравнению. Для получения дополнительной информации смотрите Daubechies [1].

Алгоритмы

Используемый алгоритм основан на результате, полученном Shensa [3], показывающем соответствие между фильтрами «Lagrange а trous» и сверточными квадратами вейвлет Daubechies.

Расчет порядка <reservedrangesplaceholder2> масштабирующего фильтра Daubechies w протекает в два шага: вычислите P фильтра Lagrange, и извлеките квадратный корень. Точнее:

  • P связанный фильтр «Lagrange а trous» является симметричным фильтром 4N-1 длины. P определяется как

    P = [a (<reservedrangesplaceholder7>) 0 <reservedrangesplaceholder6> (N-1) 0... 0 <reservedrangesplaceholder4> (1) 1 a (1) 0 <reservedrangesplaceholder2> (2) 0... 0 <reservedrangesplaceholder1> (<reservedrangesplaceholder0>)]

  • где

  • Затем, если w обозначает db N масштабирующий фильтр Daubechies из суммы, w является квадратным корнем из P:

        P = conv(wrev(w), w) где w является фильтром длины 2 N.

    Соответствующий полином имеет N нули, расположенные в − 1, и N−1 нули менее 1 по модулю .

Обратите внимание, что могут использоваться другие методы; см. различные решения задачи спектрального факторизации в Strang-Nguyen [4] (стр. 157).

Ссылки

[1] Daubechies, I. Десять лекций по вейвлетам, серия региональных конференций CBMS-NSF по прикладной математике. Филадельфия, Пенсильвания: СИАМ Эд, 1992.

[2] Oppenheim, Alan V., and Ronald W. Schafer. Обработка сигнала в дискретном времени. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1989.

[3] Shensa, M.J. (1992), «The discrete wavelet transform: wedding the trous and Mallat Algorithms», IEEE Trans. on Signal Processing, vol. 40, 10, pp. 2464-2482.

[4] Strang, G., and T. Nguyen.Wavelets and Filter Banks. Wellesley, MA: Wellesley-Cambridge Press, 1996.

См. также

| |

Представлено до R2006a