besttree

Лучший древовидный пакетный анализ вейвлета

Синтаксис

T = besttree(T)
[T,E] = besttree(T)
[T,E,N] = besttree(T)

Описание

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

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

Сигнал длины N = 2L может быть расширен α различными способами, где α является количеством бинарных поддеревьев полного двоичного дерева глубины L.

В результате мы можем завершить это α ≥ 2N/2 (для получения дополнительной информации см. книгу Маллэта, данную в Ссылках на уровне страницы 323).

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

T = besttree(T) вычисляет лучший древовидный T соответствие лучшему энтропийному значению.

[T,E] = besttree(T) вычисляет лучший древовидный T и, кроме того, лучшее энтропийное значение E.

Оптимальная энтропия узла, индексом которого является j-1, E(j).

[T,E,N] = besttree(T) вычисляет лучший древовидный T, лучшее энтропийное значение E и, кроме того, векторный N содержа индексы объединенных узлов.

Примеры

свернуть все

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

Загрузите шумный Доплеровский сигнал. Получите пакетное дерево вейвлета вниз к уровню 4 с 'sym4' вейвлет. Используйте периодический дополнительный режим.

dwtmode('per');
 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!  WARNING: Change DWT Extension Mode  !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                         
*****************************************
**  DWT Extension Mode: Periodization  **
*****************************************
                                         
load noisdopp;
T = wpdec(noisdopp,4,'sym4');

Получите лучшее пакетное дерево вейвлета и постройте результат.

BstTree = besttree(T);
plot(BstTree)

Figure contains 2 axes objects and other objects of type uimenu. Axes object 1 with title Tree Decomposition contains 45 objects of type line, text. Axes object 2 with title data for node: 0 or (0,0). contains an object of type line.

Возвратите дополнительный режим DWT в значение по умолчанию.

dwtmode('sym');
 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!  WARNING: Change DWT Extension Mode  !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                       
*******************************************************
**  DWT Extension Mode: Symmetrization (half-point)  **
*******************************************************
                                                       

Алгоритмы

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

Несколько энтропийных критериев типа могут использоваться (см. wenergy для получения дополнительной информации. Если энтропийная функция является аддитивной функцией вдоль пакетных коэффициентов вейвлета, этот алгоритм приводит к лучшему дереву.

Начиная с начального дерева T и использования стороны слияния этого алгоритма, мы получаем лучшее дерево среди всех бинарных поддеревьев T.

Ссылки

Койфман, R.R.; т-х Викераузер (1992), “Основанные на энтропии алгоритмы для лучшего базисного выбора”, Сделка IEEE на Inf. Теория, издание 38, 2, стр 713–718.

Mallat, S. (1998), тур вейвлета по обработке сигналов, Academic Press.

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