usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

Receiving on All Channels with X310

O
Olo
Tue, Aug 13, 2024 2:36 PM

Dear Ettus Support Team,

I hope this message finds you well.

I am currently working with an X310 SDR equipped with two TwinRX daughterboards, and I am looking to receive data simultaneously across all four channels. My goal is to maximize the available bandwidth by configuring the system to receive on all channels in parallel.

Could you please advise on the best approach to achieve this? Specifically, I would like to know if it is necessary to use a specialized RFNoC graph for this setup, or if the uhd::multi_usrp class in the UHD library, along with a corresponding rx_streamer, would be sufficient to accomplish this task.

I appreciate any guidance or recommendations you can provide.

Thank you for your support.

Best regards,
Olo.

Dear Ettus Support Team, I hope this message finds you well. I am currently working with an X310 SDR equipped with two TwinRX daughterboards, and I am looking to receive data simultaneously across all four channels. My goal is to maximize the available bandwidth by configuring the system to receive on all channels in parallel. Could you please advise on the best approach to achieve this? Specifically, I would like to know if it is necessary to use a specialized RFNoC graph for this setup, or if the uhd::multi_usrp class in the UHD library, along with a corresponding rx_streamer, would be sufficient to accomplish this task. I appreciate any guidance or recommendations you can provide. Thank you for your support. Best regards, Olo.
MD
Marcus D. Leech
Tue, Aug 13, 2024 2:48 PM

On 13/08/2024 10:36, Olo via USRP-users wrote:

Dear Ettus Support Team,

I hope this message finds you well.

I am currently working with an X310 SDR equipped with two TwinRX
daughterboards, and I am looking to receive data simultaneously across
all four channels. My goal is to maximize the available bandwidth by
configuring the system to receive on all channels in parallel.

Could you please advise on the best approach to achieve this?
Specifically, I would like to know if it is necessary to use a
specialized RFNoC graph for this setup, or if the uhd::multi_usrp
class in the UHD library, along with a corresponding rx_streamer,
would be sufficient to accomplish this task.

I appreciate any guidance or recommendations you can provide.

Thank you for your support.

Best regards,
Olo.

Assuming that all the streams terminate on your computer, then the
limiting factor is always going to be your computer.  RFNoC
  is only helpful if you want to do some of the computing on the
radio.  But if the goal is to have 4 streams going to your computer,
  at full rate, then RFNoC doesn't bring anything to the table--and in
fact, internally these days, an application that uses UHD
  multi-usrp streamers actually sets up a standardized RFNoC flow on
the radio anyway.

This document can be helpful:

https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks

The ultimate question becomes "what do I want to do with those
streams?".  That will determine whether your computer
  can handle the aggregate data rates.

On 13/08/2024 10:36, Olo via USRP-users wrote: > Dear Ettus Support Team, > > I hope this message finds you well. > > I am currently working with an X310 SDR equipped with two TwinRX > daughterboards, and I am looking to receive data simultaneously across > all four channels. My goal is to maximize the available bandwidth by > configuring the system to receive on all channels in parallel. > > Could you please advise on the best approach to achieve this? > Specifically, I would like to know if it is necessary to use a > specialized RFNoC graph for this setup, or if the uhd::multi_usrp > class in the UHD library, along with a corresponding rx_streamer, > would be sufficient to accomplish this task. > > I appreciate any guidance or recommendations you can provide. > > Thank you for your support. > > Best regards, > Olo. > > Assuming that all the streams terminate on your computer, then the limiting factor is always going to be your computer.  RFNoC   is only helpful if you want to do some of the computing on the radio.  But if the goal is to have 4 streams going to your computer,   at full rate, then RFNoC doesn't bring anything to the table--and in fact, internally these days, an application that uses UHD   multi-usrp streamers actually sets up a standardized RFNoC flow on the radio anyway. This document can be helpful: https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks The ultimate question becomes "what do I want to do with those streams?".  That will determine whether your computer   can handle the aggregate data rates.
O
Olo
Wed, Aug 14, 2024 6:57 AM

