[sdiy] Analysis filter bank help

cheater00 . cheater00 at gmail.com
Fri May 10 21:00:59 CEST 2013


Richie,
you might then want to do a series of cross-overs, with the lower-part
of each going to the next crossover that has a slightly lower
frequency.
But this might be a bad idea with 20 filters.. Especially if you're
not in a 64-bit world..

Cheers,
D.

On Fri, May 10, 2013 at 6:44 PM, Richie Burnett
<rburnett at richieburnett.co.uk> wrote:
> Hi, and thanks for the neat suggestion.  I hadn't thought of trying that.
>
> However, unfortunately I don't think this trick is going to work for me.  In
> the digital implementation the bandpass filters all run at different sample
> rates to achieve gains in computational efficiency, therefore it would be
> hard for me to sum all the bandpass filter outputs back together, and then
> subtract this from the original input to get a residual.
>
> The output from all the bandpass responses combined would also only be flat
> in amplitude, but the phase changes very abruptly at the cutoff frequency of
> each bandpass filter.  (You can think of all the band-pass filters adding up
> to one big "allpass filter" over the total frequency span, where the
> resulting amplitude is more-or-less flat, but the phase wiggles all over the
> place!)  This would result in a comb-filter type response when combined with
> the original input signal due to the varying phase shift.
>
> -Richie,
>
> ----- Original Message ----- From: "cheater00 ." <cheater00 at gmail.com>
>
> To: "Richie Burnett" <rburnett at richieburnett.co.uk>
> Cc: "synth-diy" <synth-diy at dropmix.xs4all.nl>
> Sent: Friday, May 10, 2013 6:38 AM
>
> Subject: Re: [sdiy] Analysis filter bank help
>
>
>> Hi Richie,
>> if this is digital, just sum up your band pass outputs, deduct them
>> from the input, and what's left is the upper and lower bands mixed
>> together. Then use a simple cross-over which centers somewhere in the
>> middle of the dead zone, one such that the pass-band has no phase
>> shift.
>>
>> Cheers,
>> D.
>>
>> On Fri, May 10, 2013 at 12:41 AM, Richie Burnett
>> <rburnett at richieburnett.co.uk> wrote:
>>>
>>> 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,
>>> _______________________________________________
>>> Synth-diy mailing list
>>> Synth-diy at dropmix.xs4all.nl
>>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>
>



More information about the Synth-diy mailing list