usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

Setting up an X310 as a signal generator

JP
Jerrid Plymale
Fri, May 1, 2020 5:22 PM

Hello All,

So I have been trying to set up a USRP X310 as a signal generator for about a week now, and I'm having some issues. Currently I am using gnuradio-companion to develop the functionality. I have three sets of signal sources that are of float type, creating the I and Q values that get passed to a float to complex block. The output of the three float to complex blocks go to an add block, which then outputs to a USRP sink. Currently, the first problem is with underruns, I'm not getting a lot of them however I am getting breaks in the signal when I pass it to a second USRP X310. What would be the best approach to make sure my signal is coming in strong to the second USRP? I am also having issues with increasing the power of the signal when it is received, is this mainly controlled by the gain value on the USRP source in gnuradio? What can I do to get my incoming signal to have more power?

Best Regards,

Jerrid

Hello All, So I have been trying to set up a USRP X310 as a signal generator for about a week now, and I'm having some issues. Currently I am using gnuradio-companion to develop the functionality. I have three sets of signal sources that are of float type, creating the I and Q values that get passed to a float to complex block. The output of the three float to complex blocks go to an add block, which then outputs to a USRP sink. Currently, the first problem is with underruns, I'm not getting a lot of them however I am getting breaks in the signal when I pass it to a second USRP X310. What would be the best approach to make sure my signal is coming in strong to the second USRP? I am also having issues with increasing the power of the signal when it is received, is this mainly controlled by the gain value on the USRP source in gnuradio? What can I do to get my incoming signal to have more power? Best Regards, Jerrid
BP
Brian Padalino
Fri, May 1, 2020 5:28 PM

On Fri, May 1, 2020 at 1:23 PM Jerrid Plymale via USRP-users <
usrp-users@lists.ettus.com> wrote:

Hello All,

So I have been trying to set up a USRP X310 as a signal generator for
about a week now, and I’m having some issues. Currently I am using
gnuradio-companion to develop the functionality. I have three sets of
signal sources that are of float type, creating the I and Q values that get
passed to a float to complex block. The output of the three float to
complex blocks go to an add block, which then outputs to a USRP sink.
Currently, the first problem is with underruns, I’m not getting a lot of
them however I am getting breaks in the signal when I pass it to a second
USRP X310. What would be the best approach to make sure my signal is coming
in strong to the second USRP? I am also having issues with increasing the
power of the signal when it is received, is this mainly controlled by the
gain value on the USRP source in gnuradio? What can I do to get my incoming
signal to have more power?

You can try placing a DRAM FIFO in your transmit flow graph as the first
thing.  That should ensure some tens of milliseconds worth of buffering for
your signals and allow for some host jitter without underruns.

Do you have an external spectrum analyzer or something that can tell you
the power output of the first radio?

The receivers should be able to be saturated by your transmitter, so
there's definitely a gain issue somewhere.

Brian

On Fri, May 1, 2020 at 1:23 PM Jerrid Plymale via USRP-users < usrp-users@lists.ettus.com> wrote: > Hello All, > > > > So I have been trying to set up a USRP X310 as a signal generator for > about a week now, and I’m having some issues. Currently I am using > gnuradio-companion to develop the functionality. I have three sets of > signal sources that are of float type, creating the I and Q values that get > passed to a float to complex block. The output of the three float to > complex blocks go to an add block, which then outputs to a USRP sink. > Currently, the first problem is with underruns, I’m not getting a lot of > them however I am getting breaks in the signal when I pass it to a second > USRP X310. What would be the best approach to make sure my signal is coming > in strong to the second USRP? I am also having issues with increasing the > power of the signal when it is received, is this mainly controlled by the > gain value on the USRP source in gnuradio? What can I do to get my incoming > signal to have more power? > You can try placing a DRAM FIFO in your transmit flow graph as the first thing. That should ensure some tens of milliseconds worth of buffering for your signals and allow for some host jitter without underruns. Do you have an external spectrum analyzer or something that can tell you the power output of the first radio? The receivers should be able to be saturated by your transmitter, so there's definitely a gain issue somewhere. Brian
JP
Jerrid Plymale
Fri, May 1, 2020 5:35 PM