Dear Ettus Support,

Thank you for your prompt and detailed response. I appreciate the clarification regarding the use of RFNoC and UHD multi_usrp streamers.

To answer your question, my goal is to display the Power Spectral Density (PSD) from the four channels. I plan to use a window function, perform an FFT, and apply the log power block to calculate the PSD.

Could you please advise on the best way to combine all four channels into one for this purpose? Specifically, I'm interested in understanding how to properly aggregate the data streams so that I can calculate the PSD effectively.

Thank you again for your support.

Best regards,
Olo

On Tuesday, August 13th, 2024 at 16:48, Marcus D. Leech patchvonbraun@gmail.com wrote:

On 13/08/2024 10:36, Olo via USRP-users wrote:

Dear Ettus Support Team,

I hope this message finds you well.

I am currently working with an X310 SDR equipped with two TwinRX daughterboards, and I am looking to receive data simultaneously across all four channels. My goal is to maximize the available bandwidth by configuring the system to receive on all channels in parallel.

Could you please advise on the best approach to achieve this? Specifically, I would like to know if it is necessary to use a specialized RFNoC graph for this setup, or if the uhd::multi_usrp class in the UHD library, along with a corresponding rx_streamer, would be sufficient to accomplish this task.

I appreciate any guidance or recommendations you can provide.

Thank you for your support.

Best regards,
Olo.

Assuming that all the streams terminate on your computer, then the limiting factor is always going to be your computer. RFNoC
is only helpful if you want to do some of the computing on the radio. But if the goal is to have 4 streams going to your computer,
at full rate, then RFNoC doesn't bring anything to the table--and in fact, internally these days, an application that uses UHD
multi-usrp streamers actually sets up a standardized RFNoC flow on the radio anyway.

This document can be helpful:

https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks

The ultimate question becomes "what do I want to do with those streams?". That will determine whether your computer
can handle the aggregate data rates.

Dear Ettus Support, Thank you for your prompt and detailed response. I appreciate the clarification regarding the use of RFNoC and UHD multi_usrp streamers. To answer your question, my goal is to display the Power Spectral Density (PSD) from the four channels. I plan to use a window function, perform an FFT, and apply the log power block to calculate the PSD. Could you please advise on the best way to combine all four channels into one for this purpose? Specifically, I'm interested in understanding how to properly aggregate the data streams so that I can calculate the PSD effectively. Thank you again for your support. Best regards, Olo On Tuesday, August 13th, 2024 at 16:48, Marcus D. Leech <patchvonbraun@gmail.com> wrote: > On 13/08/2024 10:36, Olo via USRP-users wrote: > >> Dear Ettus Support Team, >> >> I hope this message finds you well. >> >> I am currently working with an X310 SDR equipped with two TwinRX daughterboards, and I am looking to receive data simultaneously across all four channels. My goal is to maximize the available bandwidth by configuring the system to receive on all channels in parallel. >> >> Could you please advise on the best approach to achieve this? Specifically, I would like to know if it is necessary to use a specialized RFNoC graph for this setup, or if the uhd::multi_usrp class in the UHD library, along with a corresponding rx_streamer, would be sufficient to accomplish this task. >> >> I appreciate any guidance or recommendations you can provide. >> >> Thank you for your support. >> >> Best regards, >> Olo. > > Assuming that all the streams terminate on your computer, then the limiting factor is always going to be your computer. RFNoC > is only helpful if you want to do some of the computing on the radio. But if the goal is to have 4 streams going to your computer, > at full rate, then RFNoC doesn't bring anything to the table--and in fact, internally these days, an application that uses UHD > multi-usrp streamers actually sets up a standardized RFNoC flow on the radio anyway. > > This document can be helpful: > > https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks > > The ultimate question becomes "what do I want to do with those streams?". That will determine whether your computer > can handle the aggregate data rates.
MD
Marcus D. Leech
Wed, Aug 14, 2024 1:25 PM

