Electronic – Distinguishing between FIR and IIR filters from transform function

digital filterdspfiltermath

I was good at this but unfortunately I have forgot almost everything… So the question is what are the steps to tell if a transform function is for IIR or FIR filter:

$$H(z) = \frac{z^3+5z^2+3z+1}{10z^3}$$

Also how to tell it it has linear phase response?

Best Answer

First, note that FIR/IIR is not the same as non-recurrent/recurrent (where recurrent means that the output depends on previous inputs and previous outputs).

You can have a non-recurrent filter with infinite impulse response (e.g. \$h[n] = sinc(n/3)\$, which cannot be expressed as a recursion). And you can have a recursive construction for a FIR filter.

But, for finite-order systems, you can in general associate FIR with non-recursive forms, and IIR with recursive forms.

Your transfer function has a trivial denominator, so there is no recurrence. Divide by \$z^3\$ and you get:

$$H(z) = 0.1 + 0.5 z^{-1} + 0.3 z^{-2} + 0.1 z^{-3}$$

Trasnform back and you get the impulse response:

$$h[n] = 0.1 \delta[n] + 0.5 \delta[n-1] + 0.3 \delta[n-2] + 0.1 \delta[n-3]$$

The impulse response starts at \$n=0\$ and ends at \$n=3\$, therefore its support is finite (FIR).

If you had poles not at \$z=0\$, then you have an IIR filter. For example, if the denominator is \$\frac{\cdots}{z^2 (z-1/3)}\$, now you have a pole at \$z=1/3\$, and your recurrence equation yields (divide top and bottom by \$z^3\$ first):

$$Y(z)(1-1/3 z^{-1}) = X(z)(0.1 + 0.5 z^{-1} + 0.3 z^{-2} + 0.1 z^{-3})$$

$$y[n] - 1/3 y[n-1] = 0.1 x[n] + 0.5 x[n-1] + 0.3 x[n-2] + 0.1 x[n-3]$$

So you can see that the output \$y[n]\$ depends on previous inputs and also on the previous output \$y[n-1]\$.

Now to phase linearity:

Causal, finite-order digital filters can only be of generalized linear phase if the impulse response is symmetric (check these slides for the 4 types of symmetry; wikipedia article is undergoing copyright discussions).

So, for your original filter, the impulse response terms are { 0.1 0.5 0.3 0.1 }; not symmetric, so not linear phase.

IIR causal filters will never be linear phase (impulse response starts at 0 and never ends, so no symmetry possible).