Re: [USRP-users] A few questions about RFNoC streaming

2019-03-28 Thread Rob Kossler via USRP-users
Thanks EJ and Nick,
I hadn't thought about the propagation of the streaming command occurring
in UHD rather than on the FPGA.  I was thinking that after issuing the
rx_streaming start command to the downstream-most block in the chain, some
magic was happening on the FPGA to get the upstream blocks started.
However, I think this makes more sense that there is some magic happening
in UHD such that the upstream blocks get the command to start streaming.  I
will let you know if I figure anything out.
Rob

On Mon, Mar 25, 2019 at 12:37 PM Nick Foster  wrote:

> I can tell you the answer to #3 off the top of my head: the two streams
> will be sample-aligned, and if you use timed start commands, they will be
> time-aligned.
>
> The other two are probably best answered by trying it out. Maybe someone
> from Ettus can chime in.
>
> Nick
>
> On Fri, Mar 22, 2019 at 7:09 AM Rob Kossler via USRP-users <
> usrp-users@lists.ettus.com> wrote:
>
>> Any suggestions?
>>
>> On Wed, Mar 20, 2019 at 9:49 PM Rob Kossler  wrote:
>>
>>> Yes, the example was for illustration only.  You can throw a couple of
>>> DDCs in between the radio and add/sub block to slow the rate down.  But,
>>> the questions are still the same.
>>>
>>> On Wed, Mar 20, 2019 at 7:49 PM Nick Foster 
>>> wrote:
>>>
 First things first. The flow graph you're describing don't work because
 the two radio blocks will saturate the bus going into the addsub block. You
 will need to decimate the streams going into the addsub block.

 I don't have a ready answer to your question about the streamers, but
 I'd suggest using timed commands to align the two radio streams, if UHD
 isn't smart enough to recognize the two radios and propagate the stream
 command accordingly.

 Nick

 On Thu, Mar 21, 2019, 6:46 AM Rob Kossler via USRP-users <
 usrp-users@lists.ettus.com> wrote:

> Hi,
> I am starting to develop more complicated RFNoC graphs and several
> questions occurred to me. I am using my own C++ application with the UHD
> RFNoC-enabled library.
>
> Consider a receive-only RFNoC graph with 2 radio blocks feeding a
> 2-input, 2-output Add/Sub block.  Also, assume there are two rx_streamers
> connected to the 2 output ports of the Add/Sub block.  Note that these
> streams are no longer independent or one-to-one matched with the radio
> channels.
>
> 1) How does an "issue_stream_cmd()" to one of the Add/Sub block ports
> propagate back to the radio block?  Actually, it would need to propagate
> back to both Radio blocks no matter which rx_streamer I used since they 
> are
> no longer independent streams.  Does this make sense?
> 2) What happens if I only call "issue_stream_cmd()" for one of the
> rx_streamers instead of both? Perhaps since the other streamer isn't
> running, it backpressures the streaming such that it eventually quits and
> thus quits for the other port as well?
> 3) Do I have to do anything in the Add/Sub block to sync up the
> streams or can I rely on the first sample from Radio 0 being time-aligned
> with the first sample from Radio 1 (assuming I issued timed start 
> commands)?
>
> Rob
> ___
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
 ___
>> USRP-users mailing list
>> USRP-users@lists.ettus.com
>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>
>
___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


Re: [USRP-users] A few questions about RFNoC streaming

2019-03-25 Thread Nick Foster via USRP-users
I can tell you the answer to #3 off the top of my head: the two streams
will be sample-aligned, and if you use timed start commands, they will be
time-aligned.

The other two are probably best answered by trying it out. Maybe someone
from Ettus can chime in.

Nick

On Fri, Mar 22, 2019 at 7:09 AM Rob Kossler via USRP-users <
usrp-users@lists.ettus.com> wrote:

