Hi,
I am just getting started on some custom RFNoC development and trying to
decide how to approach the problem.  Essentially, I want to implement a
pair of filters in the frequency domain.  It is similar to a pair of FIR
filters (on a block-by-block basis) but I want the capability for very long
filters (equal in length to FFT size).  I expect that it is not possible to
have so many taps using the existing FIR filter so that is why I want to
apply in the freq domain.

I noticed that there is a Window RFNoC block that could be used as part of
my development, but it appears that this window uses "real" rather than
"complex" coefficients.  Anyway, here are the steps I want to implement:

   1. FFT incoming stream
   2. Split FFT output into two streams
   3. Multiply Stream 1 by complex filter 1 (same length as FFT)
   4. Multiply Stream 2 by complex filter 2 (same length as FFT)
   5. IFFT Stream 1
   6. IFFT Stream 2

I considered modifying the existing window.v to handle complex
coefficients.  I also considered using the new "replay" NOC block to store
the coefficients and stream them out in a circular fashion.  This might use
the "multiply.v" component, but again it would need to be modified to
handle complex multiplies.

Anyway, as I am just getting started, I am looking for any helpful advice.
Thanks.
Rob
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to