This was an earlier posting of mine, in which I wrote about a “Quadrature Mirror Filter”. But the above posting may not make it clear to all readers, why a QMF approach will actually result in two streams, each of which has half the sample-rate of the original stream.
A basic premise which gets used, is the Daubechies Wavelet, according to which there exists a Scaling Function that later gets named ‘H1′, and a corresponding Wavelet which gets named ‘H0′. It could also be thought that H1 is a low-pass filter with a corner frequency of 1/2 the Nyquist Frequency, while H0 is a Band-Pass Filter derived from H1. Also, because the upper cutoff frequency of H0 is the Nyquist Frequency, it is not clear to me either, why we would not just call that a High-Pass Filter. But the WiKi page calls that the Band-Pass Filter.
Alright, So we can start with a stream sampled at 44.1 kHz and derive two output streams, one which contains the lower half of frequencies, and the other of which contains the upper half. How do the sample-rates of either get halved?
The answer is that after we have filtered the original stream both ways, we pick out every second sample of each.
This is also what would get done if we were to use a (more expensive) Half-Band Filter based on ‘the Sinc Function’, to down-sample a stream. In contrast, if we are over-sampling a stream to the highest level of accuracy, we first repeat each sample once, and then apply the (better) low-pass filter. (It should be noted however, that a 4-coefficient Daubechies Wavelet would be considered ‘deficient’. Those start to become interesting, at maybe 8 coefficients.)
But when it comes to Quadrature Mirror Filters, when we have down-sampled the stream, we have also halved its Nyquist Frequency – both times. But then in the case of ‘H0′ above, original frequency components above the Nyquist Frequency are subject to the phenomenon I mentioned in another posting, according to which they get mirrored back down, from the new, lower Nyquist Frequency, all the way to zero (DC). Hence, the output of H0 gets inverted in frequencies, when it is subsequently down-sampled.
Well, when we decode the QMF streams, what we do for H0 differs from the norm somewhat:
We use each input sample, and repeat it once negatively, before moving on to the next input sample. And then, if a Daubechies Wavelet was indeed used when encoding, we apply this again when decoding H0.