usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

Re: [USRP-users] USRP-users Digest, Vol 26, Issue 1

UI
Usrp IITM
Mon, Oct 1, 2012 6:24 PM

Thanks Josh

On Mon, Oct 1, 2012 at 9:30 PM, usrp-users-request@lists.ettus.com wrote:

Send USRP-users mailing list submissions to
usrp-users@lists.ettus.com

To subscribe or unsubscribe via the World Wide Web, visit
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
or, via email, send a message with subject or body 'help' to
usrp-users-request@lists.ettus.com

You can reach the person managing the list at
usrp-users-owner@lists.ettus.com

When replying, please edit your Subject line so it is more specific
than "Re: Contents of USRP-users digest..."

Today's Topics:

1. Re: USRP buffering and latencies (Josh Blum)
2. Can not remove the receiving spike (DC component) by advanced
   tune request at USRP N210. (Alex Zhang)
3. Re: USRP with Matlab (Mike McLernon)
4.  How to use UHD USRP2 IFace (Tim Schuschies)
5. Re: USRP with Matlab (Mohamed Ismail)
6. Re: USRP with Matlab (Mike McLernon)
7. Re: USRP with Matlab (Mike McLernon)
8. Re: USRP with Matlab (Mohamed Ismail)

Message: 1
Date: Sun, 30 Sep 2012 16:11:25 -0700
From: Josh Blum josh@ettus.com
To: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] USRP buffering and latencies
Message-ID: 5068D19D.8060803@ettus.com
Content-Type: text/plain; charset=ISO-8859-1

On 09/30/2012 03:26 AM, Usrp IITM wrote:

Hi,

I am trying to find out how USRP implements data buffers in the

hardware.

I have a few questions regarding this:

  1. Do the USRP and the host (computer) communicate by UDP? Does the UHD
    use VITA49 as encapsulation above the UDP layer?

The packets for the network devices are simple VITA49 on top of UDP
datagrams. Some notes on this:
http://files.ettus.com/uhd_docs/manual/html/stream.html

  1. Once the packet (udp) reaches the USRP, where does the USRP store the
    data?

       a) Does it have a circular (or a normal) buffer?
       b) What is the size of this buffer?  Can this size be changed?
       c) Does the USRP read from this buffer continuously (at the
    

sampling rate)? Or does it wait for the buffer to get full?

---On transmit, there is a 1MB SRAM on the USRP which is used as a
sample FIFO. When this buffer fills, the API call to
usrp_tx_stream->send(...) will actually block until there is space
available on the USRP.

A software change could be used to shrink how much SRAM can be filled
with samples, but there is no way to increase the buffering without
swapping out the RAM with something larger.

The USRP will read from this SRAM ASAP when the TX DSP is consuming
samples.

---On receive. There is a rather large kernel socket buffer. By default
the UHD sizes it to 50MB, but it can be arbitrary. When the buffer is
full, UDP datagrams are dropped.

http://files.ettus.com/uhd_docs/manual/html/transport.html#resize-socket-buffers

http://files.ettus.com/uhd_docs/manual/html/general.html#overflow-underflow-notes

  1. What is the typical latency of a packet (UDP) to reach the USRP
    (assuming default settings with almost zero cpu load at the host)?

about 100us for gigabit ethernet. See the note about interrupt
coalescing

http://files.ettus.com/uhd_docs/manual/html/transport.html#latency-optimization

-josh


Message: 2
Date: Mon, 1 Oct 2012 01:59:27 -0500
From: Alex Zhang cingular.alex@gmail.com
To: gnuradio mailing list discuss-gnuradio@gnu.org,  usrp-users
usrp-users@lists.ettus.com
Subject: [USRP-users] Can not remove the receiving spike (DC
component) by advanced tune request at USRP N210.
Message-ID:
<CA+FEAnf25ZLWvHsAuJwutNMVRJ0QoCFSQXEUbCK6Vkhn=
xxquw@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Hi,

I always get a strong spike in the attachment, when using uhd_fft to
measure the noise. Please note there is no any signal on the air, only
noise, but I got this spike.
I guess this is the so called DC component. Thus I tried to remove this
spike, as stated in
http://files.ettus.com/uhd_docs/manual/html/general.html#tuning-notes,
using the advanced tuning request.

My sample rate is 2Ms, so as my understanding, I need to set the lo_offset
as >= 4MHz, to get the spike out my band, like this:

     tune_req = uhd.tune_request(options.freq, 5e6)   # with lo_offset =

5MHz
usrp.set_center_freq(tune_req, 0)

Then I get the tune result as:

Tune Result:
Target RF  Freq: 2405.000000 (MHz)
Actual RF  Freq: 2405.000000 (MHz)
Target DSP Freq: 5.000000 (MHz)
Actual DSP Freq: 5.000000 (MHz)

However, the spike is still there, almost the same, and the center
frequency is even still the same (this could be due to the some GUI usage)!
I really don't know if the advanced tuning works or not. It seems that the
incoming streaming still contains the DC component.

Spike of the received noise.

[image: Inline image 1]

