Filter design
|
The design of a frequency domain filter must begin by deciding what kind of filter is required for the task at hand.
The basic functionality must be decided first, like low-pass, high-pass, band-pass, all-pass, or more complex functions.
- A low-pass filter is used to block unwanted high-frequency signals.
- A high-pass filter passes high frequencies fairly well; it is helpful as a filter to block any unwanted low frequency components.
- A band-pass filter passes a limited range of frequencies.
An important parameter is the required frequency response. In particular, the steepness and complexity of the response curve is a deciding factor for the filter order and feasibility.
A first order filter will only have a single frequency-dependent component. This means that the slope of the frequency response is limited to 6 dB per octave. For many purposes, this is not sufficient. To achieve steeper slopes, higher order filters are required.
It must also be decided how the filter is going to be implemented:
Contents |
Analog filters
The design of linear analog filters is for the most part covered in the linear filter section.
Digital filters
Digital filters are implemented according to one of two basic principles, according to how they respond to an impulse:
Sample rate
Unless the sample rate is fixed by some outside constraint, selecting a suitable sample rate is an important design decision. A high rate will require more in terms of computational resources, but less in terms of anti-aliasing filters. Interference and beating with other signals in the system may also be an issue.
Anti-aliasing
For any digital filter design, it is crucial to analyze and avoid aliasing effects. Often, this is done by adding analog anti-aliasing filters at the input and output, thus avoiding any frequency component above the Nyquist frequency. The complexity (i.e., steepness) of such filters depends on the required signal to noise ratio and the ratio between the sampling rate and the highest frequency of the signal.
IIR
IIR filters are the digital counterpart to analog filters. They use feedback, and will normally require less computing resources than an FIR filter of similar performance. Due to the feedback, high order IIR filters may have problems with instability and arithmetic overflow, and require careful design to avoid such pitfalls. Additionally, they have an inherent frequency-dependent phase shift, which can be a problem in many situations. 2nd order IIR filters are often called 'biquads' and a common implementation of higher order filters is to cascade biquads. A useful reference for computing biquad coefficients is the RBJ Audio EQ Cookbook (http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt).
FIR
FIR filters do not use feedback, and are inherently stable. FIR filter coefficients are normally symmetrical, and that makes them phase neutral by nature. It is also easier to avoid overflow. The main disadvantage is that they may require significantly more processing and memory resources than cleverly designed IIR variants. FIR filters are generally easier to design: The Remez exchange algorithm is one suitable method for designing quite good filters semi-automatically.