[music-dsp] crossover filters for compressor

Peter Schoffhauzer scoofy at inf.elte.hu
Mon Mar 19 14:37:43 EDT 2007


Yep, all 2 pole filters with adjustable Q factor ("Q" meaning gain at 
cutoff) will have a Butterworth character when Q is set to sqrt(2)/2.
This includes RBJ, Zoelzer, Tarrabia, SVF, and probably other algorithms.

(The usual implementation of SVF is a bit different, the q parameter 
meaning 1/Q, so q = sqrt(2) will give a Butterworth character. This 
means you could calculate both the LP and HP outputs of a 12 dB/oct 
crossover in one run using an SVF, but the frequency response would be 
distorted near nyquist because SVFs are all-pole filters. And biquads 
are fast, so I don't recommend using SVFs for crossovers.)

The trick is that if Q is 0.7071, that means you have 0.7071 gain at 
cutoff (which equals -3.01 dB by the way). So, if you cascade two such 
filters, the gain at cutoff is 0.7071 * 0.7071 = 0.5. And 0.5 + 0.5 is 
1, so you get unity gain at cutoff. The lowpass and highpass filters are 
in phase, because they have 4 poles, and each pole causes 90 deg phase 
shift, yielding a total of 360 deg (meaning they're in phase).

Best,
Peter


Didier Dambrin wrote:
> 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...
> 
> 
> I'll try that, thanks
> 
> 
> 
> 
>> Hello Didier,
>>
>> Butterworth filters should have a DC gain of 0 dB. The page you have 
>> linked
>> normalizes the output to unity gain at DC, so you don't need to multiply
>> coeffs.
>>
>> You could use RBJ cookbook lowpass/highpass filters with a Q value of 
>> sqrt
>> (2)/2 = 0.7071 to calculate biquad coeffs for LP/HP Butterworth 
>> filters. You
>> cascade two of these serially, and you get 24 dB/oct L-R crossover 
>> filters,
>> which sum flat and have unity gain.
>>
>> Best,
>> Peter
>>
>>
>> On Mon, 19 Mar 2007 17:45:44 +0100, Didier Dambrin wrote
>>> A question about butterworth (trying to implement the 24dB one):
>>> I've found several implementations, but none seemed to deal with the
>>> gain introduced.
>>>
>>> If I want the filtered bands to sum up as the original signal, I
>>> have to multiply my feedforward coefficients by the DC gain as
>>> computed here, right?
>>>
>>> http://www-users.cs.york.ac.uk/~fisher/mkfilter/trad.html
>>>
>>> > Hello Didier,
>>> >
>>> > Flat summing IIR crossover filters:
>>> >
>>> > - 6 dB/oct Butterworth: Use 1 pole lowpass, subtract lowpass out from
>>> > input to get highpass out.
>>> >
>>> > - 12 dB/oct Linkwitz-Riley: Process input using 2 pole lowpass & > 
>>> highpass
>>> > filter at the same frequency with q = 0.5, invert polarity of one 
>>> band > to
>>> > make the outputs in phase.
>>> >
>>> > - 18 dB/oct Butterworth: Use 3 pole lowpass/highpass Butterworth > 
>>> filters
>>> > (q = 0.7071). You can do that by serially cascading a 2 pole filter 
>>> > with
>> q
>>> > = 1.0 and a one pole filter.
>>> >
>>> > - 24 dB/oct Linkwitz-Riley: Use 2 pole lowpass/highpass Butterworth
>>> > filters (q=0.7071), process both LP and HP channel *twice* using two
>>> > filters (so you get a 24 dB/oct slope for both LP and HP). Don't 
>>> need > to
>>> > invert polarity here.
>>> >
>>> > These filters are all commonly used in loudspeaker design, and they 
>>> all
>>> > sum to perfectly flat. They work well with compressors (and other
>>> > multiband applications as well).
>>> >
>>> > Versions exist with steeper slopes too, but transient response of 
>>> them > is
>>> > not that good, so they may be of less use. Of course you can add more
>>> > filters to create more bands:
>>> >
>>> > input -> lp1 --------> low band
>>> > input -> hp1 -> lp2 -> mid band
>>> > input -> hp2 --------> high band
>>> >
>>> > etc.
>>> >
>>> > Best,
>>> > Peter
>>> >
>>> >
>>> > Didier Dambrin wrote:
>>> >> I was thinking of what could work as a good crossover filter for a 3-
>> band
>>> >> multiband compressor, without using FIR's.
>>> >>
>>> >> I can imagine:
>>> >>
>>> >>
>>> >> -a simple lowpass & highpass (or 2 lowpass), subtracted from the
>> original
>>> >> signal to give the third band. But due to phasing problems, this will
>>> >> work only with simple 6dB IIRs, right?
>>> >>
>>> >>
>>> >> -a higher-order low & highpass, and live with the fact that the 
>>> mid >> band
>>> >> would be more the residual than the mid band.
>>> >> I'm only worried that each band won't have the same compression
>> settings,
>>> >> so they should be separated enough. But maybe it's not important.
>>> >>
>>> >>
>>> >> -a low & highpass, but involving 2 allpass to correct the phase >> 
>>> problem
>>> >> so that the residual will really be the mid. I have no idea how to
>>> >> compute that allpass, and if it's even doable, though.
>>> >>
>>> >>
>>> >> -a low, band & highpass, living with the fact they won't sum up 
>>> like >> the
>>> >> original signal (or are there IIR's designed for this?)
>>> >>
>>> >>
>>> >> -using minimum-phase IIR's? Are there IIR's really better than others
>> for
>>> >> this kind of stuff? I don't know much about this either.
>>> >>
>>> >>
>>> >> I was wondering if one of those methods was more common than the 
>>> >> others.
>>> >>
>>> >> thanks
>>> >> -- >> 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
>>> >>
>>> >
>>> > --
>>> > 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
>>> >
>>> >
>>> > -- > No virus found in this incoming message.
>>> > Checked by AVG Free Edition.
>>> > Version: 7.5.446 / Virus Database: 268.18.13/726 - Release Date:
>>> > 18/03/2007 15:34
>>> >
>>> >
>>>
>>> -- 
>>> 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
>>
>>
>> -- 
>> Open WebMail Project (http://openwebmail.org)
>> Debian Project (http://www.debian.org)
>>
>> -- 
>> 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
>>
>>
>> -- 
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.5.446 / Virus Database: 268.18.13/726 - Release Date: 
>> 18/03/2007 15:34
>>
>>
> 
> -- 
> 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