[USRP-users] Using multiple RX DDC chains on USRP2

Josh Blum josh at ettus.com
Fri Feb 8 17:15:17 EST 2013

On 02/08/2013 02:53 PM, Roy Thompson wrote:
> Is there any way to stream both channels with different rates into the
> same flowgraph in GNURadio (i.e. 2 sources)?   From what I can tell,
> the answer is no but I figured I'd ask before trying to come up with a
> hack for it.

Now that I am thinking about it. You could have two source blocks with
the same device address, because its the same underlying device object.
We just need a way to select different channels when the source block
creates the rx streamer. The rest of the properties should map ok.

So, we have a way to specify the streamer args from python, I just dont
think GRC brings it out. Basically the stream args.channels is a list of
channels. So for one usrp source this is going to be [0], and the other [1]



I would see how grc generates the python code for 1 channel.


> Thanks,
> Roy
> On Thu, Feb 7, 2013 at 4:41 PM, Josh Blum <josh at ettus.com> wrote:
>> On 02/07/2013 03:30 PM, Roy Thompson wrote:
>>> Thanks, will that work if the chains have different sample rates?
>>> There is a comment in multi_usrp.hpp stating that all channels must
>>> have the same rate, but it's not clear what causes the limitation
>>> since it looks like it is possible to set the rate for individual
>>> channels with set_rx_rate().
>> Yes, all the api calls take a channel number. So in this case, you would
>> want a different rx_streamer for each channel, since they are at
>> different rates.
>> -josh
>>> -Roy
>>> On Thu, Feb 7, 2013 at 4:17 PM, Josh Blum <josh at ettus.com> wrote:
>>>> On 02/07/2013 02:49 PM, Roy Thompson wrote:
>>>>> I am starting to look through some of the FPGA code for the USRP2 and
>>>>> I noticed that there are 2 RX DDC chains.  I would like to be able to
>>>>> use one of the chains to do standard DDC processing, and I would like
>>>>> to modify the second chain to do custom processing on the same A/D
>>>>> channel.  The output sample rate for the second chain will be
>>>>> different from the first. Is it possible to configure the UHD driver
>>>>> to support this configuration and allow for receiving from both
>>>>> chains?
>>>> The rx_multi_samples example can show you how to use two DDC chains. If
>>>> you had a WBX for example with frontend (named 0), this would map
>>>> frontend 0 located on the first and only daughterboard (named A) to DSP0
>>>> and DSP1 --subdev="A:0 A:0"
>>>> see the --help for more.
>>>>> std::cout <<
>>>>>         "    This is a demonstration of how to receive aligned data from multiple channels.\n"
>>>>>         "    This example can receive from multiple DSPs, multiple motherboards, or both.\n"
>>>>>         "    The MIMO cable or PPS can be used to synchronize the configuration. See --sync\n"
>>>>>         "\n"
>>>>>         "    Specify --subdev to select multiple channels per motherboard.\n"
>>>>>         "      Ex: --subdev=\"0:A 0:B\" to get 2 channels on a Basic RX.\n"
>>>>>         "\n"
>>>>>         "    Specify --args to select multiple motherboards in a configuration.\n"
>>>>>         "      Ex: --args=\"addr0=, addr1=\"\n"
>>>>>         << std::endl;
>>>> See this readme, there is a place where it should be convenient to
>>>> replace the DDC with custom logic:
>>>> http://code.ettus.com/redmine/ettus/projects/uhd/repository/revisions/master/entry/fpga/README.txt
>>>> -josh
>>>>> Thanks,
>>>>> Roy
>>>>> _______________________________________________
>>>>> USRP-users mailing list
>>>>> USRP-users at lists.ettus.com
>>>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>>> _______________________________________________
>>>> USRP-users mailing list
>>>> USRP-users at lists.ettus.com
>>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

More information about the USRP-users mailing list