# Distinguishing between FIR and IIR filters from transform function

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?

• For the first part of your question an FIR filter only looks at previous inputs while an IIR filter also looks at previous output results. – Warren Hill Jul 27 '15 at 10:02
• I'm voting to close this question as off-topic because it belongs on DSP.SE – endolith Jul 27 '15 at 13:45
• @endolith Standard SE policy is NOT to migrate to Beta sites. As is this EE.SE's policy. It is on topic to both stacks, and as such, should stay here. – Passerby Aug 6 '15 at 4:28
• @Passerby I don't agree with that. Having something on-topic on 2 different sites leads to duplicate questions and dilutes the quality of both sites. This is 100% a DSP question and belongs on DSP.SE. meta.electronics.stackexchange.com/a/129/142 – endolith Aug 6 '15 at 6:20
• @endolith meta.stackexchange.com/questions/178444/… DSP.SE is a beta site and questions should 100% not be migrated to beta sites. Also meta.electronics.stackexchange.com/questions/3384 mainly, We only migrate questions because they are off-topic on this site. It is perfectly possible for a question to be on-topic on multiple sites, but that is not a reason to migrate it elsewhere. The OP asked their question here, so if it's on-topic here, then it should stay here. – Passerby Aug 6 '15 at 6:25

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).