PicoScenes Research

PicoScenes AN: Using tx/rx-resample-ratio Option for USRP frontend


The Dividing-By-N Problem

Most USRP models adopt the “master clock rates + Integer-N synthesizer” architecture, however, integer-N type synthesizer has two major drawbacks that require particular attention from PicoScenes users.

First, due to its dividing-by-N nature, these USRP models can only operate at certain sampling rates. For instance, USRP Model N210 can only tune its baseband sampling rate to 100/N-MHz, e.g., 10 MHz (divided by 10), 12.5 MHz (by 8), 20 MHz (by 5), 25 MHz (by 4), 50 MHz (by 2) and 100MHz (by 1).

Second, when N is an odd number or a multiple of an odd number, the baseband signals will experience an additional CIC roll-off fading, which introduces strong fading at both ends of the signal spectrum, hurting the spectral-flatness requirement.


Solution: Resampling

PicoScenes provides a pair of Tx/Rx options to overcome the above issues, the tx-resample-ratio and rx-resample-ratio options. The core of both options is to bridge the channel bandwidth and hardware sampling rate with a digital resampler.

Taking transmitting an 802.11n 20MHz BW signal via USRP N210 as an example, the PicoScenes option “… —rate 20e6 …” is intuitive but not optimal. Because, to generate the 20-MHz sampling rate, USRP N210 divides the 100-MHz master clock rate by the odd number N=5, which introduces additional CIC roll-off fading. The optimal options are “… —rate 25e6 —tx-resample-ratio 1.25 …”, which divides 100-MHz master clock rate by 4 avoiding the undesired CIC roll-off fading; to bridge the 20-MHz BW and 25-MHz sampling, the Tx signal is up-sampled by 1.25x.

Taking receiving an 802.11n 20MHz signal via USRP N210 as an example, the PicoScenes option “… —rate 20e6 …” is also not optimal. The reason is the same as above. The optimal options are “… —rate 25e6 —rx-resample-ratio 0.8 …”, which divides the 100-MHz master clock rate by 4, avoiding the undesired CIC roll-off fading; and the 0.8x down-sampling bridges the 25-MHz sampling rate and the 20-MHz bandwidth.


Model-Specific Advices

For B2x0/E3x0 series models, they are essentially AD9361-based SDR equipping integer/fractional-N synthesizer and can be tuned to finer gridded sampling rates. For these models, users can directly tune the sampling rate using the “—rate” option.

For N2x0/X3x0 series models, their master clock rates are 100 and 200-MHz by default, therefore, to generate or receive 20/40/80/160-MHz BW signal, —tx/rx-resample-ratio 1.25/0.8 is always recommended.

For N300/N310 models, they support 122.88, 125, and 153.6-MHz master clock rates and the default is 122.88-MHz. To generate or receive 20/40/80/160-MHz BW signal, users should first change their master clock rate to 125-MHz, then use —rate and —tx/rx-resample-ratio to downclock to Wi-Fi BW. For example, PicoScenes options “—master-clock-rate 125e6 —rate 25e6 —rx-resample-ratio 0.8” are optimal for receiving BW=20-MHz packets using N300/310.

For N320/N321 models, they support 200, 245.76, and 250-MHz master clock rates and the default is 250-MHz. To generate or receive 20/40/80/160-MHz BW signal, users should first change their master clock rate to 200-MHz, then use —rate and —tx/rx-resample-ratio to downclock to Wi-Fi BW. For example, PicoScenes options “—master-clock-rate 200e6 —rate 25e6 —rx-resample-ratio 0.8” are optimal for receiving BW=20-MHz packets using N320/321.

For X410 models, it supports 245.76 and 250-MHz master clock rates and the default is 250-MHz. To generate or receive 20/40/80/160-MHz BW signal, the user should first change its master clock rate to 250-MHz, then use —rate and —tx/rx-resample-ratio to downclock to Wi-Fi BW. For example, PicoScenes options “—master-clock-rate 250e6 —rate 25e6 —rx-resample-ratio 0.8” is optimal for receiving BW=20-MHz packets using N320/321.


Acknowledgment

I would like to thank Han Hao from Xi’an Jiaotong University and Xin Na from Tsinghua University for confirming the sample missing issue and helping me conduct experiments on N210 and N310.