Introduction
  Introduction
Initial Proposal
Project Description

Background      Information
  Psychoacoustic Model
Filter Banks

Project Research
  Research Findings
List of MATLAB Code
Simulations

Further Work
  Extensions to Research
Wavelets

References

About Us

Filter Banks


Theory

A filter bank is an array of band-pass filters that spans the entire audible frequency spectrum, see Figure 1. The bank serves to isolate different frequency components in a signal. This is useful because some frequencies are deemed more important than others through the use of the psychoacoustic model. Magnitudes at these important frequencies need to be coded with a fine resolution. Small differences at these frequencies are significant and a coding scheme that preserves these differences must be used. On the other hand, less important frequencies do not have to be exact. A coarser coding scheme can be used, even though some of the finer details will be lost in the coding.

Figure 1: Filter Banks

Different coding resolutions can be obtained by using many bits to encode important frequencies and less bits to encode less significant frequencies. The filter bank, then, allows different parts of the signal to be encoded with a different number of bits resulting in a compressed data stream representation of the signal.

In reality, there are 2 sets of filter banks that are used, see Figure 2. The first set of filters is called the analysis filter bank. The input signal passes through each of these filters and is then quantized with the proper number of bits, as determined by the psychoacoustic model.

Figure 2: Analysis and Synthesis Filter Bank Setup

Then the signal needs to be reconstructed again from the quantized individual components. This is done through a bank of synthesis filters. Finally, all the outputs of the synthesis filters are added together to form the final compressed output signal.

There is one final point to make. Once the signal is passed through each filter in the analysis bank, it is then down-sampled by the number of filters in the bank. This is because there is redundant information present in each of the signals output from the filters. The decimation does not result in any loss of information, but does shift the frequency of the signal. After quantization, the signal is up-sampled to restore the frequency content to its original scale.

Filter Bank Design Considerations

There is a tradeoff between fine and coarse frequency resolution. No single tradeoff is optimal for all signals. Take, for instance, a piccolo and castanets, which are two musical instruments with very different qualities. A harmonic piccolo calls for fine frequency resolution and coarse time resolution. This is because a piccolo plays within a small range, thus requiring more filters per bank in order to adequately capture all tones. The opposite is true for castanets. Castanets are widely dispersed in frequency, but localized in time. In this case, you would want to use less filters per bank. Moreover, many signals are non-stationary and require the coder to make adaptive decisions regarding the optimal time-frequency tradeoff. For our purposes, we use non-adaptive filter banks that are commonly used in audio applications.

Application

We used MDCT (Modified Discrete Cosine Transform) filter banks of 32 filters each. These are PR (perfect reconstruction) banks. This means that the output is just a delayed version of the input assuming no quantization noise. For a codec, obviously, quantization noise will be introduced, but this is separate from the filter banks themselves. The MDCT filter banks are commonly used in modern audio applications.

Filter Bank Example

The following is an example of running a signal through the filter banks and an analysis of the error produced.

[Alex Chen]   [Nader Shehad]   [Aamir Virani]   [Erik Welsh]