The discrete wavelet transform (DWT) is a linear signal processing technique that, when applied to a data vector, transforms it to a numerically different vector, of wavelet coefficients.
The procedure for applying a discrete wavelet transform uses a hierarchical pyramid algorithm that halves the data at each iteration, resulting in fast computational speed.
The length of the input data vector must be an integer power of 2. The data vector with zeros as necessary shall be added to achieve this condition.
Two functions are applied to transform the data sets.
The first is data smoothing, such as a sum or weighted average and the second function of weighted difference.
The two functions are recursively applied to the data sets obtained in the previous loop, until the resulting data sets obtained are of length 2.
Selected values from the data sets obtained in the previous iterations are designated the wavelet coefficients of the transformed data.
The popular wavelet transforms include the Haar-2, Daubechies-4 and Daubechies-6.
Wavelet transforms can be applied to multidimensional data such as a data cube.
Wavelet transforms have many real world applications, including the compression of fingerprint images, computer vision, analysis of time-series data, and data cleaning.