Filters are used in digital signal processing to remove undesirable parts of the signal, such as random noise, or to extract useful parts of the signal, such as the parts of the signal belonging to a particular range
For instance, an audio recorded with poor equipment can be filtered to remove the undesired elements from the signal, making it sound as close to the original audio (without disturbances) as possible.
Digital filters can be classified into two groups, FIR (finite-duration impulse response) and IIR (infinite-duration impulse response) filters. When a system is provided with some input, the outcome or response achieved is known as its impulse response.
IIR vs FIR Filters
The difference between FIR and IIR filters is that the formers impulse response is nonzero for only a finite number of samples. IIR filters have an infinite number of nonzero samples. IIR filters are also known as feedback filters and FIR filters do not have any such feedback mechanism. In a difference equation the filter coefficients of IIR filters have feedback terms.
Comparison Table Between FIR filters and IIR Filters
|Parameter of Comparison||FIR Filter||IIR Filter|
|Nature||Non-recursive in nature because it does not re-use its outputs as inputs.||Recursive in nature because it re-uses one or more of its outputs as inputs.|
|Efficiency||Less computationally efficient.||More computationally efficient.|
|Ease of implementation in a circuit||Due to the absence of a feedback mechanism, it is easier to implement in a circuit.||Due to the presence of a feedback mechanism, it is more difficult to implement in a circuit.|
|Feedback mechanism||Do not use feedback circuitry.||Uses a feedback mechanism in which the previous output, in conjunction with the present and past input, is given as ythe present input.|
|Stability||More stable as the present output does not hold any relationship with the previous output.||Less stable as it uses previous output samples as well.|
|Input required to generate current output||Present and past samples of input||Present and past samples of input along with past output.|
|Delay offered||Offers more delay in providing a response||Offers lesser delay in providing a response|
|Memory requirement||Requires more memory||Requires less memory|
|Sensitivity||Less sensitive||More sensitive|
|Ease of controllability||Easy to control||Quite difficult to control|
What is an FIR filter?
Digital filters that generate a finite impulse response of a dynamic system are knows as FIR filters. The impulse response provided by FIR filters is of finite duration. They are named so because the response provided by these filters gets fixed to zero in a finite period of time. In the case of FIR filters, the nth order filter generates (n+1) samples before getting fixed to 0.
FIR filters do not have a feedback mechanism. Their present input consists of only the present and past input values. The summation of a finite quantity of finite samples of input values forms the output of FIR filters. FIR filters are better suited for applications that require a linear phase response.
What is an IIR filter?
Digital filters that generate an infinite impulse response of a dynamic system are known as IIR filters. The present and past inputs in conjunction with the past outputs are taken as the present input.
IIR filter operates in a way that not only the present and past inputs but the past output sample is also taken into consideration. This feedback circuitry is what differentiates them from FIR filters.
The internal feedback mechanism makes these filters recursive in nature. They never allow their response to settle at 0 for an applied impulse. They are computationally more efficient and require less memory. However, due to their recursive nature, they are less stable and are difficult to control.
IR filters are best used for applications that require no phase information, for example, for monitoring the signal amplitudes.
Main Differences Between FIR filters and IIR Filters
- FIR filters are non-recursive in nature. IIR filters are recursive in nature as they have a feedback mechanism. The latter uses a feedback mechanism in which the previous output, in conjunction with the present and past input, is given as the present input.
- FIR filters are easier to implement but are less computationally efficient than IIR filters. Due to the presence of a feedback loop IIR filters are difficult to implement in a circuit.
- FIR filters offer a higher delay in their response. IIR filters offer lesser delay in providing a response.
- FIR filters require more memory as compared to IIR filters. FIR filters are also more stable due to their non-recursive nature. IIR filters, being recursive, are unstable.
- FIR filters are less sensitive and are easier to control than IIR filters.
Digital filters can be designed for different purposes. For example, a filter can be classified as either a high pass, low pass, band stop, or band pass. For instance, when an input signal with high frequency noise is passed through a low pass filter, the high frequency noise is removed from the input, resulting in a clean signal.
These filter types can be implemented using either FIR or IIR filters. A combination of these two can also be used to produce an arbitrary shaped filter. FIR filters have no feedback mechanism. This makes them more stable. They are used in applications requiring linear phases.
IIR filters use previous outputs, along with the present and past inputs, as feedback. This makes them recursive and less stable in nature. IIR filters can achieve a desired filtering characteristic using less memory and calculations than an FIR filter.