On 14/08/2024 02:57, Olo via USRP-users wrote:

Dear Ettus Support,

Thank you for your prompt and detailed response. I appreciate the
clarification regarding the use of RFNoC and UHD multi_usrpstreamers.

To answer your question, my goal is to display the Power Spectral
Density (PSD) from the four channels. I plan to use a window function,
perform an FFT, and apply the log power block to calculate the PSD.

Could you please advise on the best way to combine all four channels
into one for this purpose? Specifically, I'm interested in
understanding how to properly aggregate the data streams so that I can
calculate the PSD effectively.

Thank you again for your support.

Best regards,
Olo

That's probably a question for the discuss-gnuradio mailing list,
assuming you're using GNu Radio.

UHD isn't a signal-processing framework -- it's a driver interface to
the hardware.  RFNoC augments this with
  DSP blocks that can run on the hardware.  I don't think that
there's enough resources on the X310 FPGA to run
  FFTs on all 4 channels, but I could be wrong.   Maybe there's someone
on here who has done this with RFNoC.

In terms of "spectral merging".  If all 4 channels share a common phase
reference, then I think that you can
  rotate-and-add prior to computing a single FFT over the aggregated
stream.  But that's, again, a DSP question, and
  the discuss-gnuradio mailing list might be a better venue for that
type of question.

On Tuesday, August 13th, 2024 at 16:48, Marcus D. Leech
patchvonbraun@gmail.com wrote:

On 13/08/2024 10:36, Olo via USRP-users wrote:

Dear Ettus Support Team,

I hope this message finds you well.

I am currently working with an X310 SDR equipped with two TwinRX
daughterboards, and I am looking to receive data simultaneously
across all four channels. My goal is to maximize the available
bandwidth by configuring the system to receive on all channels in
parallel.

Could you please advise on the best approach to achieve this?
Specifically, I would like to know if it is necessary to use a
specialized RFNoC graph for this setup, or if the uhd::multi_usrp
class in the UHD library, along with a corresponding rx_streamer,
would be sufficient to accomplish this task.

I appreciate any guidance or recommendations you can provide.

Thank you for your support.

Best regards,
Olo.

Assuming that all the streams terminate on your computer, then the
limiting factor is always going to be your computer. RFNoC
is only helpful if you want to do some of the computing on the radio.
But if the goal is to have 4 streams going to your computer,
at full rate, then RFNoC doesn't bring anything to the table--and in
fact, internally these days, an application that uses UHD
multi-usrp streamers actually sets up a standardized RFNoC flow on
the radio anyway.

This document can be helpful:

https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks

The ultimate question becomes "what do I want to do with those
streams?". That will determine whether your computer
can handle the aggregate data rates.


USRP-users mailing list --usrp-users@lists.ettus.com
To unsubscribe send an email tousrp-users-leave@lists.ettus.com

