For those who have limited knowledge of DSP FIR and IIR terms may seem little bit tricky. Well FIR stands for Finite Impulse Response and IIR stands for Infinite Impulse Response. Lets see what does it mean in popular manner.
All filters have their own characteristics. Characteristic are a response to a pulse applied to filters input. If we know filters response, we can easily calculate filters amplitude and phase behaviour. So filter can be imagined as a transfer function, which gives a certain response to input signal.
In digital systems signal is sampled and each sample is considered as a pulse. Calculation filter response becomes quite easy task.
Lets see what filter responses can be. A pulse in filters input may cause finite number of output pulses, but can cause thousands (theoretically – infinite number of response pulses). Here we fase two therms – FIR and IIR.
IIR as we mentioned is finite impulse response filter, this means that such filter gives finite number of pulses on output of filter ant filter function generally can be described as:
y[n]=x[n]*c0+x[n-1]*c1…x[n-N]*cN
where y[n] is output signal at instant n, x[n] input signal at instant n, ck – the impulse response from 0 to N instants, N- number of samples in the pulse response.
Lets see what IIR response look like:
y[n]=a1*y[n-1]+a2*y[n-2]…ak*y[n-k]+b0*x[n]+b1*x[n-1]…bk*x[n-k]
We see, that IIR filter is a bit harder to read, because it has a feedback -what means that output signal y[n] is fed back to input. Naturally there is a question, so why use IIR filter if simpler is to use FIR? One of obvious answers are, that IIR filter response can be created with few coefficients comparing to FIR. So IIR requires less computing power than FIR. But in other hand FIR filter is easier to design, but gives flat phase response. FIR filters are also unconditionally stable while IIR can be unstable if designed poorly. And in side effect can oscillation process start.