1
$\begingroup$

I am confused with the classifications of an LTI system as recursive or non-recursive systems and FIR or IIR systems.

I understood what the FIR and an IIR systems are, but is it correct to say that FIR system is always non-recursive?
We could express an finite accumulator up to past N inputs (FIR system) in both non-recursive and recursive forms.

Also is it correct to say that a non-recursive system is always an IIR system or vice versa?

$\endgroup$
2
  • $\begingroup$ Very related: this answer. $\endgroup$ – Matt L. Apr 5 at 19:59
  • $\begingroup$ Here is another answer about the topic. There is a class of FIR filters called Truncated IIR or TIIR. They are recursive, approximate an IIR with the tail truncated. If the delay is long enough, a TIIR is a more computationally efficient than the transversal FIR structure that is $O\{L\}$. $\endgroup$ – robert bristow-johnson Apr 6 at 2:08
7
$\begingroup$

The logical implications are the following:

"non-recursive" $\Longrightarrow$ FIR

IIR $\Longrightarrow$ "recursive"

But the opposites are not necessarily true because a FIR system can be implemented recursively (transfer function poles can be cancelled by zeros).


Of course, when referring to "recursive" or "non-recursive" we always talk about implementations with finitely many operations per output sample. Clearly, any discrete-time LTI system can be described by a generally infinite convolution sum, but that is not what we mean by "non-recursive".
$\endgroup$
6
  • $\begingroup$ Could you please clarify why is a non-recursive system always an FIR? Is it from a theoretical point of view or implementation point of view? Because theoretically an accumulator of past infinite number of inputs which is an IIR can be expressed non-recursively and also recursively. $\endgroup$ – Sai Krishna Garlapati Apr 6 at 4:37
  • $\begingroup$ My understanding is that an FIR and IIR could both be theoretically expressed as a recursive or as a non-recursive system. But from an implementation point of view an FIR is mostly implemented as a non-recursive structure but could be implemented as a non-recursive structure also. But an IIR system is always implemented as arecursive structure. Am I right? $\endgroup$ – Sai Krishna Garlapati Apr 6 at 4:46
  • $\begingroup$ @SaiKrishnaGarlapati How do you express an infinite accumulator non-recursively? $\endgroup$ – jpa Apr 6 at 5:39
  • 1
    $\begingroup$ @SaiKrishnaGarlapati Ah, you mean with infinitely long expression. I wonder if there is a widely accepted definition whether non-recursive filters can have infinitely many coefficients. Infinity is always an annoying corner-case: for example all functions are polynomial, if the polynomial can have infinite coefficients. $\endgroup$ – jpa Apr 6 at 6:23
  • 2
    $\begingroup$ @SaiKrishnaGarlapati: The terms "recursive" or "non-recursive" always refer to implementations, because it is a trivial fact that any discrete-time LTI system can be described by an (generally infinite) convolution sum. But it doesn't make much sense to say that any LTI system is (?) a non-recursive system ... $\endgroup$ – Matt L. Apr 6 at 6:57
1
$\begingroup$

is it correct to say that FIR system is always non-recursive?

You answer that yourself:

We could express an finite accumulator up to past N inputs (FIR system) in both non-recursive and recursive forms.

exactly. A common example of a recursive filter that's in fact an FIR is the CIC filter.

Also is it correct to say that a non-recursive system is always an IIR system

no,

or vice versa?

neither (see above)

$\endgroup$
1
  • $\begingroup$ seriously, trivial to answer by finding the simplest IIR you can imagine, which is a single-pole IIR: y[t] = y[t-1]·a+x[t]·(1-a) . That's an IIR and it's recursive system. $\endgroup$ – Marcus Müller Apr 6 at 7:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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