On 14/08/2024 02:57, Olo via USRP-users wrote: > > Dear Ettus Support, > > Thank you for your prompt and detailed response. I appreciate the > clarification regarding the use of RFNoC and UHD multi_usrpstreamers. > > To answer your question, my goal is to display the Power Spectral > Density (PSD) from the four channels. I plan to use a window function, > perform an FFT, and apply the log power block to calculate the PSD. > > Could you please advise on the best way to combine all four channels > into one for this purpose? Specifically, I'm interested in > understanding how to properly aggregate the data streams so that I can > calculate the PSD effectively. > > Thank you again for your support. > > Best regards, > Olo > That's probably a question for the discuss-gnuradio mailing list, assuming you're using GNu Radio. UHD isn't a signal-processing framework -- it's a driver interface to the hardware.  RFNoC augments this with   DSP blocks that can run on the hardware.  I don't *think* that there's enough resources on the X310 FPGA to run   FFTs on all 4 channels, but I could be wrong.   Maybe there's someone on here who has done this with RFNoC. In terms of "spectral merging".  If all 4 channels share a common phase reference, then I *think* that you can   rotate-and-add prior to computing a single FFT over the aggregated stream.  But that's, again, a DSP question, and   the discuss-gnuradio mailing list might be a better venue for that type of question. > > On Tuesday, August 13th, 2024 at 16:48, Marcus D. Leech > <patchvonbraun@gmail.com> wrote: >> On 13/08/2024 10:36, Olo via USRP-users wrote: >>> Dear Ettus Support Team, >>> >>> I hope this message finds you well. >>> >>> I am currently working with an X310 SDR equipped with two TwinRX >>> daughterboards, and I am looking to receive data simultaneously >>> across all four channels. My goal is to maximize the available >>> bandwidth by configuring the system to receive on all channels in >>> parallel. >>> >>> Could you please advise on the best approach to achieve this? >>> Specifically, I would like to know if it is necessary to use a >>> specialized RFNoC graph for this setup, or if the uhd::multi_usrp >>> class in the UHD library, along with a corresponding rx_streamer, >>> would be sufficient to accomplish this task. >>> >>> I appreciate any guidance or recommendations you can provide. >>> >>> Thank you for your support. >>> >>> Best regards, >>> Olo. >>> >>> >> Assuming that all the streams terminate on your computer, then the >> limiting factor is always going to be your computer. RFNoC >> is only helpful if you want to do some of the computing on the radio. >> But if the goal is to have 4 streams going to your computer, >> at full rate, then RFNoC doesn't bring anything to the table--and in >> fact, internally these days, an application that uses UHD >> multi-usrp streamers actually sets up a standardized RFNoC flow on >> the radio anyway. >> >> This document can be helpful: >> >> https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks >> >> The ultimate question becomes "what do I want to do with those >> streams?". That will determine whether your computer >> can handle the aggregate data rates. >> >> >> > > > _______________________________________________ > USRP-users mailing list --usrp-users@lists.ettus.com > To unsubscribe send an email tousrp-users-leave@lists.ettus.com
O
Olo
Wed, Aug 14, 2024 2:16 PM

Thank you for your response and the helpful information.

I have a follow-up question regarding the common phase reference. I am using two TwinRX daughterboards, which should share a common local oscillator. Does this setup qualify as having a common phase reference across all four channels?

Additionally, my interest in RFNoC stems from the documentation, which states that the Channels parameter in uhd::stream_args_t is not used for RFNoC devices. Instead, to create a streamer with multiple channels, the API calls uhd::rfnoc::rfnoc_graph::create_tx_streamer() and uhd::rfnoc::rfnoc_graph::create_rx_streamer() include a num_ports argument.

Given this, is it possible to receive data from all four channels simultaneously, even if not at full bandwidth, by simply connecting each last block from the channels to create_rx_streamer()? Also, what should the final block be if I want to receive raw IQ data?

Finally, I am currently using the standard XG image for the X310 due to my dual 10GbE setup. Would this image be able to stream everything simultaneously, or would I need to create a custom one?

I appreciate your guidance on this matter.
On Wednesday, August 14th, 2024 at 15:25, Marcus D. Leech patchvonbraun@gmail.com wrote:

On 14/08/2024 02:57, Olo via USRP-users wrote:

Dear Ettus Support,

Thank you for your prompt and detailed response. I appreciate the clarification regarding the use of RFNoC and UHD multi_usrp streamers.

To answer your question, my goal is to display the Power Spectral Density (PSD) from the four channels. I plan to use a window function, perform an FFT, and apply the log power block to calculate the PSD.

Could you please advise on the best way to combine all four channels into one for this purpose? Specifically, I'm interested in understanding how to properly aggregate the data streams so that I can calculate the PSD effectively.

Thank you again for your support.

Best regards,
Olo

That's probably a question for the discuss-gnuradio mailing list, assuming you're using GNu Radio.

UHD isn't a signal-processing framework -- it's a driver interface to the hardware. RFNoC augments this with
DSP blocks that can run on the hardware. I don't think that there's enough resources on the X310 FPGA to run
FFTs on all 4 channels, but I could be wrong. Maybe there's someone on here who has done this with RFNoC.

