Hi Jayanth, I assume the part you'd like to play with is the PFB_FIR since the next step is to just follow with a FFT. Here's my Python code for simulating the pfb_fir. It's based on this note by Parsons and Werthheimer http://setiathome.ssl.berkeley.edu/~aparsons/papers/2003-06_pfb_32.html.
def pfb_fir(x): N = len(x) # x is the incoming data time stream. taps = 4 L = 512 # Points in subsequent FFT. bin_width_scale = 1.0 dx = math.pi/L X = numpy.array([n*dx-taps*math.pi/2 for n in range(taps*L)]) coeff = numpy.sinc(bin_width_scale*X/math.pi)*numpy.hanning(taps*L) y = np.array([0+0j]*(N-taps*L)) for n in range((taps-1)*L, N): m = n%L coeff_sub = coeff[L*taps-m::-L] y[n-taps*L] = (x[n-(taps-1)*L:n+L:L]*coeff_sub).sum() return y Sean McHugh > Hi, > > I'm getting started on implementing a polyphase filter bank in CUDA. But > before getting into it, it's probably a good idea if I play around with > some > simple implementation in a relatively more user-friendly environment such > as > MATLAB. Does anybody have a bare-bones MATLAB (or even C) implementation > of > a polyphase filter bank that you wouldn't mind sharing? > > Appreciate any help! Cheers, > > Jayanth >