[USRP-users] 8-bit over the wire format and noise floor

mleech at ripnet.com mleech at ripnet.com
Tue Jun 12 13:16:54 EDT 2012


 

On 12 Jun 2012 13:15, mleech at ripnet.com wrote: 

> On 12 Jun 2012
13:08, Knee, Peter A wrote: 
> 
>> All, 
>> 
>> I am currently
developing a spectrum analyzer using my USRP N210. I want to be able to
display larger bandwidths so I have been experimenting with the 8-bit
over the wire mode. I'm having some issues with the ADC counts that the
device is returning. To test I am using a signal generator outputting a
constant tone. 
>> 
>> When the tone is not present, at startup, I get
fairly large ADC values that quickly go to zero. As I'm computing the
FFT of these values, an all-zero sequence is causing issues with the
values returned by the FFT. There are obvious ways around this but I
have a feeling it is part of a larger issue. 
>> 
>> When the tone is
present, being generated anywhere from -50 to -20 dBm, I begin seeing
larger values over the wire, but they are not scaling with the increase
in power output. After the initial startup sequence, the values I'm
seeing for both the I and Q channels are no larger than +/- 20 on
average. 
>> 
>> I'm attaching the basics of the C++ code I'm using to
acquire the signal in 8-bit mode. My guess is that this issue is a lack
of understanding about the basics of the receiver and the ADC conversion
process. I should not that everything seems to scale accordingly when
using 16-bit over the wire mode. 
>> 
>> Any help that can be provided
would be greatly appreciated. 
>> 
>> Thanks, 
>> 
>> Peter Knee 
>> 
>>
CODE: 
>> 
>> //Variables 
>> 
>> uhd::rx_metadata_t md; 
>> 
>>
uhd::rx_streamer::sptr rx_stream; 
>> 
>> //Setup device 
>> 
>>
uhd::stream_args_t stream_args("sc16","sc8"); 
>> 
>> rx_stream =
usrp->get_rx_stream(stream_args); 
>> 
>> uhd::stream_cmd_t
stream_cmd(uhd::stream_cmd_t::STREAM_MODE_START_CONTINUOUS); 
>> 
>>
usrp->issue_stream_cmd(stream_cmd); 
>> 
>> //Set up buffer 
>> 
>>
std::vector< std::complex > buff(10000); 
>> 
>> //Read in short data

>> 
>> nSampsRead = rx_stream->recv(&buff.front(),buff.size(),md);
> 
>
They're proportional to the instantaneous voltage seen by the ADC. Power
is proportional to the square-root of the voltage. Does that make more
sense now? 
> 
> -Marcus

Damnit! Proportional to the *SQUARE* of the
voltage. 

 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20120612/951e58d5/attachment-0002.html>


More information about the USRP-users mailing list