From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

USRP Software Radio

cancel
Showing results for 
Search instead for 
Did you mean: 

How to reduce the LAN bandwidth utilisation?

Solved!
Go to solution

 

I want to design relaying system that use two USRP of NI USRP 2922 with the sample rates  same as in LTE standard. But, there are limitation in LAN bandwidth utilisation of 1Gbps.

Both port of TX1 and RX2 for both USRP will be used at the same time.
 
For example for bandwidth 3MHz, it use 3.84MS/s of sampling rates. Each process already use  122.88Mb/s in data bus transmission because USRP use 32 bits per sample for transmission. So,  for 4 process will use 491.52 Mb/s , 49.2 % from the 1Gbps link speed theoretically. But, it is measure it used around less than 52%. 
 
If using sampling rates of 7.68MS/s for bandwidth of 5MHz. The data bus transmission should be 983.04Mbps which is 98.3 % but I think in measurement it may need 6 % more in network utilization. This will forced one or more process of receiving and transmitting to stop working. This is why the underflow or overflow error occurred.
 
1) I think in most of service provider commonly use bandwidth of 10MHz and above.  Currently, I only achieve the bandwidth up to 3MHz . Is it possible to achieve the bandwidth up to 20MHz? 
 

2) I also already try to change the sample width at the USRP property but it is not work well for Rx. What should I need to consider if I want to use 16 bits per sample of sample width. How can I reduce the LAN bandwidth utilisation that use for transmission from host to USRP?

 

3) Is it possible to make the data received by the USRP  stored and processed in USRP instead of in PC? 

 

4) Can Anyone give suggestions what type of device that I can use which have 4 antenna port and the processing can be done inside the device only without transferring to the PC

 

I am really appreciate for any suggestions and advices if you can help me with this. 

 

Thank you.

0 Kudos
Message 1 of 7
(4,604 Views)
Solution
Accepted by topic author arma28

I don't believe you would achieve full rate on a USRP without a dedicated link to the PC.  The protocol used is UDP between the USPR and PC which can be disruped by network latency and cause packets to arrive out of order or be lost.  Also you should assume that due to filter edge effects only 80% of the specified bandwidth is usable.  (so 20 MHz of bandwdith requires an IQ rate of 25 MS/s)  It takes a fast PC with a very high quality (we use intel) network card to achieve this.  Additionaly you will need to use the NIC card manufactuer's driver and maximize RX and TX buffers.  So far I've only acheived it on desktop PCs and not laptops.  I would aslo assume 20% packet overhead, so on a 1 Gb/s link I would not expect to exceed 800 Mb/s.

 

25MS/s x (16bit I + 16 bit q) = 800 Mb/s

 

You can also, in the driver, switch to 8bit mode which will halve your dynamic range but also the data rate.

 

For a system like yours, you may consider placing a PC next to each usrp and installing 2 networks cards in each PC.  You will add latency, but the extra computing will give you buffering against network issues and congestion.  Also, relaying is not a 'constant' streaming activity... only the RX is constant.  For TX you might use the bursty transmission approach.

 

Erik

 

 

0 Kudos
Message 2 of 7
(4,541 Views)

Hi Erik,

 

Thanks for replying. Your explaination is easy to understand. Maybe I will try to use two network cards and use 8bit mode. By doing that, I think maybe I can achieved a LTE bandwidth up to 15MHz which using 23.04MS/s.

 

Thank you.  

0 Kudos
Message 3 of 7
(4,517 Views)
However there is another fact that will affect you. 23.04MS/s is not possible. The internal clock is referenced off of 100 MHZ. Clock rates that are possible are derivatives of this, defined in the fpga's clock logic. The options are /2. /2 and then /N.
So you can clock it to 50MS/s, 25MS/s, and then divide by an integer N. The lowest possible rate is 200kS/s.
http://www.ni.com/white-paper/app/largeimage?lang=en&imageurl=%2Fcms%2Fimages%2Fdevzone%2Ftut%2FUSRP...

Any stage can be bypassed. But the first two /2 filters are half-band filters which give the cleanest passband. Dividing by an odd number in N gives the worst passband.

You can play with numbers and will see that you can request any IQ rate but it will coerce to the nearest supported rate based on the rules above.
0 Kudos
Message 4 of 7
(4,508 Views)

That's true. I can't achieve 23.04MS/s for IQ rate because it will coerce to 25MS/s. I see the bypassed stage is fix. So, you said I only can modified N from 1 to 128 at /N stage. How to do that, is it in the USRP properties? 

0 Kudos
Message 5 of 7
(4,494 Views)

its calculated in the driver to give you the optimum setting based on requested IQ rate. I don't believe that you can choose them individually as half-band and CIC filter parameters are also factored into the calculations. 

 

The USRP RIO devices (2942) have a larger fpga and a more flexible N/M aribtrary resampler so you have many more frequency possiblities.  It also utlizes PCIe as a connectivity option so that you can get reliable, higher bandwidth, lower latency communicaiton from the radio to the PC.

 

Erik

0 Kudos
Message 6 of 7
(4,491 Views)

Okay, from my understanding, the explaination about the coerced IQ rate is just for the information of how the IQ rate is coerce to nearest supported rate. So, there is nothing I can do with coerced IQ rate to get an accurate IQ rate same as desired IQ rate. Maybe I will consider to use USRP RIO next time but for now I only allowed to use NI USRP 2922 only to create relaying system.

 

Thank you Erik. This really help me understand better.

 

0 Kudos
Message 7 of 7
(4,484 Views)