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?

  • \$\begingroup\$ 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. \$\endgroup\$ Jul 27, 2015 at 10:02
  • 1
    \$\begingroup\$ I'm voting to close this question as off-topic because it belongs on DSP.SE \$\endgroup\$
    – endolith
    Jul 27, 2015 at 13:45
  • 1
    \$\begingroup\$ @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. \$\endgroup\$
    – Passerby
    Aug 6, 2015 at 4:28
  • \$\begingroup\$ @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 \$\endgroup\$
    – endolith
    Aug 6, 2015 at 6:20
  • 1
    \$\begingroup\$ @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. \$\endgroup\$
    – Passerby
    Aug 6, 2015 at 6:25

1 Answer 1


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


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.