In terms of "spectral merging". If all 4 channels share a common phase reference, then I think that you can
rotate-and-add prior to computing a single FFT over the aggregated stream. But that's, again, a DSP question, and
the discuss-gnuradio mailing list might be a better venue for that type of question.

On Tuesday, August 13th, 2024 at 16:48, Marcus D. Leech patchvonbraun@gmail.com wrote:

On 13/08/2024 10:36, Olo via USRP-users wrote:

Dear Ettus Support Team,

I hope this message finds you well.

I am currently working with an X310 SDR equipped with two TwinRX daughterboards, and I am looking to receive data simultaneously across all four channels. My goal is to maximize the available bandwidth by configuring the system to receive on all channels in parallel.

Could you please advise on the best approach to achieve this? Specifically, I would like to know if it is necessary to use a specialized RFNoC graph for this setup, or if the uhd::multi_usrp class in the UHD library, along with a corresponding rx_streamer, would be sufficient to accomplish this task.

I appreciate any guidance or recommendations you can provide.

Thank you for your support.

Best regards,
Olo.

Assuming that all the streams terminate on your computer, then the limiting factor is always going to be your computer. RFNoC
is only helpful if you want to do some of the computing on the radio. But if the goal is to have 4 streams going to your computer,
at full rate, then RFNoC doesn't bring anything to the table--and in fact, internally these days, an application that uses UHD
multi-usrp streamers actually sets up a standardized RFNoC flow on the radio anyway.

This document can be helpful:

https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks

The ultimate question becomes "what do I want to do with those streams?". That will determine whether your computer
can handle the aggregate data rates.


USRP-users mailing list --
usrp-users@lists.ettus.com
To unsubscribe send an email to
usrp-users-leave@lists.ettus.com

Thank you for your response and the helpful information. I have a follow-up question regarding the common phase reference. I am using two TwinRX daughterboards, which should share a common local oscillator. Does this setup qualify as having a common phase reference across all four channels? Additionally, my interest in RFNoC stems from the documentation, which states that the Channels parameter in uhd::stream_args_t is not used for RFNoC devices. Instead, to create a streamer with multiple channels, the API calls uhd::rfnoc::rfnoc_graph::create_tx_streamer() and uhd::rfnoc::rfnoc_graph::create_rx_streamer() include a num_ports argument. Given this, is it possible to receive data from all four channels simultaneously, even if not at full bandwidth, by simply connecting each last block from the channels to create_rx_streamer()? Also, what should the final block be if I want to receive raw IQ data? Finally, I am currently using the standard XG image for the X310 due to my dual 10GbE setup. Would this image be able to stream everything simultaneously, or would I need to create a custom one? I appreciate your guidance on this matter. On Wednesday, August 14th, 2024 at 15:25, Marcus D. Leech <patchvonbraun@gmail.com> wrote: > On 14/08/2024 02:57, Olo via USRP-users wrote: > >> Dear Ettus Support, >> >> Thank you for your prompt and detailed response. I appreciate the clarification regarding the use of RFNoC and UHD multi_usrp streamers. >> >> To answer your question, my goal is to display the Power Spectral Density (PSD) from the four channels. I plan to use a window function, perform an FFT, and apply the log power block to calculate the PSD. >> >> Could you please advise on the best way to combine all four channels into one for this purpose? Specifically, I'm interested in understanding how to properly aggregate the data streams so that I can calculate the PSD effectively. >> >> Thank you again for your support. >> >> Best regards, >> Olo > > That's probably a question for the discuss-gnuradio mailing list, assuming you're using GNu Radio. > > UHD isn't a signal-processing framework -- it's a driver interface to the hardware. RFNoC augments this with > DSP blocks that can run on the hardware. I don't *think* that there's enough resources on the X310 FPGA to run > FFTs on all 4 channels, but I could be wrong. Maybe there's someone on here who has done this with RFNoC. > > In terms of "spectral merging". If all 4 channels share a common phase reference, then I *think* that you can > rotate-and-add prior to computing a single FFT over the aggregated stream. But that's, again, a DSP question, and > the discuss-gnuradio mailing list might be a better venue for that type of question. > >> On Tuesday, August 13th, 2024 at 16:48, Marcus D. Leech [<patchvonbraun@gmail.com>](mailto:patchvonbraun@gmail.com) wrote: >> >>> On 13/08/2024 10:36, Olo via USRP-users wrote: >>> >>>> Dear Ettus Support Team, >>>> >>>> I hope this message finds you well. >>>> >>>> I am currently working with an X310 SDR equipped with two TwinRX daughterboards, and I am looking to receive data simultaneously across all four channels. My goal is to maximize the available bandwidth by configuring the system to receive on all channels in parallel. >>>> >>>> Could you please advise on the best approach to achieve this? Specifically, I would like to know if it is necessary to use a specialized RFNoC graph for this setup, or if the uhd::multi_usrp class in the UHD library, along with a corresponding rx_streamer, would be sufficient to accomplish this task. >>>> >>>> I appreciate any guidance or recommendations you can provide. >>>> >>>> Thank you for your support. >>>> >>>> Best regards, >>>> Olo. >>> >>> Assuming that all the streams terminate on your computer, then the limiting factor is always going to be your computer. RFNoC >>> is only helpful if you want to do some of the computing on the radio. But if the goal is to have 4 streams going to your computer, >>> at full rate, then RFNoC doesn't bring anything to the table--and in fact, internally these days, an application that uses UHD >>> multi-usrp streamers actually sets up a standardized RFNoC flow on the radio anyway. >>> >>> This document can be helpful: >>> >>> https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks >>> >>> The ultimate question becomes "what do I want to do with those streams?". That will determine whether your computer >>> can handle the aggregate data rates. >> >> _______________________________________________ >> USRP-users mailing list -- >> usrp-users@lists.ettus.com >> To unsubscribe send an email to >> usrp-users-leave@lists.ettus.com
MD
Marcus D. Leech
Wed, Aug 14, 2024 2:22 PM

