USRP2 rx copy handlers

Hi,

I’ve been having a look at usrp2/host/lib/copiers.cc and the schematics
to
try and work out if the units mean anything.

As far as I can tell the LTC2284 ADC is set up to use the ±1V input
range
and output 14bits as a twos complement.

From the datasheet/the maths I think the ADC is thus giving possible
outputs
of -8192 to 8191 (i.e ~ ± 2^13) where -8192 represents -1V and 8191
represents 1V-0.000122V.

Where I’m confused is with copy_u2_16sc_to_host_32fc the integers are
scaled
to produce floats where -32768 and 32768 (i.e using the full 16bits of
the
storage variable) are mapped to -1.0 and 1.0 respectively. Is there a
reason
for this? I haven’t tried to look at what the FPGA is doing with this
data
yet…

Can I change this to -8192 and 8192 to map the real/imaginary magnitudes
to
voltages. I think by doing this I should be able to use usrp2_fft.py -S
-f
xx and see the same sort of values as I see on a scope?

Thanks,

Tim

On Sun, Feb 28, 2010 at 02:57:45PM +0000, Tim P. wrote:

represents 1V-0.000122V.

Where I’m confused is with copy_u2_16sc_to_host_32fc the integers are scaled
to produce floats where -32768 and 32768 (i.e using the full 16bits of the
storage variable) are mapped to -1.0 and 1.0 respectively. Is there a reason
for this? I haven’t tried to look at what the FPGA is doing with this data
yet…

The output from the ADC is run through a digital downconverter in the
FPGA. In general, the output of that process is between -32768 to
32767.

If you’re looking for “volts”, you’ll need to calibrate the entire
signal path. That will depend on the daughterboard, it’s gain,
temperature, etc.

A bit of searching of the list archives will turn up quite a bit of
discussion on this topic.

Eric