Reply by axlq November 13, 20042004-11-13
In article <42ff5eeb.0411120114.33bc915f@posting.google.com>,
Erik <markin@gmx.de> wrote:
>I found the following digital filter algortihm > >Function filter(input: extended):exteded; >begin > x[0]:= (input+ a*x[-1]+b*x[-2]); > filter:= (c*x[0]+d*x[-1]+e*x[-2]); > x[-2]:= x[-1]; > x[-1]:= x[0]; >end; > >Can anybody tell my what type it is? Is it a IIR or a FIR filter, >or something special?
It's a standard IIR filter. Depending on the coefficients a,b,c,d,e, you can get lowpass, highpass, bandpass, band reject, or just about anything. I wrote an article on constructing lowpass and highpass filters, which end up in the form similar to what you show above. You might be interested: http://unicorn.us.com/alex/allpolefilters.html -A
Reply by Fred Marshall November 12, 20042004-11-12
"John Smith" <bill.gates@microsoft.com> wrote in message 
news:cn221e$q87$1@newstree.wise.edt.ericsson.se...
> > "Erik" <markin@gmx.de> wrote in message > news:42ff5eeb.0411120114.33bc915f@posting.google.com... >> Hello all, >> I found the following digital filter algortihm >> >> Function filter(input: extended):exteded; >> begin >> x[0]:= (input+ a*x[-1]+b*x[-2]); >> filter:= (c*x[0]+d*x[-1]+e*x[-2]); >> x[-2]:= x[-1]; >> x[-1]:= x[0]; >> end; >> >> Can anybody tell my what type it is? Is it a IIR or a FIR filter, >> or something special?
Use the canonical form of a filter (which can be either FIR or IIR) to determine. It will look like this: /---\ p[k] /---\ x[k]--------| + |----->-------+------>-----| + |----------> y[k] \---/ | b0 \---/ | | | | +--+--+ | ^ | | ^ | |z^-1 | | | +--+--+ | /---\ | /---\ | + |-----<-------+------>-----| + | \---/ -a1 | b1 \---/ | +--+--+ | | | | | ^ |z^-1 | ^ | +--+--+ | /---\ | /---\ | + |-----<-------+------>-----| + | \---/ -a2 | b2 \---/ Where b0=c; -a1=a; -a2=b; b1=d; b2=e and, on inspection, your x[k] is the point I've labeled p[k]. y[k]=b0*x[k] + b1*x[k-1] + ... + a1*y[k-1] + a2*y[k-2] + '''' H(z) =[b0 + b1*z^-1 +b2*z^-2...]/ [1 - a1*z^-1 -a2*z^-2 ...] If the filter is a FIR, then all of the a's are zero (no feedback). Hmmmmm... I've used these expressions a number of times ... so now why don't I believe them? Fred
Reply by John Smith November 12, 20042004-11-12
"Erik" <markin@gmx.de> wrote in message
news:42ff5eeb.0411120114.33bc915f@posting.google.com...
> Hello all, > I found the following digital filter algortihm > > Function filter(input: extended):exteded; > begin > x[0]:= (input+ a*x[-1]+b*x[-2]); > filter:= (c*x[0]+d*x[-1]+e*x[-2]); > x[-2]:= x[-1]; > x[-1]:= x[0]; > end; > > Can anybody tell my what type it is? Is it a IIR or a FIR filter, > or something special? > > Thanks in advance > em
Bog standard IIR Draw it out and you'll see it immediately. JS
Reply by Erik November 12, 20042004-11-12
Hello all,
I found the following digital filter algortihm

Function filter(input: extended):exteded;
begin
  x[0]:=  (input+ a*x[-1]+b*x[-2]);
  filter:=  (c*x[0]+d*x[-1]+e*x[-2]);
  x[-2]:= x[-1];
  x[-1]:= x[0];
end;

Can anybody tell my what type it is? Is it a IIR or a FIR filter,
or something special?

Thanks in advance
em