Main Content


Best level tree wavelet packet analysis


T = bestlevt(T)
[T,E] = bestlevt(T)


bestlevt is a one- or two-dimensional wavelet packet analysis function.

bestlevt computes the optimal complete subtree of an initial tree with respect to an entropy type criterion. The resulting complete tree may be of smaller depth than the initial one.

T = bestlevt(T) computes the modified wavelet packet tree T corresponding to the best level tree decomposition.

[T,E] = bestlevt(T) computes the best level tree T, and in addition, the best entropy value E.

The optimal entropy of the node, whose index is j-1, is E(j).


% The current extension mode is zero-padding (see dwtmode).

% Load signal. 
load noisdopp; 
x = noisdopp;

% Decompose x at depth 3 with db1 wavelet, using default
% entropy (shannon). 
wpt = wpdec(x,3,'db1'); 

% Decompose the packet [3 0].
wpt = wpsplt(wpt,[3 0]);

% Plot wavelet packet tree wpt. 

% Compute best level tree. 
blt = bestlevt(wpt);

% Plot best level tree blt. 


See besttree algorithm section. The only difference is that the optimal tree is searched among the complete subtrees of the initial tree, instead of among all the binary subtrees.

Version History

Introduced before R2006a