USRP Software Radio

cancel
Showing results for 
Search instead for 
Did you mean: 

[FREQUENCY] Require API to reduce the frequency re-tune time

Hello All,
 
Mother Board Used: B210.
UHD Version: 3.9.4
master clock rate: 30.72 MHz
OS: Ubuntu 14.04 LTS
Kernel: 3.13.0-24-generic
 
Currently my application runs continuous tx and rx on two different frequencies, with B210 in full-duplex configuration.
Now I need to re-tune Tx stream to different frequency to transmit few packets of data, then re-tune back to the old centre frequency.
Currently using srp->set_tx_freq(tune_req, 0); API in my .cpp file to tune the Tx frequency.
As per my application need, expected tune time is less than ~200 micro sec, but set_tx_freq() call taking ~3 ms for each tune request.
Is there any way to reduce the frequency re-tune time.?
Is there any alternate API available which can fit for my need?
What is the minimum re-tune time for B210 if the requested frequency and current centre frequency is within 100 MHz.
0 Kudos
Message 1 of 2
(2,560 Views)

Hi,

The retune time is dependent on how far to tune. Within 100 MHz and the retuning time is ~1.5 ms. Beyond 100 MHz, it is ~170 ms due to the DC offset calibration. It is possible to extend the range beyond 100 MHz, but the DC offset and IQ imbalance will get worse the larger the range is made.

The UHD 3.9.1 retune times were ~3.3 ms within 100 MHz and ~205 ms beyond 100 MHz. Your sample rate can be lower, but setting the master clock rate higher gives you more room to tune the DSP frequency without changing the LO frequency. At a master clock rate of 30.72, you will have a DSP tuning range of +/-7.68 MHz.

 

I will suggest updating the UHD version with the newest one as well as the Ubuntu with the 18.04 LTS version if it is possible.

 

The alternative API could be Python API.

Hope this was helpful.

0 Kudos
Message 2 of 2
(1,919 Views)