Brian,

Thank you for the quick response! I will try the DRAM FIFO and see if that works. As I am working from home at the moment I do not have access to a spectrum analyzer, Is there anyway I can use any of the QT GUI blocks in gnuradio to determine a rough estimate? I know that the values you set are just values and that you have to determine how they correspond to actual values, but is there a way to do that mathematically? Determining metrics for this project have definitely been a struggle me so far.

Best Regards,

Jerrid

From: Brian Padalino bpadalino@gmail.com
Sent: Friday, May 1, 2020 10:28 AM
To: Jerrid Plymale jerrid.plymale@canyon-us.com
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] Setting up an X310 as a signal generator

On Fri, May 1, 2020 at 1:23 PM Jerrid Plymale via USRP-users <usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com> wrote:
Hello All,

So I have been trying to set up a USRP X310 as a signal generator for about a week now, and I’m having some issues. Currently I am using gnuradio-companion to develop the functionality. I have three sets of signal sources that are of float type, creating the I and Q values that get passed to a float to complex block. The output of the three float to complex blocks go to an add block, which then outputs to a USRP sink. Currently, the first problem is with underruns, I’m not getting a lot of them however I am getting breaks in the signal when I pass it to a second USRP X310. What would be the best approach to make sure my signal is coming in strong to the second USRP? I am also having issues with increasing the power of the signal when it is received, is this mainly controlled by the gain value on the USRP source in gnuradio? What can I do to get my incoming signal to have more power?

You can try placing a DRAM FIFO in your transmit flow graph as the first thing.  That should ensure some tens of milliseconds worth of buffering for your signals and allow for some host jitter without underruns.

Do you have an external spectrum analyzer or something that can tell you the power output of the first radio?

The receivers should be able to be saturated by your transmitter, so there's definitely a gain issue somewhere.

Brian

Brian, Thank you for the quick response! I will try the DRAM FIFO and see if that works. As I am working from home at the moment I do not have access to a spectrum analyzer, Is there anyway I can use any of the QT GUI blocks in gnuradio to determine a rough estimate? I know that the values you set are just values and that you have to determine how they correspond to actual values, but is there a way to do that mathematically? Determining metrics for this project have definitely been a struggle me so far. Best Regards, Jerrid From: Brian Padalino <bpadalino@gmail.com> Sent: Friday, May 1, 2020 10:28 AM To: Jerrid Plymale <jerrid.plymale@canyon-us.com> Cc: usrp-users@lists.ettus.com Subject: Re: [USRP-users] Setting up an X310 as a signal generator On Fri, May 1, 2020 at 1:23 PM Jerrid Plymale via USRP-users <usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>> wrote: Hello All, So I have been trying to set up a USRP X310 as a signal generator for about a week now, and I’m having some issues. Currently I am using gnuradio-companion to develop the functionality. I have three sets of signal sources that are of float type, creating the I and Q values that get passed to a float to complex block. The output of the three float to complex blocks go to an add block, which then outputs to a USRP sink. Currently, the first problem is with underruns, I’m not getting a lot of them however I am getting breaks in the signal when I pass it to a second USRP X310. What would be the best approach to make sure my signal is coming in strong to the second USRP? I am also having issues with increasing the power of the signal when it is received, is this mainly controlled by the gain value on the USRP source in gnuradio? What can I do to get my incoming signal to have more power? You can try placing a DRAM FIFO in your transmit flow graph as the first thing. That should ensure some tens of milliseconds worth of buffering for your signals and allow for some host jitter without underruns. Do you have an external spectrum analyzer or something that can tell you the power output of the first radio? The receivers should be able to be saturated by your transmitter, so there's definitely a gain issue somewhere. Brian
JP
Jerrid Plymale
Fri, May 1, 2020 5:49 PM

