[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