> Also, I want to know if this is correct:   While we are working with signals
> on the host PC, we're using complex float 64 bit data. This means we have 32
> bit I data and 32 bit Q data. But when the USRP code (UHD or Gnuradio USRP
> code) on the host PC sends this data to the USRP, it converts this float
> type to short, i.e 16 bit I and 16 bit Q. So, over the USB interface, only
> 16 bit signed integers can travel back and forth.
> 

All data over the wire is 32 bits per sample (16I, 16Q). UHD supports
conversions between the over the wire format and complexfloat32 and
complexint16, and in the future complexint8.

There is no conversion for complexfloat64 because, the dynamic range
does not require it, and using doubles to represent signals would
require unnecessary extra CPU load.

> If this is the case, can you tell me the name and location of the .cpp file
> in the UHD source package, that has code for this output format conversion
> from complex<float> to interleaved short I and Q. In the GNURadio framework,
> I find this code in /gr-usrp/src/usrp_sink_c.cc.
> 

The conversion code is here:
http://code.ettus.com/redmine/ettus/projects/uhd/repository/revisions/master/show/host/lib/convert

-Josh

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to