[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