Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Concept of infinite impulse response

Status
Not open for further replies.

gary36

Full Member level 4
Joined
Mar 31, 2018
Messages
208
Helped
0
Reputation
0
Reaction score
0
Trophy points
16
Activity points
1,806
The concept of FIR and IIR has been bothering me for some time now. I am unable to understand how and why any response (what to speak of impulse response) can be of infinite length. It has to decay over the period of time. I read that for IIR, the response does not end. This is not very clear. Also can anybody explain how the concept of FIR was conceived? (prime motivation)
 

Don't take the term "infinite" literally. An IIR is a digital filter with feedback, respectively the impulse response is longer than the number of delay elements, typically decaying exponentially. So after a "period of time", the filter output is smaller than ε, respectively zero for a magnitude discrete signal.

In contrast, the FIR output stops after a given number of delay taps.
 

Hi,

A simple IIR filter acts like an RC filter.
A step response of an RC filter takes "inifinte" time to get to the target voltage.

Klaus
 

To explain it clearly let's focus on digital filters.
FIR: the definition of this filter depends only on the input signal. That means as far the input will be 'active', as far the output will be 'active'. When input will be gone, the output will be gone too, after some defined time.
IIR: the definition of this filter depends on both: the input and the output signals. That means, when you stimulate this filter by input signal, it generate some output, which also stimulates this filter. So since input started to be 'active', output never ends (even when input will be gone). In summary - you got a infinite response.
 
Hi,

From a technical view .. I don´t agree.
Especially with the used terms.

input will be 'active'
What does active mean?
Usually there is a digital input. and the whole filter is clocked.
E.g for a signed_int16 input: the input range is -32768 ... +32767. There is no "active" and no "inactive" input.

the output will be gone
The output is always there it never is "gone". (Same is true for an input.)
E.g for a signed_int16 output: the output range is -32768 ... +32767. There is no "gone".

FIR: the definition of this filter depends only on the input signal.
The "definition" depends on the values (and the count) of the filter taps.
It is a clocked filter. With constant input values the ouptut will usually be stable after exactly n clock cycles (There are exceptions). Where "n" is the count of filter taps.

IIR: the definition of this filter depends on both: the input and the output signals.
I don´t agree. For an ideal IIR filter the response (time) is infinite. And the response is the output.
If your filter has infinte resolution ... then the ouput signal will change for an infinite time... on any input signal (stable or no tstable).
(For an ideal IIR filter there is only one exception: When the initial filter values and the constant input value does not change the ouput signal)

For sure there is only limited resolution. Thus the signal will change until the value down to the LSB is stable.
For real IIR filters the repsponse time will be finite.

Klaus
 

So since input started to be 'active', output never ends (even when input will be gone). In summary - you got a infinite response.

Not for a reasonable digital filter design with finite Q and respective finite settling time. Once the output signal falls below the quantization step, the transient response is gone.
 

Thanks for the response and pointing drawbacks in my post, but it is still valid.
I have made 'shortcuts' and some assumptions to explain differences between FIR and IIR responses as simple as I could.
Maybe too simple.
The assumption was academic: discrete-time filters with infinite resolution.

What does active mean?
There is no "gone".
'Active/inactive signal' and 'signal is gone' are not the best phrases of course.
By 'active' I meant non-zero values for the input signal samples, that filter uses at a given time.
By 'signal is gone' I meant values of the signal samples that equals zero from some moment in the time to the infinity.

FIR filter definition (from wikipedia):
c43ba6c329a471401e87fe17c6130d801602ffdf

The above equation depends only on N(order of the filter), bi and input signal x[N] values.


IIR filter definition:
ca56fb92e4ac79c11adfb3850babfdf8737fc768

bddf0360f955643eeedc46d9be4b8f2d4f4d288f

The above equation depends on P(feedforward filter order), Q(feedback filter order), aj, bi, input signal x[N] and output signal y[N] values.

FvM and KlausST also mentioned about quantization and limited resolution, but that was beyond my assumptions.
 

To reinforce points already made don't take it literally. FIR is finite because its response time is trivially defined by the number of 'taps' and doesn't depend on anything else. An IIR's response time depends on its coefficients and could theoretically be infinite (in a system with infinite memory).

Note that although in some ways FIR filters are simpler it's IIRs that map to well understood analog circuits like RC, LC, Sallen-Key etc.
 

An IIR's response time depends on its coefficients and could theoretically be infinite (in a system with infinite memory).

The IIR response can be also "practically" infinite, in case of unstable solution. An IIR filter can show a constant or even increasing filter impulse response, or limit cycles caused by insufficient numerical resolution.

An IIR with this kind of infinite response can be intentionally designed, or more likely created accidently. Some IIR may start to oscillate after an overload event. But intentional oscillating or badly designed exemplars aren't "reasonable" digital filters.
 

Hi
Thanks for all the posts. Am I to understand that in reality no response can be infinite. Consider even RC filter. From experiments we can conclude that capacitor charges to its full capacity. So IIR is not truly "infinite". I am curious why RC filters are not named "IIR". Why is it restricted only to digital filters?
 

Though note that FvM was correct that an intentionally or unintentionally oscillating IIR can also be created that really will have an infinite response (and it doesn't depend on infinite memory as I implied).

For example the digital version of an LC filter need not have any losses and could oscillate forever. This is a technique that can be deliberately used to create an efficient sin wave generator for example (though non-infinite digital precision creates some complexities acheiving this).

This is getting a bit off subject but I ran an experiement on exactly that a few weeks ago. This 'difference equation' generates sin and cos waveforms where c is a coefficient that adjusts precision and frequency (it's based on the fact that sin is the derivative of cos and vice versa, hence you increment each by a fraction of the other). Though you'll see its amplitude can walk away over time due to precision problems. Realistically you might reset it at the zero crossings.

Code:
static int a=0;
static int b=1;

a=a+b/c;
b=b-a/c;
 


Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top