According to the USRP’s datasheet/faq the output signal which will be
presented to the computer as a 16 bit signed integer. this would mean
the data range for complex data from the USRP is -32768/+32767.
Now we connect the usrp, equipped with a Basic RX daughterboard, to a
signal generator which will output a sine wave at 100MHz. The signal’s
strength will be varied between 0 and 1.5Vpp. We use usrp_rx_cfile.py
and read_complex_binary.m to fetch some samples from the USRP and put
them into matlab.
The result is shown in the attached image. The graph clearly shows that
the ADC reaches its input limit (according to the datasheet) of 2Vpp
when more than 2Vpp is supplied. The problem is that we do not know why
the output count is so low. According to the result the maximum output
count should be around ±8000. This looks more like a 13 bit signed range
than a 16 bit.
Does anyone know if we are doing something wrong or has a explanation
for this problem?
Thanks in advance!