Discrete Wavelet Transform in Speech Enhancement

The filterbank method for practical computation of the Continuous Wavelet Transform on a computer is what is known as the Discrete Wavelet Transform (DWT). The filters are arranged in a tree that grows only on one side to eliminate the redundancy inherent in the continuous version of the wavelet transform. The CWT and DWT actually give us the same decomposition when we consider scaling only by a factor of 2, but the DWT is much more practically useful. The filterbank is shown below:

Figure 1: Two Stage Decimated Discrete Wavelet Transform

The filters h0 and h1 are low pass and high pass filters, respectively. As the figure shows, the DWT splits first splits the signal into two half-band signals. One is called the ‘details’ signal occupying the upper half band space W1, and the other is the ‘approximation’ signal occupying the lower half band space V1. Notice that the signal is downsampled by two, denoted by ↓2, after these filters. This is because we want the signal to occupy the whole Nyquist band, so we downsample to decrease the sampling rate. Since the new Nyquist band is half of the original Nyquist band, we downsample by two to decrease the sampling rate by two as well. Therefore, our new Nyquist frequency will be half of the original.

The key in implementing the Discrete Wavelet Transform is that it is recursive algorithm. The lower half band approximation space V1 is again split by our low pass and high pass filters h0 and h1. This forms two new spaces, W0 and V0, that occupy the upper and lower half bands of the original lower half band respectively. Continuing in this manner, we are effectively splitting the spectrum into Octave Bands, as shown below:

Figure 2: Wavelet Octave Bands

Once this is done, we do processing on each subband, denoted by the large rectangular block. Examples of such processing are noise reduction or dereverberation. Finally, we reconstruct the original signal by first upsampling, and passing the sub-signals through the filters g0 and g1 in the order the diagram shows. The result is the enhanced signal which is passed out of the bank.

The question then is, how can we construct these filters h0 and h1? The low pass filter h0 is the ‘father’ wavelet, also known as the scaling function, while the high pass filter h1 is the ‘mother’ wavelet, also known as just the wavelet in the context of the DWT. We have many different ones to pick, from the Daubechies wavelets, to the Symlets, to the Coiets, to the family of Biorthogonal wavelets, to the Myer Wavelet, and the list goes on. For the wavelets defined by Ingrid Daubechies, including the ones she created for others such as the Symlets and the Coiets, the reconstruction filters g0 and g1 are merely time reversed versions of h0 and h1 respectively. For other families of wavelets, such as Biorthogonal wavelets, these reconstruction filters are entirely different than the decomposition ones.