Difference Between FIR and IIR


FIR and IIR are digital filters that are commonly used in digital signal processing. There are only a few components that make up these filters, but these components can be arranged in various ways to make complicated filters for use in digital signal processing.

FIR stands for Finite Impulse Response, while IIR means Infinite Impulse Response. Though both FIR and IIR serve the same purpose, there are many differences in features and pros and cons of the two types, and this article intends to highlight features of both to compare the two types of filters.

In FIR, the output signal of the filter, after the input signal has been set from non zero to zero, can be non zero only for a finite number of sample times before the output signal also becomes zero. On the other hand in IIR, the output signal of the filter can be non zero infinitely after you set the input signal from non zero to zero. One can choose either of the two filter types, but the choice affects designing and implementation of the filter. In general, for all filtering applications, FIR filters are sufficient. They use the available precision in a better way and they are robust (numerically) too. However, there are cases when FIR filters become too large, for example when a large number of filter coefficients are used. In such cases FIR filters become too expensive and difficult to implement as they require more time power and engineering time. This is when IIR filters come into play.

Difference between FIR and IIR

The biggest difference between FIR and IIR filters is the impulse response, which is finite in case of FIR and infinite in case of IIR. However, there are many more differences between the two. For similar filtering performance, implementation of FIR filters requires more multiplications and summations than IIR. But certain computer systems are more suited for FIR than IIR making the user go for FIR.

FIR filters are non recursive while IIR filters are recursive. Thus there is no feedback involved in FIR which is very much there in case of IIR.

IIR filters can be designed to simulate classical analog filter responses while FIR filters cannot achieve it.

IIR is a bit harder to read than FIR as there is feedback with IIR. Then why use IIR over FIR? Well, IIR makes use of fewer numbers of coefficients than FIR so it takes lesser time for the user to make computations. But FIR filters are easier to design though they give a flat response. Then there is the issue of stability. If poorly designed, IIR filters can be unstable while FIR filters are always stable.

Thus we see that both FIR and IIR filters have their own set of features and also pros and cons and it often depends upon the requirements of the user to choose the right type of filter.