[sdiy] Analysis filter bank help

Richie Burnett rburnett at richieburnett.co.uk
Fri May 10 00:41:03 CEST 2013


Hi all,

I'd like to pick the collective brains of this list's members, if I may. 
It's a question about analogue filter design...

I currently have an analysis filter bank designed for a Vocoder (will be a 
DSP implementation eventually.) Currently this consists of 20 bands.  Each 
of these is an 8th-order bandpass filter with 1/3rd octave bandwidth.  These 
filters are Linkwitz-Riley filters (sometimes called "Butterworth squared".) 
This ensures that adjacent filter band responses are both 6dB down and 
in-phase where bands meet, with the intention of getting the outputs of the 
entire filter bank to add up to a flat frequency response.  So far this 
works very nicely.  The resulting 20 analogue band-pass responses sum to a 
flat line with about +/-0.5dB ripple.

Now here's the catch.  I want to change the bottom filter band to be a 
low-pass response, and the top filter band to be a high-pass response.  Then 
these two filters will catch everything below, and everything above the main 
bank of 18 remaining bandpass filters.  My intuition was to design these to 
be Linkwitz-Riley low-pass and high-pass responses respectively, but when 
their outputs are summed with the other 18 bandpass filters the result 
doesn't add up anywhere near to a nice flat response!  In fact the very 
gradual roll-off of these L-R filters wrecks the summed response anywhere 
near each end of the filter bank.

I took a look at the excellent web page of Jurgen Haible about his Vocoder, 
and notice that his lowest and highest band's filters are lowpass and 
highpass like I want to implement.  However, their frequency responses seem 
to be Chebyshev type-1 responses.  I'm not sure how he arrived at this 
revalation to use Chebyshev filters for the lowest and highest bands, and 
unfortunately can't ask him.  So, can anyone explain to me the maths behind 
how this works?

Also, whilst Jurgen's Cheby low-pass and high-pass filters incorporate into 
the bank to give a relatively flat response compared to my attempts, I'm 
still a little concerned about the quite leasurely rate of roll-off in the 
stopbands for these filters at each end of the bank:

http://www.jhaible.com/vocoder/living_vocoder.html

I'd really like to understand what's going on here if someone can explain, 
or can point me towards some useful references.  Everything is simulations 
of Laplace functions for me at the moment, so I'm happy to talk maths 
instead of circuits if that's what's required!

Many thanks for reading,

-Richie Burnett, 




More information about the Synth-diy mailing list