I have some basic doubts about IIR digital filters.

  1. My first question is about its definition. IIR means Infinite impulse response, so my question is: is it physically possible to realize such filters? Does infinite impulse response means that it is different from 0 for all negative and positive times (from - infinite to + infinite)?

  2. My second question is about the input - output relation in time domain, which is the following one:

    enter image description here

    Which is its meaning? "A linear combination of the output samples is equal to a certain linear combination of the input samples"?

  3. If we apply Z - Transform to the previous expression in time domain, we get:

    enter image description here

    This is due to the time - shift properties of the Z - transforms. What I do not understand is how we have many output terms (for different k) in time domain, while we have only 1 output term (Y(z)) in Z - domain, and the same for the input.


2 Answers 2

  1. No. In this case, "infinite" really means semi-infinite — nonzero for positive time only. If it were nonzero for any negative time, then it would be non-causal, and therefore not physically realizable.

  2. Your equation doesn't look correct — you have \$y(n-k)\$ on both sides, but I think you intended to have \$x(n - k)\$ on the right. Also, it obscures the term for the actual output (\$y(n)\$). It would normally be written more like this:

    $$y(n) = \sum_{k=0}^{M-1}b_k x(n-k) - \sum_{k=1}^{L-1}a_k y(n-k)$$

    It's just one way of showing the relationship between the "feedforward" terms (\$b_k\$) and the "feedback" terms (\$a_k\$). Combining all of the y terms together in the form that you showed makes it easier to take the z transform, which then allows you to characterize the filter as

    $$H(z) = \frac{B(z)}{A(z)}$$

  3. See above. The actual output term is just \$y(n)\$ (where k=0 and a0 is normalized to 1). The rest (k=1..L-1) represent delayed (older) output values being used for feedback.

Note that n = 0 ... N represents a sequence of input or output samples, with time increasing with N (toward the future). Therefore, the expression (n - k), with k positive, represents looking toward the past, to older samples of the input and output.


1) IIR is in contrast to an FIR filter, which is a finite impulse response. Both use infinite in the sense of semi-infinite, to produce causal filters.

An FIR filter has only 'b' terms, so it's guaranteed that if an impulse goes in, then after a delay of the number of b terms, the output will be zero.

An IIR filter also has 'a' terms, which recycle the output. In a stable filter, the output will approach a limit of zero as the time approaches infinity. In practice, the output of a stable digital IIR filter implemented with finite length arithmetic settles down to 'limit cycling', which may be zero output, or may be a small constant or small oscillation of the order of one or a few LSBs. Consider the simplest possible IIR filter, a first order RC. Analytically, the output continues for ever, getting smaller as exp(t). In practice, the detail of the rounding used will determine which limit cycle is eventually produced.

2) The equation is wrong, the 'b' terms are multiplied by the x input values, not y.

This is an implicit relation. It's usually written more usefully and explicitly for y(n) as (b_sum-other_as_sum)/a0

3) It often happens that when we switch between the time domain and the frequency domain, the size of the support varies. An impulse in the time domain has an infinitely wide frequency for instance.

  • \$\begingroup\$ @DaveTweed doh, brain fart. By the same token, should you have an a0? \$\endgroup\$
    – Neil_UK
    Apr 15, 2020 at 15:42
  • \$\begingroup\$ OK, I added it. a0 is just an overall gain factor, which can be assumed to be unity without loss of generality. \$\endgroup\$
    – Dave Tweed
    Apr 15, 2020 at 16:07

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.