On 14/08/2024 10:16, Olo via USRP-users wrote:

Thank you for your response and the helpful information.

I have a follow-up question regarding the common phase reference. I am
using two TwinRX daughterboards, which should share a common local
oscillator. Does this setup qualify as having a common phase reference
across all four channels?

Additionally, my interest in RFNoC stems from the documentation, which
states that the Channels parameter in uhd::stream_args_t is not used
for RFNoC devices. Instead, to create a streamer with multiple
channels, the API calls uhd::rfnoc::rfnoc_graph::create_tx_streamer()
and uhd::rfnoc::rfnoc_graph::create_rx_streamer() include a num_ports
argument.

Given this, is it possible to receive data from all four channels
simultaneously, even if not at full bandwidth, by simply connecting
each last block from the channels to create_rx_streamer()? Also, what
should the final block be if I want to receive raw IQ data?

Finally, I am currently using the standard XG image for the X310 due
to my dual 10GbE setup. Would this image be able to stream everything
simultaneously, or would I need to create a custom one?

I appreciate your guidance on this matter.

The standard images can stream from all 4 channels with a multi_usrp
object.  I do this with Gnu Radio all the time, and the
  'rx_multi_samples' example UHD code can also stream from multiple
channels.

If you're just streaming the I/Q, you don't need to explicitly do
anything with RFNoC, the multi_usrp UHD API is all you need.
  You can configure the streams for any valid sample rate you want.

I'd encourage you to look at the 'rx_multi_samples' example code.

On Wednesday, August 14th, 2024 at 15:25, Marcus D. Leech
patchvonbraun@gmail.com wrote:

On 14/08/2024 02:57, Olo via USRP-users wrote:

Dear Ettus Support,

Thank you for your prompt and detailed response. I appreciate the
clarification regarding the use of RFNoC and UHD multi_usrpstreamers.

