Forums

Modulated Polyphase filter bank with IFIR prototype

Started by bmcgee22 January 3, 2013
I have a modulated polyphase filter bank that I am trying to improve the
performance and was wondering if the prototype FIR could be replaced with
an IFIR, and if that would offer any improvement.  The problem I am having
is trying to figure out how the cascaded filters fit together before the
FFT.  I am an EE with some DSP background, but mostly self taught so there
are several holes in my understanding of DSP theory.

Current design is a 64 channel filter bank with a 256 tap prototype filter,
so input is commutated to 64x4 tap filters, then FFTed.  My desired IFIR
consists of a 128 tap prototype that is interpolated by 2 and a 4 tap
masking filter.  So, I am not sure how the data would need to flow through
the 2 filters to produce the needed input for the 64 point FFT.

Current design is implemented in an FPGA with multiple copies.  I recently
had a requirement change and was hoping to get a little better performance
without increasing the resources required (mainly mults) too much, and was
hoping using an IFIR would help.  Any help is greatly appreciated

Thanks,
Brian
I don't believe the prototype FIR can be efficiently replaced by an IFIR in
a polyphase FFT channelizer.  I actually was looking at trying to do this
exact thing a few months ago.  

My logic may be way off here, but here's what I encountered when attempting
to use an IFIR in an FFT based channelizer.  I usually derive my
channelizers by starting with a single channel implementation (basically a
configurable bandpass filter followed by a configurable mixer and then a
decimator), decompose the filter into a polyphase form, and then replace
the complex multiplies on the polyphase branches with an FFT.  In my
attempted IFIR channelizer derivation, I was left with two bandpass FIR
filters in serial.  After decomposing the image reject filter into a
polyphase form and using the noble identities to pull the decimator through
the image reject filter, I was left with a commutator stucture at the input
to the image reject filter.  The key point here is that the commutator
cannot be "pulled through" the first filter.  So now I'm stuck with a
bandpass filter followed by a commutator followed by a polyphase image
reject bandpass filter.  I need ALL the output samples from the first
filter to be input to the image reject filter.  So I'm left with a
seemingly inefficient bandpass filter that cannot be turned into an FFT
channelizer.

I apologize if this seems like gibberish.  It's much easier to draw out on
a chalk board.  Let me know if you have better luck than me!
Not gibberish, it makes sense and sounds like the same problem I am having.
 In researching if this made sense to try or not, I found papers of people
claiming to have done it and achieving a resource reduction, but they
usually gloss over the details of implementing the design, just talk about
the results.  The fact that people claimed to have done this just made me
think I was missing something and that my lack of some theory was the
problem.

Brian

>I don't believe the prototype FIR can be efficiently replaced by an IFIR
in
>a polyphase FFT channelizer. I actually was looking at trying to do this >exact thing a few months ago. > >My logic may be way off here, but here's what I encountered when
attempting
>to use an IFIR in an FFT based channelizer. I usually derive my >channelizers by starting with a single channel implementation (basically
a
>configurable bandpass filter followed by a configurable mixer and then a >decimator), decompose the filter into a polyphase form, and then replace >the complex multiplies on the polyphase branches with an FFT. In my >attempted IFIR channelizer derivation, I was left with two bandpass FIR >filters in serial. After decomposing the image reject filter into a >polyphase form and using the noble identities to pull the decimator
through
>the image reject filter, I was left with a commutator stucture at the
input
>to the image reject filter. The key point here is that the commutator >cannot be "pulled through" the first filter. So now I'm stuck with a >bandpass filter followed by a commutator followed by a polyphase image >reject bandpass filter. I need ALL the output samples from the first >filter to be input to the image reject filter. So I'm left with a >seemingly inefficient bandpass filter that cannot be turned into an FFT >channelizer. > >I apologize if this seems like gibberish. It's much easier to draw out
on
>a chalk board. Let me know if you have better luck than me! >
On 1/4/13 1:09 PM, bmcgee22 wrote:
> Not gibberish, it makes sense and sounds like the same problem I am having.
i thought that i knew what FIR polyphase filter banks are, at least with regard to precision delay (where the delay has both integer and fractional sample components to it) and what it means to modulate that parameter. but i could not figure out what either of you guys were saying. there is some kinda semantic block. but i don't need to figure out what you were saying. however sometimes reframing a problem in the most basic jargon describes it well and sometimes 90% of the solution to a problem is describing it adequately. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
>i thought that i knew what FIR polyphase filter banks are, at least with >regard to precision delay (where the delay has both integer and >fractional sample components to it) and what it means to modulate that >parameter. but i could not figure out what either of you guys were >saying. there is some kinda semantic block.
If you have a copy of fred harris's multirate book, I was attempting to describe the channelizer derivation steps he gives (in chapter 7 I believe). This link contains a similar derivation although less eloquently presented: http://seat.massey.ac.nz/personal/e.lai/Publications/j/JSPSfilterbank2011.pdf If you look at figure 6 in the linked article, that's the step I get stuck on when trying to use an IFIR as the prototype filter. Brian, do you have a link to any of the papers claiming success?
I will try to explain things a little better.  By modulated polyphase
filter bank I am talking about the following:

http://cnx.org/content/m10424/latest/

So, a protype filter, H(z) is decimated into it's polyphase components,
H0(z), H1(z), etc. and modulated (by M point DFT) to produce M uniformly
distributed, decimated subbands as shaped by the prototype filter H(z).

My question is, how can the prototype filter H(z) be replaced by an
equivalent IFIR prototype, which is the cascade of 2 filters, G(z^L) and
I(z), where I(z) is the masking filter, G(z) is the stretched prototype
filter and L is the interpolation ratio for G(z).  I guess in more general
terms, how do I decompose the cascade of 2 filters into their polyphase
form.  I hope this clarifies the question.

Thanks,
Brian

>On 1/4/13 1:09 PM, bmcgee22 wrote: >> Not gibberish, it makes sense and sounds like the same problem I am
having.
> >i thought that i knew what FIR polyphase filter banks are, at least with >regard to precision delay (where the delay has both integer and >fractional sample components to it) and what it means to modulate that >parameter. but i could not figure out what either of you guys were >saying. there is some kinda semantic block. > >but i don't need to figure out what you were saying. however sometimes >reframing a problem in the most basic jargon describes it well and >sometimes 90% of the solution to a problem is describing it adequately. > > >-- > >r b-j rbj@audioimagination.com > >"Imagination is more important than knowledge." > > >
>>i thought that i knew what FIR polyphase filter banks are, at least with
>>regard to precision delay (where the delay has both integer and >>fractional sample components to it) and what it means to modulate that >>parameter. but i could not figure out what either of you guys were >>saying. there is some kinda semantic block. > >If you have a copy of fred harris's multirate book, I was attempting to >describe the channelizer derivation steps he gives (in chapter 7 I >believe). This link contains a similar derivation although less
eloquently
>presented: >http://seat.massey.ac.nz/personal/e.lai/Publications/j/JSPSfilterbank2011.pdf > >If you look at figure 6 in the linked article, that's the step I get
stuck
>on when trying to use an IFIR as the prototype filter. > >Brian, do you have a link to any of the papers claiming success? >
This is one example (hope the link works OK): http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDkQFjAA&url=http%3A%2F%2Fwww.scirp.org%2Fjournal%2FPaperDownload.aspx%3FpaperID%3D3302&ei=gQjnUKimNafE2gXFkYHgBg&usg=AFQjCNFMoSW1mTFwykld41F7fjHUXy7lLQ&bvm=bv.1355534169,d.b2I&cad=rja They talk about the design of the IFIR and the performance gains, but don't go into details about implementation. I'm still looking for a better explanation of how to implement this. Brian
>My question is, how can the prototype filter H(z) be replaced by an >equivalent IFIR prototype, which is the cascade of 2 filters, G(z^L) and >I(z), where I(z) is the masking filter, G(z) is the stretched prototype >filter and L is the interpolation ratio for G(z). I guess in more
general
>terms, how do I decompose the cascade of 2 filters into their polyphase >form. I hope this clarifies the question.
I found a paper that gives a derivation and has block diagrams of an IFIR prototype filter being used in a DFT filter bank. www.sid.ir/En/VEWSSID/J_pdf/89020020201.pdf Figure 3&4 in the paper shows the implementation. Equations 7-12 provide the derivation. I didn't thoroughly digest everything that's going on in the paper, but the info presented seems to make sense. I'm not sold that the what's shown in figure 4 is more efficient (from a multiplier perspective) than what one would end up with if the prototype filter was the convolution of the two cascaded filters. In fact, I think the implementation in figure 4 is much less efficient. I could be missing something though,
>I found a paper that gives a derivation and has block diagrams of an IFIR >prototype filter being used in a DFT filter bank. > >www.sid.ir/En/VEWSSID/J_pdf/89020020201.pdf > >Figure 3&4 in the paper shows the implementation. Equations 7-12 provide >the derivation. I didn't thoroughly digest everything that's going on in >the paper, but the info presented seems to make sense. I'm not sold that >the what's shown in figure 4 is more efficient (from a multiplier >perspective) than what one would end up with if the prototype filter was >the convolution of the two cascaded filters. In fact, I think the >implementation in figure 4 is much less efficient. I could be missing >something though, >
I had seen this paper and wasn't sure how it was supposed to work. It seems like the polyphase decomposition of the prototype IFIR, F(z), was simply multiplied by the coefficients of the masking filter, I(z). In my case, I(z) is only 4 taps, so most of the input to my 64 point FFT would be 0's, which doesn't make sense to me. I'm probably misunderstanding what they are saying in the paper, so I will look at it some more. Brian