Brian,

I realized I forgot to mention, I am using the multi_usrp API and not the RFNoC API, so I am actually unable to use the DRAM FIFO.  Do you have any suggestions, or should I work on transitioning the signal generator to an RFNoC installation of UHD?

Best Regards,

Jerrid

From: Brian Padalino bpadalino@gmail.com
Sent: Friday, May 1, 2020 10:28 AM
To: Jerrid Plymale jerrid.plymale@canyon-us.com
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] Setting up an X310 as a signal generator

On Fri, May 1, 2020 at 1:23 PM Jerrid Plymale via USRP-users <usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com> wrote:
Hello All,

So I have been trying to set up a USRP X310 as a signal generator for about a week now, and I’m having some issues. Currently I am using gnuradio-companion to develop the functionality. I have three sets of signal sources that are of float type, creating the I and Q values that get passed to a float to complex block. The output of the three float to complex blocks go to an add block, which then outputs to a USRP sink. Currently, the first problem is with underruns, I’m not getting a lot of them however I am getting breaks in the signal when I pass it to a second USRP X310. What would be the best approach to make sure my signal is coming in strong to the second USRP? I am also having issues with increasing the power of the signal when it is received, is this mainly controlled by the gain value on the USRP source in gnuradio? What can I do to get my incoming signal to have more power?

You can try placing a DRAM FIFO in your transmit flow graph as the first thing.  That should ensure some tens of milliseconds worth of buffering for your signals and allow for some host jitter without underruns.

Do you have an external spectrum analyzer or something that can tell you the power output of the first radio?

The receivers should be able to be saturated by your transmitter, so there's definitely a gain issue somewhere.

Brian

Brian, I realized I forgot to mention, I am using the multi_usrp API and not the RFNoC API, so I am actually unable to use the DRAM FIFO. Do you have any suggestions, or should I work on transitioning the signal generator to an RFNoC installation of UHD? Best Regards, Jerrid From: Brian Padalino <bpadalino@gmail.com> Sent: Friday, May 1, 2020 10:28 AM To: Jerrid Plymale <jerrid.plymale@canyon-us.com> Cc: usrp-users@lists.ettus.com Subject: Re: [USRP-users] Setting up an X310 as a signal generator On Fri, May 1, 2020 at 1:23 PM Jerrid Plymale via USRP-users <usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>> wrote: Hello All, So I have been trying to set up a USRP X310 as a signal generator for about a week now, and I’m having some issues. Currently I am using gnuradio-companion to develop the functionality. I have three sets of signal sources that are of float type, creating the I and Q values that get passed to a float to complex block. The output of the three float to complex blocks go to an add block, which then outputs to a USRP sink. Currently, the first problem is with underruns, I’m not getting a lot of them however I am getting breaks in the signal when I pass it to a second USRP X310. What would be the best approach to make sure my signal is coming in strong to the second USRP? I am also having issues with increasing the power of the signal when it is received, is this mainly controlled by the gain value on the USRP source in gnuradio? What can I do to get my incoming signal to have more power? You can try placing a DRAM FIFO in your transmit flow graph as the first thing. That should ensure some tens of milliseconds worth of buffering for your signals and allow for some host jitter without underruns. Do you have an external spectrum analyzer or something that can tell you the power output of the first radio? The receivers should be able to be saturated by your transmitter, so there's definitely a gain issue somewhere. Brian
BP
Brian Padalino
Fri, May 1, 2020 6:00 PM

On Fri, May 1, 2020 at 1:49 PM Jerrid Plymale jerrid.plymale@canyon-us.com
wrote:

Brian,

I realized I forgot to mention, I am using the multi_usrp API and not the
RFNoC API, so I am actually unable to use the DRAM FIFO.  Do you have any
suggestions, or should I work on transitioning the signal generator to an
RFNoC installation of UHD?

I am a little biased since I am more of an FPGA guy than most, so I like
the RFnoC API.

