[sdiy] Digital filtering question
Antti Huovilainen
ajhuovil at cc.hut.fi
Tue Aug 24 15:54:44 CEST 2010
On Tue, 24 Aug 2010, Wooster Audio wrote:
> I've got an 18-bit 4-pole IIR filter running on my FPGA synth. It sounds
> okay, but hopefully has some room for improvement. I have a feeling the
> extra bits come in handy for resonance and distortion.
You're probably better off using cascaded 1st order sections with global
feedback. Then 18 bits is plenty enough for the multiplies and double
precision accumulators are cheap in FPGA.
> One area where you really need the extra bits in an IIR filter is an
> ADSR. I tried to approximate an exponential curve using an 18-bit IIR,
> and could not get a good range of envelope times. At some point x(n)
Extra bits or alternative structure. Calculating the "filter" at lower
samplerate helps as does using higher resolution accumulator while
sticking to 16 or 18 bit multiplies. In an fpga you can also use shifts to
take advantage of the fact that the coefficient is either close to 0.0 or
1.0 depending on your filter arrangement.
Antti
"No boom today. Boom tomorrow. There's always a boom tomorrow"
-- Lt. Cmdr. Ivanova
More information about the Synth-diy
mailing list