[USRP-users] RFNOC - multiply TX and RX streams (multiple block ports in a single RFNoC block to multiply)

Martin Braun martin.braun at ettus.com
Wed Apr 1 13:43:55 EDT 2015

On 01.04.2015 10:15, Itay Cnaan-On via USRP-users wrote:
> I couldn't find any computation engine in RFNOC that does that
> multiplication.
> I therefore would like to use the NOC shell to create such block.
> Questions:
>  1. Is there anyone who have tried something similar in RFNOC?

Not that I know of, which doesn't have to mean anything.

>  2. Can RFNOC support a block that handles two streams (RX and TX) as
>     input to same block?

Yes, you can have up to 16 inputs per block.

>  3. The computation engine block ADDSUB operates on two streams. This
>     seems similar structure to what we need. Does it support RX and TX
>     addition/subtraction?

I'd like to advise some caution using the terms 'rx' and 'tx'. We use, 
by convention, the host as reference, so data going host->usrp is 
considered 'TX'. From this block's point of view, there's only input 
streams and output streams. The fact that one of the input streams comes 
from the radio is not really relevant here -- I'm sure you know all of 
this, but I wanted to make sure all speak the same language.

A small thing on the side: You might want to delay the backscattered 
signal given the amount of group delay the DSP paths introduce, but you 
might also be able to calibrate this in software.

FMCW is actually a great application of RFNoC, since you handle large 
bandwidths on the FPGA but can decimate rates before going to the host. 
You can start with the AddSub block as a template.

I highly recommend starting with simulated backscatter during 
development. So you create your FMCW signal (e.g. in GNU Radio), as well 
as a backscattered version (i.e. attenuated, freq-shifted and delayed) 
and send both those signals from the host to the RFNoC block on the 
FPGA, then send the return signal back to the host. When the result 
looks as expected, try with the radios.

You'll also need a splitstream block (already available) so you can tee 
the signal (on the FPGA) both to the mixer block and the tx radio.


More information about the USRP-users mailing list