Searching \ for ' [Re: [PIC]: What is IIR filter?]' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page:
Search entire site for: '[PIC]: What is IIR filter?]'.

No exact or substring matches. trying for part
PICList Thread
'[PICLIST] [Re: [PIC]: What is IIR filter?]'
2001\01\20@132119 by Jose S. Samonte Jr.

picon face
How is it done, by software, or hardware?

Mike Harrison <spam_OUTmikeTakeThisOuTspamWHITEWING.CO.UK> wrote:
On Sat, 20 Jan 2001 06:43:57 MST, you wrote:

>Good day to everyone!
>What is IIR filter?
Infinite-Impulse Response (As opposed to Finite Impulse Response),
usually a recursive filter, where part of the output is fed back into
the input, so in principle an inpulse can affect the output for an
infinite amount of time, if the coefficients are right (or wrong...)

A FIR filter sums the output of a fixed number of samples, so an
impulse will only have an effect for a finite time.
>It is a software or hardware digital filter?

-- Going offline? Don't AutoReply us!
email with SET PICList DIGEST in the body

Get free email and a permanent address at

-- Going offline? Don't AutoReply us!
email with SET PICList DIGEST in the body

2001\01\20@133144 by Bob Ammerman

picon face
----- Original Message -----
From: Jose S. Samonte Jr. <.....dyoweeKILLspamspam.....USA.NET>
Sent: Saturday, January 20, 2001 1:21 PM
Subject: Re: [Re: [PIC]: What is IIR filter?]

How is it done, by software, or hardware?

It can be either. It is often done in a DSP (digital signal processor) which
is a special type of high-performance processor designed for this type of
application. It can be done in a PIC, if the signals are of low enough
frequency for the PIC to be able to keep up (typically sub-audio

Here is a very simple IIR in a pseudocode representation:

   filteredoutput = filteredoutput * (1-X) + newinput * X

where 'X' is a value between 0.0 and 1.0.

When 'X' is 1.0 no filtering takes place because the formula becomes:

   filteredoutput = filtredoutput * 0.0 + newinput * 1.0

When 'X' is 0.0 we ignore the input becuase the formula becomes:

   filteredoutput = filteredoutput * 1.0 + newinput * 0.0

Values in between give varying results. For example, when 'X' is 0.5 we

   filteredoutput = filteredoutput * 0.5 + newinput * 0.5

In other words, the output is average of whatever it used to be and the new
input (sample) value.

After a bunch of samples, what we have is a weighted average of samples (in
theory going back infinitely, hence "I"IR):

1/2 of most recent sample
1/4 of sample before that
1/8 of sample before that
1/16 of sample before that

Note that the series 1/2+1/4+1/8+1/16... sums to 1.0, so the average is in
the same 'scale' as the individual samples.

Bob Ammerman
RAm Systems
(contract development of high performance, high function, low-level

-- Going offline? Don't AutoReply us!
email with SET PICList DIGEST in the body

More... (looser matching)
- Last day of these posts
- In 2001 , 2002 only
- Today
- New search...