[sdiy] Digital filtering question

Wooster Audio nathan at woosteraudio.com
Tue Aug 24 16:46:11 CEST 2010


  On 8/24/2010 8:54 AM, Antti Huovilainen wrote:
> 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.

Thats what I am doing, sorry I spoke imprecisely.  I am using the 
"compromise" filter from Stilson's paper.  I'd like to switch to try 
your filter, but I don't quite understand how to implement it yet.  I'm 
still playing around with different tanh implementations and Vt values.

>> 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.

Good points.  There are some advantages to the recursive approach that 
may make those techniques worthwhile.

> Antti
>
> "No boom today. Boom tomorrow. There's always a boom tomorrow"
>   -- Lt. Cmdr. Ivanova
>




More information about the Synth-diy mailing list