USRP Software Radio

cancel
Showing results for 
Search instead for 
Did you mean: 

Increasing write rate?

Hi,

I am trying to configure MIMO 2x2 system with 4 USRP 2920 and  VI https://decibel.ni.com/content/docs/DOC-23285

When i set IQ rate parameter to 200kS/sec, everything works correctly, but when i increase rate over 450k S/sec,

this error message is shown: ni USRP write Tx Data(2D CBD).vi Underflow: The Tx buffers was emptied before new data was provided. Consider reducing the IQ rate, increasing Write rate or increasing the number of samples per write.

I need 1M S/sec or more!

How can I increase write rate or how to increase number of samples per write?

Is there anything i can do else?

I use 64-bit Win 7

CPU: Intel core(TM) i5-2450M CPU @ 2,5G 2,5G

RAM: 6GB

 

Thanks,

 

Pixus

0 Kudos
Message 1 of 17
(11,771 Views)

When using NI-USRP 1.1, the following registry key must be modified:


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\AFD\Parameters]
"FastSendDatagramThreshold"=dword:00000800

 

Note that the dword equivalent of 800Hex in decimal is 2048.

 

This registry key modification should not be needed in future versions of the ni-usrp driver.

 


NOTE: Editing the registry is done at your own risk, so please practice extreme caution when editing the registry. Remember to back it up before editing it.
Go to Start » Run and type in regedt32 to open the registry editor.

 

Read more at Microsoft.com:  http://www.microsoft.com/windows/windowsmedia/howto/articles/optimize_web.aspx#appendix_e

 

Best Regards,

Erik

 

0 Kudos
Message 2 of 17
(11,769 Views)

Hi,

i went to location [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\AFD\Parameters] and there is no any "FastSendDatagramThreshold" value. Should I create one or what?

 

Thanks

 

Pixus

0 Kudos
Message 3 of 17
(11,765 Views)

Hi Pixus,

 

Yes, you will need to create this registry key.

Sarah Yost
Senior Product Marketing Manager
0 Kudos
Message 4 of 17
(11,761 Views)

Thanks ErikL, thanks Sarah_Y.

Best regards

 

Pixus

0 Kudos
Message 5 of 17
(11,757 Views)

Hi,

 

Now VI works with IQ 2M S/sec, and it is great. But I have another question. By default, FFT size and number of subcarriers is 128, 20, respectively. When i increase FFT size to 1024 and number of subcarriers to 120, like in LTE, this error message pops up:

nj USRP Tx Data (2D CDB).vi Packet had timestamp that was too late (or too early).

What does it mean and how to solve this problem?

 

Thanks,

Pixus

0 Kudos
Message 6 of 17
(11,755 Views)

Hi,

with increasing IQ rate, do i must increase "num samps per fetch" also?

For example, for IQ rate of 500k or 1M, do i must increase "num samps per fetch" from 80k to some other value?

 

Pixus 

0 Kudos
Message 7 of 17
(11,732 Views)

Hi Pixus,

 

The IQ rate and number of samples per fetch are related, but not dependant on each other.  The IQ rate specifies the number of samples per second to acquire (or transmit) and is typically determined by your RF application.  The number of samples per fetch is typically something that is more determined by your computer.  The USRP receives samples continuously.  These samples are written into a small buffer.  The driver then pulls the data out of the driver in chunks, or a certain number of samples every time a fetch is performed.  It is important to set the number of samples per fetch to something reasonable because a fetch takes a little bit of time.  If you aren't taking enough samples out of the buffer every fetch, then the buffer will overflow and you get an error.

 

If you are sampling at a higher IQ rate, that means more samples are being put into the buffer every second than there would be with a slower IQ rate.  Because of this, the buffer will overflow faster at higher IQ rates if you are not pulling enough samples out of the buffer per fetch.

Sarah Yost
Senior Product Marketing Manager
0 Kudos
Message 8 of 17
(11,727 Views)
Also, typically after the fetch, your application is doing some type of processing. Once complete the while loop iterates to perform another fetch. If the processing takes too long, your fetches or writes will overflow.

For example, an FFT after a fetch will likely keep up at low IQ rates but the FFT becomes the bottle neck at high IQ rates.
Message 9 of 17
(11,724 Views)

Hello All,

I am using USRP2 as a receiver with the following configuration

IP:192.168.10.2

Gain:0~30 

IQ Rate: 558,659k

Frequency: 1700MHz & 485MHz

Active Antenna: RF2

Number of Samples (which is input terminal of niUSRP Fetch Rx Data (poly).vi): 3000

 

I am reading the IQ data and storing it in .tdms file but it gives an error when I run the .vi file on my laptop  (where in my home PC .vi file runs smoothly without any error) i.e.

Error-1074118647 occurred at niUSRP Fetch Rx Data(CDB WDT).vi

Possible reasons: 

Overflow: an internal receive buffer has filled before the data could be returned. Consider reducing IQ rate, increasing the Fetch rate, or increasing the number of samples per fetch.

 

I tried all the solutions i.e. update Laptop LAN drivers, Switch the PC to High Performane, Create the Reg Key, even change the code but all in vain. Still having the same problem. Kindly help me Smiley Sad

 

Regards 

 

0 Kudos
Message 10 of 17
(11,627 Views)