Thanks Josh On Mon, Oct 1, 2012 at 9:30 PM, <usrp-users-request@lists.ettus.com> wrote: > Send USRP-users mailing list submissions to > usrp-users@lists.ettus.com > > To subscribe or unsubscribe via the World Wide Web, visit > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com > or, via email, send a message with subject or body 'help' to > usrp-users-request@lists.ettus.com > > You can reach the person managing the list at > usrp-users-owner@lists.ettus.com > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of USRP-users digest..." > > > Today's Topics: > > 1. Re: USRP buffering and latencies (Josh Blum) > 2. Can not remove the receiving spike (DC component) by advanced > tune request at USRP N210. (Alex Zhang) > 3. Re: USRP with Matlab (Mike McLernon) > 4. How to use UHD USRP2 IFace (Tim Schuschies) > 5. Re: USRP with Matlab (Mohamed Ismail) > 6. Re: USRP with Matlab (Mike McLernon) > 7. Re: USRP with Matlab (Mike McLernon) > 8. Re: USRP with Matlab (Mohamed Ismail) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sun, 30 Sep 2012 16:11:25 -0700 > From: Josh Blum <josh@ettus.com> > To: usrp-users@lists.ettus.com > Subject: Re: [USRP-users] USRP buffering and latencies > Message-ID: <5068D19D.8060803@ettus.com> > Content-Type: text/plain; charset=ISO-8859-1 > > > > On 09/30/2012 03:26 AM, Usrp IITM wrote: > > Hi, > > > > I am trying to find out how USRP implements data buffers in the > hardware. > > I have a few questions regarding this: > > > > 1) Do the USRP and the host (computer) communicate by UDP? Does the UHD > > use VITA49 as encapsulation above the UDP layer? > > > > The packets for the network devices are simple VITA49 on top of UDP > datagrams. Some notes on this: > http://files.ettus.com/uhd_docs/manual/html/stream.html > > > 2) Once the packet (udp) reaches the USRP, where does the USRP store the > > data? > > > > a) Does it have a circular (or a normal) buffer? > > b) What is the size of this buffer? Can this size be changed? > > c) Does the USRP read from this buffer continuously (at the > > sampling rate)? Or does it wait for the buffer to get full? > > > > ---On transmit, there is a 1MB SRAM on the USRP which is used as a > sample FIFO. When this buffer fills, the API call to > usrp_tx_stream->send(...) will actually block until there is space > available on the USRP. > > A software change could be used to shrink how much SRAM can be filled > with samples, but there is no way to increase the buffering without > swapping out the RAM with something larger. > > The USRP will read from this SRAM ASAP when the TX DSP is consuming > samples. > > ---On receive. There is a rather large kernel socket buffer. By default > the UHD sizes it to 50MB, but it can be arbitrary. When the buffer is > full, UDP datagrams are dropped. > > > http://files.ettus.com/uhd_docs/manual/html/transport.html#resize-socket-buffers > > > http://files.ettus.com/uhd_docs/manual/html/general.html#overflow-underflow-notes > > > 3) What is the typical latency of a packet (UDP) to reach the USRP > > (assuming default settings with almost zero cpu load at the host)? > > > > about 100us for gigabit ethernet. See the note about interrupt > coalescing > > http://files.ettus.com/uhd_docs/manual/html/transport.html#latency-optimization > > -josh > > > > ------------------------------ > > Message: 2 > Date: Mon, 1 Oct 2012 01:59:27 -0500 > From: Alex Zhang <cingular.alex@gmail.com> > To: gnuradio mailing list <discuss-gnuradio@gnu.org>, usrp-users > <usrp-users@lists.ettus.com> > Subject: [USRP-users] Can not remove the receiving spike (DC > component) by advanced tune request at USRP N210. > Message-ID: > <CA+FEAnf25ZLWvHsAuJwutNMVRJ0QoCFSQXEUbCK6Vkhn= > xxquw@mail.gmail.com> > Content-Type: text/plain; charset="iso-8859-1" > > Hi, > > I always get a strong spike in the attachment, when using uhd_fft to > measure the noise. Please note there is no any signal on the air, only > noise, but I got this spike. > I guess this is the so called DC component. Thus I tried to remove this > spike, as stated in > http://files.ettus.com/uhd_docs/manual/html/general.html#tuning-notes, > using the advanced tuning request. > > My sample rate is 2Ms, so as my understanding, I need to set the lo_offset > as >= 4MHz, to get the spike out my band, like this: > > tune_req = uhd.tune_request(options.freq, 5e6) # with lo_offset = > 5MHz > usrp.set_center_freq(tune_req, 0) > > Then I get the tune result as: > > Tune Result: > Target RF Freq: 2405.000000 (MHz) > Actual RF Freq: 2405.000000 (MHz) > Target DSP Freq: 5.000000 (MHz) > Actual DSP Freq: 5.000000 (MHz) > > However, the spike is still there, almost the same, and the center > frequency is even still the same (this could be due to the some GUI usage)! > I really don't know if the advanced tuning works or not. It seems that the > incoming streaming still contains the DC component. > > Spike of the received noise. > > > [image: Inline image 1] >