Documentation |
Best tree wavelet packet analysis
T = besttree(T)
[T,E] = besttree(T)
[T,E,N] = besttree(T)
besttree is a one- or two-dimensional wavelet packet analysis function that computes the optimal subtree of an initial tree with respect to an entropy type criterion. The resulting tree may be much smaller than the initial one.
Following the organization of the wavelet packets library, it is natural to count the decompositions issued from a given orthogonal wavelet.
A signal of length N = 2^{L} can be expanded in α different ways, where α is the number of binary subtrees of a complete binary tree of depth L.
As a result, we can conclude that α ≥ 2^{N}^{/2} (for more information, see the Mallat's book given in References at page 323).
This number may be very large, and since explicit enumeration is generally intractable, it is interesting to find an optimal decomposition with respect to a convenient criterion, computable by an efficient algorithm. We are looking for a minimum of the criterion.
T = besttree(T) computes the best tree T corresponding to the best entropy value.
[T,E] = besttree(T) computes the best tree T and, in addition, the best entropy value E.
The optimal entropy of the node, whose index is j-1, is E(j).
[T,E,N] = besttree(T) computes the best tree T, the best entropy value E and, in addition, the vector N containing the indices of the merged nodes.
This example shows to obtain the optimal wavelet packet tree based on an entropy criterion.
Load the noisy Doppler signal. Obtain the wavelet packet tree down to level 4 with the 'sym4' wavelet. Use the periodic extension mode.
dwtmode('per'); load noisdopp; T = wpdec(noisdopp,4,'sym4');
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! WARNING: Change DWT Extension Mode ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ***************************************** ** DWT Extension Mode: Periodization ** *****************************************
Obtain the best wavelet packet tree and plot the result.
BstTree = besttree(T); plot(BstTree)
Return the DWT extension mode to the default value.
dwtmode('sym');
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! WARNING: Change DWT Extension Mode ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ******************************************************* ** DWT Extension Mode: Symmetrization (half-point) ** *******************************************************