I am not sure if the DRAM FIFO is used in the multi_usrp API - someone from
Ettus might have more information, or there is the code to look at as well.

Brian

On Fri, May 1, 2020 at 1:49 PM Jerrid Plymale <jerrid.plymale@canyon-us.com> wrote: > Brian, > > > > I realized I forgot to mention, I am using the multi_usrp API and not the > RFNoC API, so I am actually unable to use the DRAM FIFO. Do you have any > suggestions, or should I work on transitioning the signal generator to an > RFNoC installation of UHD? > I am a little biased since I am more of an FPGA guy than most, so I like the RFnoC API. I am not sure if the DRAM FIFO is used in the multi_usrp API - someone from Ettus might have more information, or there is the code to look at as well. Brian >
MD
Marcus D. Leech
Fri, May 1, 2020 6:17 PM

On 05/01/2020 01:35 PM, Jerrid Plymale via USRP-users wrote:

Brian,

Thank you for the quick response! I will try the DRAM FIFO and see if
that works. As I am working from home at the moment I do not have
access to a spectrum analyzer, Is there anyway I can use any of the QT
GUI blocks in gnuradio to determine a rough estimate? I know that the
values you set are just values and that you have to determine how they
correspond to actual values, but is there a way to do that
mathematically? Determining metrics for this project have definitely
been a struggle me so far.

Best Regards,

Jerrid

If you're using the multi_usrp interface via Gnu Radio, then the DRAM
FIFO won't be directly visible to you.  What sample rate are you trying
to sustain?  Can you share your flow-graph with us?

Underruns mean that your host CPU isn't "keeping up" with the
sample-rate demand from the X310, and if that is an ongoing thing, then no
amount of buffering will help.

From: Brian Padalino bpadalino@gmail.com
Sent: Friday, May 1, 2020 10:28 AM
To: Jerrid Plymale jerrid.plymale@canyon-us.com
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] Setting up an X310 as a signal generator

On Fri, May 1, 2020 at 1:23 PM Jerrid Plymale via USRP-users
<usrp-users@lists.ettus.com mailto:usrp-users@lists.ettus.com> wrote:

 Hello All,

 So I have been trying to set up a USRP X310 as a signal generator
 for about a week now, and I’m having some issues. Currently I am
 using gnuradio-companion to develop the functionality. I have
 three sets of signal sources that are of float type, creating the
 I and Q values that get passed to a float to complex block. The
 output of the three float to complex blocks go to an add block,
 which then outputs to a USRP sink. Currently, the first problem is
 with underruns, I’m not getting a lot of them however I am getting
 breaks in the signal when I pass it to a second USRP X310. What
 would be the best approach to make sure my signal is coming in
 strong to the second USRP? I am also having issues with increasing
 the power of the signal when it is received, is this mainly
 controlled by the gain value on the USRP source in gnuradio? What
 can I do to get my incoming signal to have more power?

You can try placing a DRAM FIFO in your transmit flow graph as the
first thing.  That should ensure some tens of milliseconds worth of
buffering for your signals and allow for some host jitter without
underruns.

Do you have an external spectrum analyzer or something that can tell
you the power output of the first radio?

The receivers should be able to be saturated by your transmitter, so
there's definitely a gain issue somewhere.

Brian


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

