Forums

Polyphase filter bank with nonuniform frequency bins and offsets

Started by bmcgee22 September 11, 2008
I am trying to design a configurable analysis/synthesis filter bank with
nonuniform bins and offsets.  My subband sizes are fixed at Fs/32, Fs/64,
Fs/128 and Fs/256 the bandwidth.  I need to be able to support any
combination of these subbands starting at any Fs/256 offset.  My original
approach was a two stage approach that divided the bandwidth into 32
subbands, then split each of those into 1, 2, 4 or 8 subbands before I was
told that I needed to be able to start on any Fs/256 offset.  I am playing
with various architectures to support this, however none of them seem to be
as efficient as I think they should be (granted I am an FPGA coder, not a
DSP expert).  My question is, is there an elegant, efficient way to
accomplish what I am trying to do?

A few more details about the application.  Ultimately this will be
targeted to an FPGA/ASIC, so resource efficiency is a consideration.  The
filter response does not need to be perfect reconstruction, each subband
will roll off starting around 15% away from the edge of the subband.  Since
the larger subbands can have larger roll offs, the larger subbands can use
a decimated version of the Fs/256 prototype filter if that helps the design
at all.

Any help would be greatly appreciated (code, papers, articles, books.
etc.).

Thanks,
Brian


On Sep 11, 7:44&#2013266080;am, "bmcgee22" <bmcge...@yahoo.com> wrote:
> I am trying to design a configurable analysis/synthesis filter bank with > nonuniform bins and offsets. &#2013266080;My subband sizes are fixed at Fs/32, Fs/64, > Fs/128 and Fs/256 the bandwidth. &#2013266080;I need to be able to support any > combination of these subbands starting at any Fs/256 offset. &#2013266080;My original > approach was a two stage approach that divided the bandwidth into 32 > subbands, then split each of those into 1, 2, 4 or 8 subbands before I was > told that I needed to be able to start on any Fs/256 offset. &#2013266080;I am playing > with various architectures to support this, however none of them seem to be > as efficient as I think they should be (granted I am an FPGA coder, not a > DSP expert). &#2013266080;My question is, is there an elegant, efficient way to > accomplish what I am trying to do? > > A few more details about the application. &#2013266080;Ultimately this will be > targeted to an FPGA/ASIC, so resource efficiency is a consideration. &#2013266080;The > filter response does not need to be perfect reconstruction, each subband > will roll off starting around 15% away from the edge of the subband. &#2013266080;Since > the larger subbands can have larger roll offs, the larger subbands can use > a decimated version of the Fs/256 prototype filter if that helps the design > at all. > > Any help would be greatly appreciated (code, papers, articles, books. > etc.). > > Thanks, > Brian
Turning overlap-save into a multiband mixing, downsampling filter bank Borgerding, M. This paper appears in: Signal Processing Magazine, IEEE Publication Date: March 2006 Volume: 23, Issue: 2 On page(s): 158-161 ISSN: 1053-5888 INSPEC Accession Number: 8812534 Digital Object Identifier: 10.1109/MSP.2006.1598092 Date Published in Issue: 2006-04-24 14:07:22.0
>On Sep 11, 7:44=A0am, "bmcgee22" <bmcge...@yahoo.com> wrote: >> I am trying to design a configurable analysis/synthesis filter bank
with
>> nonuniform bins and offsets. =A0My subband sizes are fixed at Fs/32,
Fs/6=
>4, >> Fs/128 and Fs/256 the bandwidth. =A0I need to be able to support any >> combination of these subbands starting at any Fs/256 offset. =A0My
origin=
>al >> approach was a two stage approach that divided the bandwidth into 32 >> subbands, then split each of those into 1, 2, 4 or 8 subbands before I
wa=
>s >> told that I needed to be able to start on any Fs/256 offset. =A0I am
play=
>ing >> with various architectures to support this, however none of them seem
to =
>be >> as efficient as I think they should be (granted I am an FPGA coder, not
a
>> DSP expert). =A0My question is, is there an elegant, efficient way to >> accomplish what I am trying to do? >> >> A few more details about the application. =A0Ultimately this will be >> targeted to an FPGA/ASIC, so resource efficiency is a consideration.
=A0T=
>he >> filter response does not need to be perfect reconstruction, each
subband
>> will roll off starting around 15% away from the edge of the subband.
=A0S=
>ince >> the larger subbands can have larger roll offs, the larger subbands can
us=
>e >> a decimated version of the Fs/256 prototype filter if that helps the
desi=
>gn >> at all. >> >> Any help would be greatly appreciated (code, papers, articles, books. >> etc.). >> >> Thanks, >> Brian > > Turning overlap-save into a multiband mixing, downsampling filter >bank >Borgerding, M. > >This paper appears in: Signal Processing Magazine, IEEE >Publication Date: March 2006 >Volume: 23, Issue: 2 >On page(s): 158-161 >ISSN: 1053-5888 >INSPEC Accession Number: 8812534 >Digital Object Identifier: 10.1109/MSP.2006.1598092 >Date Published in Issue: 2006-04-24 14:07:22.0 >
Thanks for the link. I do not have immediate access to this journal, and have not been able to read it yet (I need to make a trip to the local university library which is not too close). I am familiar with overlap-save and can see how it would work in this situation, I'm guessing the article covers the efficient implementation of a multiband filter bank, reducing total computation cost. My concern, and maybe this is addressed in the article, is the size of my filter and thus the size of the required initial FFT. Currently I am looking at a ~12000 tap filter (I recently had the requirement for the stop band narrowed on me), which to keep the overlap factor reasonable and the FFT a power of two, would push the FFT to 32K. This is probably doable in the hardware I will be targeting, but I'm wondering if the total cost of the entire filter would be higher. My current approach is to take the problem and split it into two. The first part will be a traditional polyphase filter bank, splitting the frequency into 256 bins using the 12000 tap filter prototype. The second part will divide the spectrum into overlapping bins using a polyphase filter bank with much looser stop band rolloff. The output of this will then feed a series of DDCs to filter and downconvert (we don't need every band, and have some time to do this, so this portion could be time shared). I guess I will need to get the article and perform a trade study to see which approach makes the most sense. Thanks for your help. Brian