[music-dsp] crossover filters for compressor

Peter Schoffhauzer scoofy at inf.elte.hu
Tue Mar 20 06:05:54 EDT 2007


Hello Didier,

There may be many way of calculating a Butterworth response filter. The 
definition is not the implementation, so these may differ, rename 
coeffs, take out a global gain coeff, etc. For example RBJ and Zoelzer 
biquad filters look quite different, yet they give the same coefficients 
(they are both based on bilinear transform).

The definition of Butterworth is that the filter is maximally flat in 
the passband, without any ripples, and it does not deal with the actual 
implementation. The main difference between actual response of 
implementations might differ in zeros, that is, some Butterworth 
implementations contain only poles and no zeros, yielding a high 
frequency boost near Nyquist (like an SVF). Generally, the most 
difference between digital filters are usually near Nyquist and near DC.

Best,
Peter


Didier Dambrin wrote:
> How many ways are there to compute coefficients for the same filter btw?
> 
> Because I've read several implementations for butterworth filters, a lot 
> of them didn't looked the same, and they didn't look like in the 
> cookbook either (and to make things harder, some invert the a & b 
> coefficients, or name them differently, or precompute the a & b signs, 
> etc).
> 
> I've used IIR's for so many years and I still don't understand them.
> 
> 
> 
>>>
>>> Filters in RBJ's cookbook are butterworth when not resonant? I didn't 
>>> know
>>> that. Right when I thought I started to understand IIR filters...
>>
>> the cookbook filters do not specify whether they are butterworth or 
>> not or chebyshev or even "resonant" (that is less than maximally 
>> flat).  the difference between these is just the Q.
>>
>>> From: "James Chandler Jr" <jchandjr at bellsouth.net>
>>> Subject: Re: [music-dsp] crossover filters for compressor
>>> Date: Mon, 19 Mar 2007 14:23:09 -0400
>>>
>>> Any second-order filter with a Q = 1 / sqrt(2), will be Butterworth, 
>>> if it is
>>> designed correctly. Doesn't matter if it is passive analog, active 
>>> analog, or
>>> digital, as long as it has that exact Q value.
>>
>> in general, you can use the LPF or HPF as a section for any order 
>> Butterworth.  the Q value would be:
>>
>>   1/Q = 2*cos( (pi/N)*(n + 1/2) )    where  0 <= n < N/2
>>
>> N is the order of the Butterworth and n is the integer biquad section 
>> number. there's a similar formula for the Tchebyshev (i thought i 
>> worked it out once).  there are no prototype sections in the cookbook 
>> to do Inverse Tchebyshev (i never got around to it).  these sections 
>> would need zeros on the unit circle at specified frequencies.  i 
>> s'pose i should work it out and toss that in.  maybe someday.
>>
>>> Maybe some designs would need
>>> gain correction to get the passband gain == 1.0. I think the RBJ 
>>> filters are
>>> properly gain-normalized out-of-the-box.
>>
>> i tried to insure that.  this is why there are two BPFs, one with the 
>> peak gain normalized and the other with the skirts normalized.
>>
>> -- 
> 
> -- 
> dupswapdrop -- the music-dsp mailing list and website: subscription 
> info, FAQ, source code archive, list archive, book reviews, dsp links 
> http://music.columbia.edu/cmc/music-dsp 
> http://music.columbia.edu/mailman/listinfo/music-dsp
> 




More information about the music-dsp mailing list