[sdiy] Re: IIR and FIR

Magnus Danielson magnus at rubidium.dyndns.org
Fri Jun 6 02:09:43 CEST 2008


From: Scott Gravenhorst <music.maker at gte.net>
Subject: [sdiy] Re: IIR and FIR
Date: Thu, 05 Jun 2008 16:24:13 -0700
Message-ID: <200806052324.m55NOD9l030103 at linux7.lan>

> >Veronica Merryfield wrote:
> >I have used IIR filters going back 20 years now even on a poor 6Mhz
> >Z80 and they do resonate. FIRs don't resonate but IIRs do - it's why
> >they are called Infinite Impulse Response . I can some code somewhere
> >in my archive for taking cutoff frequency and resonance and producing
> >the parameters which I can try to find if required but there are
> >examples on the web.
> 
> Are these sweepable filters?  
> 
> I'm interested in a frequency sweepable IIR with controllable resonance.  I.e., are they an acceptable alternative to an SVF?  
> 
> An SVF sounds very good to me, but does have high sample rate demands.

Now, this is a bit problematic. Bilinear transformed filters (which have good
properties) tend to use arctan compensation. Doing that in realtime is
expensive. However, for higher sample rates the filter cut-off stays close to
0 and things can be approximated and behave fairly linear.

If you map your integrators bilinearly you get for each integrator

i1 = i0
i0 = i1 + i*T
o  = i0 + i1

where i is the input, o the output and T is the sample time. i0 and i1 is the
integrator state variables.

Converting a normal SVF into this form is trivial and only a slight variation
of what you already have around:

http://www.fpga.synth.net/pmwiki/pmwiki.php?n=FPGASynth.SVF

However, you can approximate the sin such that f = 2 pi Fc / Fs. I think you
are getting my point... the real trick is the sample rate and the handy
reductions it allows you to do.

Cheers,
Magnus



More information about the Synth-diy mailing list