Wavelet packet decomposition
This article has an unclear citation style. The reason given is: Violates Wikipedia:External links: "Wikipedia articles may include links to web pages outside Wikipedia (external links), but they should not normally be used in the body of an article." (January 2011) |
Wavelet packet decomposition (WPD) (sometimes known as just wavelet packets) is a wavelet transform where the signal is passed through more filters than the discrete wavelet transform (DWT).
In the DWT, each level is calculated by passing only the previous approximation coefficients (cAj) through low and high pass quadrature mirror filters [1]. However in the WPD, both the detail (cHj, cVj, cDj) and approximation coefficients are decomposed.
For n levels of decomposition the WPD produces 2n different sets of coefficients (or nodes) as opposed to (3n + 1) sets for the DWT. However, due to the downsampling process the overall number of coefficients is still the same and there is no redundancy.
From the point of view of compression, the standard wavelet transform may not produce the best result, since it is limited to wavelet bases that increase by a power of two towards the low frequencies. It could be that another combination of bases produce a more desirable representation for a particular signal. The best basis algorithm by Coifman and Wickerhauser[1] finds a set of bases that provide the most desirable representation of the data relative to a particular cost function (e.g. entropy).
The implementation part of wavelet packets can be found in MATLAB wavelet toolbox in this link.
The illustration and implementation of wavelet packets along with its code in C++ is given in this link.
Furthermore, an implementation in Java for 1-D and 2-D wavelet packets using Haar, Daubechies, Coiflet, and Legendre wavelets can be found in the open source project: JWave.
Gallery
References
- ^ a b Coifman RR & Wickerhauser MV, 1992. Entropy-Based Algorithms for Best Basis Selection, IEEE Transactions on Information Theory, 38(2).