> Any suggestions?
>
> On Wed, Mar 20, 2019 at 9:49 PM Rob Kossler  wrote:
>
>> Yes, the example was for illustration only.  You can throw a couple of
>> DDCs in between the radio and add/sub block to slow the rate down.  But,
>> the questions are still the same.
>>
>> On Wed, Mar 20, 2019 at 7:49 PM Nick Foster  wrote:
>>
>>> First things first. The flow graph you're describing don't work because
>>> the two radio blocks will saturate the bus going into the addsub block. You
>>> will need to decimate the streams going into the addsub block.
>>>
>>> I don't have a ready answer to your question about the streamers, but
>>> I'd suggest using timed commands to align the two radio streams, if UHD
>>> isn't smart enough to recognize the two radios and propagate the stream
>>> command accordingly.
>>>
>>> Nick
>>>
>>> On Thu, Mar 21, 2019, 6:46 AM Rob Kossler via USRP-users <
>>> usrp-users@lists.ettus.com> wrote:
>>>
 Hi,
 I am starting to develop more complicated RFNoC graphs and several
 questions occurred to me. I am using my own C++ application with the UHD
 RFNoC-enabled library.

 Consider a receive-only RFNoC graph with 2 radio blocks feeding a
 2-input, 2-output Add/Sub block.  Also, assume there are two rx_streamers
 connected to the 2 output ports of the Add/Sub block.  Note that these
 streams are no longer independent or one-to-one matched with the radio
 channels.

 1) How does an "issue_stream_cmd()" to one of the Add/Sub block ports
 propagate back to the radio block?  Actually, it would need to propagate
 back to both Radio blocks no matter which rx_streamer I used since they are
 no longer independent streams.  Does this make sense?
 2) What happens if I only call "issue_stream_cmd()" for one of the
 rx_streamers instead of both? Perhaps since the other streamer isn't
 running, it backpressures the streaming such that it eventually quits and
 thus quits for the other port as well?
 3) Do I have to do anything in the Add/Sub block to sync up the streams
 or can I rely on the first sample from Radio 0 being time-aligned with the
 first sample from Radio 1 (assuming I issued timed start commands)?

 Rob
 ___
 USRP-users mailing list
 USRP-users@lists.ettus.com
 http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

>>> ___
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


Re: [USRP-users] A few questions about RFNoC streaming

2019-03-22 Thread Rob Kossler via USRP-users
Any suggestions?

On Wed, Mar 20, 2019 at 9:49 PM Rob Kossler  wrote:

> Yes, the example was for illustration only.  You can throw a couple of
> DDCs in between the radio and add/sub block to slow the rate down.  But,
> the questions are still the same.
>
> On Wed, Mar 20, 2019 at 7:49 PM Nick Foster  wrote:
>
>> First things first. The flow graph you're describing don't work because
>> the two radio blocks will saturate the bus going into the addsub block. You
>> will need to decimate the streams going into the addsub block.
>>
>> I don't have a ready answer to your question about the streamers, but I'd
>> suggest using timed commands to align the two radio streams, if UHD isn't
>> smart enough to recognize the two radios and propagate the stream command
>> accordingly.
>>
>> Nick
>>
>> On Thu, Mar 21, 2019, 6:46 AM Rob Kossler via USRP-users <
>> usrp-users@lists.ettus.com> wrote:
>>
>>> Hi,
>>> I am starting to develop more complicated RFNoC graphs and several
>>> questions occurred to me. I am using my own C++ application with the UHD
>>> RFNoC-enabled library.
>>>
>>> Consider a receive-only RFNoC graph with 2 radio blocks feeding a
>>> 2-input, 2-output Add/Sub block.  Also, assume there are two rx_streamers
>>> connected to the 2 output ports of the Add/Sub block.  Note that these
>>> streams are no longer independent or one-to-one matched with the radio
>>> channels.
>>>
>>> 1) How does an "issue_stream_cmd()" to one of the Add/Sub block ports
>>> propagate back to the radio block?  Actually, it would need to propagate
>>> back to both Radio blocks no matter which rx_streamer I used since they are
>>> no longer independent streams.  Does this make sense?
>>> 2) What happens if I only call "issue_stream_cmd()" for one of the
>>> rx_streamers instead of both? Perhaps since the other streamer isn't
>>> running, it backpressures the streaming such that it eventually quits and
>>> thus quits for the other port as well?
>>> 3) Do I have to do anything in the Add/Sub block to sync up the streams
>>> or can I rely on the first sample from Radio 0 being time-aligned with the
>>> first sample from Radio 1 (assuming I issued timed start commands)?
>>>
>>> Rob
>>> ___
>>> USRP-users mailing list
>>> USRP-users@lists.ettus.com
>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>>
>>
___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


Re: [USRP-users] A few questions about RFNoC streaming

2019-03-20 Thread Rob Kossler via USRP-users
Yes, the example was for illustration only.  You can throw a couple of DDCs
in between the radio and add/sub block to slow the rate down.  But, the
questions are still the same.

On Wed, Mar 20, 2019 at 7:49 PM Nick Foster  wrote:

> First things first. The flow graph you're describing don't work because
> the two radio blocks will saturate the bus going into the addsub block. You
> will need to decimate the streams going into the addsub block.
>
> I don't have a ready answer to your question about the streamers, but I'd
> suggest using timed commands to align the two radio streams, if UHD isn't
> smart enough to recognize the two radios and propagate the stream command
> accordingly.
>
> Nick
>
> On Thu, Mar 21, 2019, 6:46 AM Rob Kossler via USRP-users <
> usrp-users@lists.ettus.com> wrote:
>
>> Hi,
>> I am starting to develop more complicated RFNoC graphs and several
>> questions occurred to me. I am using my own C++ application with the UHD
>> RFNoC-enabled library.
>>
>> Consider a receive-only RFNoC graph with 2 radio blocks feeding a
>> 2-input, 2-output Add/Sub block.  Also, assume there are two rx_streamers
>> connected to the 2 output ports of the Add/Sub block.  Note that these
>> streams are no longer independent or one-to-one matched with the radio
>> channels.
>>
>> 1) How does an "issue_stream_cmd()" to one of the Add/Sub block ports
>> propagate back to the radio block?  Actually, it would need to propagate
>> back to both Radio blocks no matter which rx_streamer I used since they are
>> no longer independent streams.  Does this make sense?
>> 2) What happens if I only call "issue_stream_cmd()" for one of the
>> rx_streamers instead of both? Perhaps since the other streamer isn't
>> running, it backpressures the streaming such that it eventually quits and
>> thus quits for the other port as well?
>> 3) Do I have to do anything in the Add/Sub block to sync up the streams
>> or can I rely on the first sample from Radio 0 being time-aligned with the
>> first sample from Radio 1 (assuming I issued timed start commands)?
>>
>> Rob
>> ___
>> USRP-users mailing list
>> USRP-users@lists.ettus.com
>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>
>
___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


Re: [USRP-users] A few questions about RFNoC streaming

2019-03-20 Thread Nick Foster via USRP-users
First things first. The flow graph you're describing don't work because the
two radio blocks will saturate the bus going into the addsub block. You
will need to decimate the streams going into the addsub block.

I don't have a ready answer to your question about the streamers, but I'd
suggest using timed commands to align the two radio streams, if UHD isn't
smart enough to recognize the two radios and propagate the stream command
accordingly.

Nick

On Thu, Mar 21, 2019, 6:46 AM Rob Kossler via USRP-users <
usrp-users@lists.ettus.com> wrote:

> Hi,
> I am starting to develop more complicated RFNoC graphs and several
> questions occurred to me. I am using my own C++ application with the UHD
> RFNoC-enabled library.
>
> Consider a receive-only RFNoC graph with 2 radio blocks feeding a 2-input,
> 2-output Add/Sub block.  Also, assume there are two rx_streamers connected
> to the 2 output ports of the Add/Sub block.  Note that these streams are no
> longer independent or one-to-one matched with the radio channels.
>
> 1) How does an "issue_stream_cmd()" to one of the Add/Sub block ports
> propagate back to the radio block?  Actually, it would need to propagate
> back to both Radio blocks no matter which rx_streamer I used since they are
> no longer independent streams.  Does this make sense?
> 2) What happens if I only call "issue_stream_cmd()" for one of the
> rx_streamers instead of both? Perhaps since the other streamer isn't
> running, it backpressures the streaming such that it eventually quits and
> thus quits for the other port as well?
> 3) Do I have to do anything in the Add/Sub block to sync up the streams or
> can I rely on the first sample from Radio 0 being time-aligned with the
> first sample from Radio 1 (assuming I issued timed start commands)?
>
> Rob
> ___
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


[USRP-users] A few questions about RFNoC streaming

2019-03-20 Thread Rob Kossler via USRP-users
Hi,
I am starting to develop more complicated RFNoC graphs and several
questions occurred to me. I am using my own C++ application with the UHD
RFNoC-enabled library.

Consider a receive-only RFNoC graph with 2 radio blocks feeding a 2-input,
2-output Add/Sub block.  Also, assume there are two rx_streamers connected
to the 2 output ports of the Add/Sub block.  Note that these streams are no
longer independent or one-to-one matched with the radio channels.

1) How does an "issue_stream_cmd()" to one of the Add/Sub block ports
propagate back to the radio block?  Actually, it would need to propagate
back to both Radio blocks no matter which rx_streamer I used since they are
no longer independent streams.  Does this make sense?
2) What happens if I only call "issue_stream_cmd()" for one of the
rx_streamers instead of both? Perhaps since the other streamer isn't
running, it backpressures the streaming such that it eventually quits and
thus quits for the other port as well?
3) Do I have to do anything in the Add/Sub block to sync up the streams or
can I rely on the first sample from Radio 0 being time-aligned with the
first sample from Radio 1 (assuming I issued timed start commands)?

Rob
___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com