To answer your question, my goal is to display the Power Spectral
Density (PSD) from the four channels. I plan to use a window
function, perform an FFT, and apply the log power block to calculate
the PSD.

Could you please advise on the best way to combine all four channels
into one for this purpose? Specifically, I'm interested in
understanding how to properly aggregate the data streams so that I
can calculate the PSD effectively.

Thank you again for your support.

Best regards,
Olo

That's probably a question for the discuss-gnuradio mailing list,
assuming you're using GNu Radio.

UHD isn't a signal-processing framework -- it's a driver interface to
the hardware. RFNoC augments this with
DSP blocks that can run on the hardware. I don't think that there's
enough resources on the X310 FPGA to run
FFTs on all 4 channels, but I could be wrong. Maybe there's someone
on here who has done this with RFNoC.

In terms of "spectral merging". If all 4 channels share a common
phase reference, then I think that you can
rotate-and-add prior to computing a single FFT over the aggregated
stream. But that's, again, a DSP question, and
the discuss-gnuradio mailing list might be a better venue for that
type of question.

On Tuesday, August 13th, 2024 at 16:48, Marcus D. Leech
patchvonbraun@gmail.com wrote:

On 13/08/2024 10:36, Olo via USRP-users wrote:

Dear Ettus Support Team,

I hope this message finds you well.

I am currently working with an X310 SDR equipped with two TwinRX
daughterboards, and I am looking to receive data simultaneously
across all four channels. My goal is to maximize the available
bandwidth by configuring the system to receive on all channels in
parallel.

Could you please advise on the best approach to achieve this?
Specifically, I would like to know if it is necessary to use a
specialized RFNoC graph for this setup, or if the uhd::multi_usrp
class in the UHD library, along with a corresponding rx_streamer,
would be sufficient to accomplish this task.

I appreciate any guidance or recommendations you can provide.

Thank you for your support.

Best regards,
Olo.

Assuming that all the streams terminate on your computer, then the
limiting factor is always going to be your computer. RFNoC
is only helpful if you want to do some of the computing on the
radio. But if the goal is to have 4 streams going to your computer,
at full rate, then RFNoC doesn't bring anything to the table--and
in fact, internally these days, an application that uses UHD
multi-usrp streamers actually sets up a standardized RFNoC flow on
the radio anyway.

This document can be helpful:

https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks

The ultimate question becomes "what do I want to do with those
streams?". That will determine whether your computer
can handle the aggregate data rates.


USRP-users mailing list --usrp-users@lists.ettus.com
To unsubscribe send an email tousrp-users-leave@lists.ettus.com


USRP-users mailing list --usrp-users@lists.ettus.com
To unsubscribe send an email tousrp-users-leave@lists.ettus.com