On 05/01/2020 01:35 PM, Jerrid Plymale via USRP-users wrote: > > Brian, > > Thank you for the quick response! I will try the DRAM FIFO and see if > that works. As I am working from home at the moment I do not have > access to a spectrum analyzer, Is there anyway I can use any of the QT > GUI blocks in gnuradio to determine a rough estimate? I know that the > values you set are just values and that you have to determine how they > correspond to actual values, but is there a way to do that > mathematically? Determining metrics for this project have definitely > been a struggle me so far. > > Best Regards, > > Jerrid > If you're using the multi_usrp interface via Gnu Radio, then the DRAM FIFO won't be directly visible to you. What sample rate are you trying to sustain? Can you share your flow-graph with us? Underruns mean that your host CPU isn't "keeping up" with the sample-rate demand from the X310, and if that is an ongoing thing, then no amount of buffering will help. > *From:* Brian Padalino <bpadalino@gmail.com> > *Sent:* Friday, May 1, 2020 10:28 AM > *To:* Jerrid Plymale <jerrid.plymale@canyon-us.com> > *Cc:* usrp-users@lists.ettus.com > *Subject:* Re: [USRP-users] Setting up an X310 as a signal generator > > On Fri, May 1, 2020 at 1:23 PM Jerrid Plymale via USRP-users > <usrp-users@lists.ettus.com <mailto:usrp-users@lists.ettus.com>> wrote: > > Hello All, > > So I have been trying to set up a USRP X310 as a signal generator > for about a week now, and I’m having some issues. Currently I am > using gnuradio-companion to develop the functionality. I have > three sets of signal sources that are of float type, creating the > I and Q values that get passed to a float to complex block. The > output of the three float to complex blocks go to an add block, > which then outputs to a USRP sink. Currently, the first problem is > with underruns, I’m not getting a lot of them however I am getting > breaks in the signal when I pass it to a second USRP X310. What > would be the best approach to make sure my signal is coming in > strong to the second USRP? I am also having issues with increasing > the power of the signal when it is received, is this mainly > controlled by the gain value on the USRP source in gnuradio? What > can I do to get my incoming signal to have more power? > > You can try placing a DRAM FIFO in your transmit flow graph as the > first thing. That should ensure some tens of milliseconds worth of > buffering for your signals and allow for some host jitter without > underruns. > > Do you have an external spectrum analyzer or something that can tell > you the power output of the first radio? > > The receivers should be able to be saturated by your transmitter, so > there's definitely a gain issue somewhere. > > Brian > > > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
RK
Rob Kossler
Fri, May 1, 2020 9:52 PM

With an X310, the DRAM FIFO is included by default in the multi_usrp object
(at least for UHD 3.15 and earlier).  If you DON'T want it, you have to use
a startup arg to skip it (something like SKIP_DRAM=1).
Rob

On Fri, May 1, 2020 at 2:18 PM Marcus D. Leech via USRP-users <
usrp-users@lists.ettus.com> wrote:

On 05/01/2020 01:35 PM, Jerrid Plymale via USRP-users wrote:

Brian,

Thank you for the quick response! I will try the DRAM FIFO and see if that
works. As I am working from home at the moment I do not have access to a
spectrum analyzer, Is there anyway I can use any of the QT GUI blocks in
gnuradio to determine a rough estimate? I know that the values you set are
just values and that you have to determine how they correspond to actual
values, but is there a way to do that mathematically? Determining metrics
for this project have definitely been a struggle me so far.

Best Regards,

Jerrid

If you're using the multi_usrp interface via Gnu Radio, then the DRAM FIFO
won't be directly visible to you.  What sample rate are you trying
to sustain?  Can you share your flow-graph with us?

Underruns mean that your host CPU isn't "keeping up" with the sample-rate
demand from the X310, and if that is an ongoing thing, then no
amount of buffering will help.

From: Brian Padalino bpadalino@gmail.com bpadalino@gmail.com
Sent: Friday, May 1, 2020 10:28 AM
To: Jerrid Plymale jerrid.plymale@canyon-us.com
jerrid.plymale@canyon-us.com
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] Setting up an X310 as a signal generator

On Fri, May 1, 2020 at 1:23 PM Jerrid Plymale via USRP-users <
usrp-users@lists.ettus.com> wrote:

Hello All,

