Usrp A/D scaling question

I am puzzled by a very basic issue relating to the usrp1 output. Using
GRC, I connect the usrp output through a complex to mag conversion to a
scope sink and tune to, say, 1GHz. The daughter board is a DBS_RX.

Using a cw signal generator, I tune for a maximum usrp output and then
raise the usrp input up to about -45 dBm. As the input increases, I see
rising output values (on the scope display) from just above zero to a
maximum of about 16400.

The puzzle is this: if the usrp A/D converter is 12 bits for I and Q
channels and I am doing a complex to magnitude conversion, why don’t I
see 4095*1.414 as the maximum output number?

The maximum output I do see seems like 14 bits, but without any 1.414
factor.

What am I missing ??

On Wed, Jul 8, 2009 at 10:00, Brian P.[email protected] wrote:

What am I missing ??

Decimation and Interpolation using CIC filters causes bit-growth which
is only marginally compensated for using bit-shifts.

Moreover, CORDIC mixing causes bit-growth in the output vector as well.

In other words, the samples arriving at the host are not the samples
coming out of the ADC.

Johnathan

On Wed, Jul 8, 2009 at 11:54 AM, John DuBois[email protected] wrote:

channels and I am doing a complex to magnitude conversion, why don’t I see
4095*1.414 as the maximum output number?

The maximum output I do see seems like 14 bits, but without any 1.414
factor.

What am I missing ??

Decimation and Interpolation using CIC filters causes bit-growth which
is only marginally compensated for using bit-shifts.

Moreover, CORDIC mixing causes bit-growth in the output vector as well.

Hopefully exploring those avenues solves your puzzle.

Good luck.

Brian