On 14/08/2024 10:16, Olo via USRP-users wrote: > > Thank you for your response and the helpful information. > > I have a follow-up question regarding the common phase reference. I am > using two TwinRX daughterboards, which should share a common local > oscillator. Does this setup qualify as having a common phase reference > across all four channels? > > Additionally, my interest in RFNoC stems from the documentation, which > states that the Channels parameter in uhd::stream_args_t is not used > for RFNoC devices. Instead, to create a streamer with multiple > channels, the API calls uhd::rfnoc::rfnoc_graph::create_tx_streamer() > and uhd::rfnoc::rfnoc_graph::create_rx_streamer() include a num_ports > argument. > > Given this, is it possible to receive data from all four channels > simultaneously, even if not at full bandwidth, by simply connecting > each last block from the channels to create_rx_streamer()? Also, what > should the final block be if I want to receive raw IQ data? > > Finally, I am currently using the standard XG image for the X310 due > to my dual 10GbE setup. Would this image be able to stream everything > simultaneously, or would I need to create a custom one? > > I appreciate your guidance on this matter. The standard images can stream from all 4 channels with a multi_usrp object.  I do this with Gnu Radio all the time, and the   'rx_multi_samples' example UHD code can also stream from multiple channels. If you're just streaming the I/Q, you don't need to explicitly do anything with RFNoC, the multi_usrp UHD API is all you need.   You can configure the streams for any valid sample rate you want. I'd encourage you to look at the 'rx_multi_samples' example code. > On Wednesday, August 14th, 2024 at 15:25, Marcus D. Leech > <patchvonbraun@gmail.com> wrote: >> On 14/08/2024 02:57, Olo via USRP-users wrote: >>> >>> Dear Ettus Support, >>> >>> Thank you for your prompt and detailed response. I appreciate the >>> clarification regarding the use of RFNoC and UHD multi_usrpstreamers. >>> >>> To answer your question, my goal is to display the Power Spectral >>> Density (PSD) from the four channels. I plan to use a window >>> function, perform an FFT, and apply the log power block to calculate >>> the PSD. >>> >>> Could you please advise on the best way to combine all four channels >>> into one for this purpose? Specifically, I'm interested in >>> understanding how to properly aggregate the data streams so that I >>> can calculate the PSD effectively. >>> >>> Thank you again for your support. >>> >>> Best regards, >>> Olo >>> >> That's probably a question for the discuss-gnuradio mailing list, >> assuming you're using GNu Radio. >> >> UHD isn't a signal-processing framework -- it's a driver interface to >> the hardware. RFNoC augments this with >> DSP blocks that can run on the hardware. I don't *think* that there's >> enough resources on the X310 FPGA to run >> FFTs on all 4 channels, but I could be wrong. Maybe there's someone >> on here who has done this with RFNoC. >> >> In terms of "spectral merging". If all 4 channels share a common >> phase reference, then I *think* that you can >> rotate-and-add prior to computing a single FFT over the aggregated >> stream. But that's, again, a DSP question, and >> the discuss-gnuradio mailing list might be a better venue for that >> type of question. >> >> >>> >>> On Tuesday, August 13th, 2024 at 16:48, Marcus D. Leech >>> <patchvonbraun@gmail.com> wrote: >>>> On 13/08/2024 10:36, Olo via USRP-users wrote: >>>>> Dear Ettus Support Team, >>>>> >>>>> I hope this message finds you well. >>>>> >>>>> I am currently working with an X310 SDR equipped with two TwinRX >>>>> daughterboards, and I am looking to receive data simultaneously >>>>> across all four channels. My goal is to maximize the available >>>>> bandwidth by configuring the system to receive on all channels in >>>>> parallel. >>>>> >>>>> Could you please advise on the best approach to achieve this? >>>>> Specifically, I would like to know if it is necessary to use a >>>>> specialized RFNoC graph for this setup, or if the uhd::multi_usrp >>>>> class in the UHD library, along with a corresponding rx_streamer, >>>>> would be sufficient to accomplish this task. >>>>> >>>>> I appreciate any guidance or recommendations you can provide. >>>>> >>>>> Thank you for your support. >>>>> >>>>> Best regards, >>>>> Olo. >>>>> >>>>> >>>> Assuming that all the streams terminate on your computer, then the >>>> limiting factor is always going to be your computer. RFNoC >>>> is only helpful if you want to do some of the computing on the >>>> radio. But if the goal is to have 4 streams going to your computer, >>>> at full rate, then RFNoC doesn't bring anything to the table--and >>>> in fact, internally these days, an application that uses UHD >>>> multi-usrp streamers actually sets up a standardized RFNoC flow on >>>> the radio anyway. >>>> >>>> This document can be helpful: >>>> >>>> https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks >>>> >>>> The ultimate question becomes "what do I want to do with those >>>> streams?". That will determine whether your computer >>>> can handle the aggregate data rates. >>>> >>>> >>>> >>> >>> >>> _______________________________________________ >>> USRP-users mailing list --usrp-users@lists.ettus.com >>> To unsubscribe send an email tousrp-users-leave@lists.ettus.com >> > > > _______________________________________________ > USRP-users mailing list --usrp-users@lists.ettus.com > To unsubscribe send an email tousrp-users-leave@lists.ettus.com