So I have been trying to set up a USRP X310 as a signal generator for
about a week now, and I’m having some issues. Currently I am using
gnuradio-companion to develop the functionality. I have three sets of
signal sources that are of float type, creating the I and Q values that get
passed to a float to complex block. The output of the three float to
complex blocks go to an add block, which then outputs to a USRP sink.
Currently, the first problem is with underruns, I’m not getting a lot of
them however I am getting breaks in the signal when I pass it to a second
USRP X310. What would be the best approach to make sure my signal is coming
in strong to the second USRP? I am also having issues with increasing the
power of the signal when it is received, is this mainly controlled by the
gain value on the USRP source in gnuradio? What can I do to get my incoming
signal to have more power?

You can try placing a DRAM FIFO in your transmit flow graph as the first
thing.  That should ensure some tens of milliseconds worth of buffering for
your signals and allow for some host jitter without underruns.

Do you have an external spectrum analyzer or something that can tell you
the power output of the first radio?

The receivers should be able to be saturated by your transmitter, so
there's definitely a gain issue somewhere.

Brian


USRP-users mailing listUSRP-users@lists.ettus.comhttp://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

With an X310, the DRAM FIFO is included by default in the multi_usrp object (at least for UHD 3.15 and earlier). If you DON'T want it, you have to use a startup arg to skip it (something like SKIP_DRAM=1). Rob On Fri, May 1, 2020 at 2:18 PM Marcus D. Leech via USRP-users < usrp-users@lists.ettus.com> wrote: > On 05/01/2020 01:35 PM, Jerrid Plymale via USRP-users wrote: > > Brian, > > > > Thank you for the quick response! I will try the DRAM FIFO and see if that > works. As I am working from home at the moment I do not have access to a > spectrum analyzer, Is there anyway I can use any of the QT GUI blocks in > gnuradio to determine a rough estimate? I know that the values you set are > just values and that you have to determine how they correspond to actual > values, but is there a way to do that mathematically? Determining metrics > for this project have definitely been a struggle me so far. > > > > Best Regards, > > > > Jerrid > > If you're using the multi_usrp interface via Gnu Radio, then the DRAM FIFO > won't be directly visible to you. What sample rate are you trying > to sustain? Can you share your flow-graph with us? > > Underruns mean that your host CPU isn't "keeping up" with the sample-rate > demand from the X310, and if that is an ongoing thing, then no > amount of buffering will help. > > > > > *From:* Brian Padalino <bpadalino@gmail.com> <bpadalino@gmail.com> > *Sent:* Friday, May 1, 2020 10:28 AM > *To:* Jerrid Plymale <jerrid.plymale@canyon-us.com> > <jerrid.plymale@canyon-us.com> > *Cc:* usrp-users@lists.ettus.com > *Subject:* Re: [USRP-users] Setting up an X310 as a signal generator > > > > On Fri, May 1, 2020 at 1:23 PM Jerrid Plymale via USRP-users < > usrp-users@lists.ettus.com> wrote: > > Hello All, > > > > So I have been trying to set up a USRP X310 as a signal generator for > about a week now, and I’m having some issues. Currently I am using > gnuradio-companion to develop the functionality. I have three sets of > signal sources that are of float type, creating the I and Q values that get > passed to a float to complex block. The output of the three float to > complex blocks go to an add block, which then outputs to a USRP sink. > Currently, the first problem is with underruns, I’m not getting a lot of > them however I am getting breaks in the signal when I pass it to a second > USRP X310. What would be the best approach to make sure my signal is coming > in strong to the second USRP? I am also having issues with increasing the > power of the signal when it is received, is this mainly controlled by the > gain value on the USRP source in gnuradio? What can I do to get my incoming > signal to have more power? > > > > You can try placing a DRAM FIFO in your transmit flow graph as the first > thing. That should ensure some tens of milliseconds worth of buffering for > your signals and allow for some host jitter without underruns. > > > > Do you have an external spectrum analyzer or something that can tell you > the power output of the first radio? > > > > The receivers should be able to be saturated by your transmitter, so > there's definitely a gain issue somewhere. > > > > Brian > > > _______________________________________________ > USRP-users mailing listUSRP-users@lists.ettus.comhttp://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 >