That's probably because you set your bandwidth to be somewhat narrow, so
with offset tuning, you were only seeing the deeply-filtered data. 

On 2017-08-25 11:23, Jacob Knoles wrote:

> I found my issue. When I set my center frequency to monitor I also provided a 
> LO offset. The intention is to not have the LO included in the response.  
> 
> For some reason it seams this pulled the receive frequency with it. By 
> removing the LO offset I am getting the data I expect to see.  
> 
> At this time I am not sure why this is happening? 
> 
> ----------------------------- 
> Jacob Knoles 
> 
> On Fri, Aug 25, 2017 at 8:12 AM, Jacob Knoles <knole...@gmail.com> wrote:
> 
> The numbers coming out are essentially zero. Looking at the chart it reads 
> -1.3e-17. There are a lot of values that do come out exactly zero, as they 
> become -inf (or something like -370) after going through the log10 
> mathematics.  
> 
> The signal I am inputting however is a simulated BT signal with the peak at 
> -40 dBm and modulated. At the one frequency I am monitoring it results in a 
> square wave. So I expect to see a distinct change in the output numbers.  
> 
> ----------------------------- 
> Jacob Knoles 
> 
> On Thu, Aug 24, 2017 at 6:15 PM, Marcus D. Leech via USRP-users 
> <usrp-users@lists.ettus.com> wrote:
> 
> On 08/24/2017 08:11 PM, Jacob Knoles via USRP-users wrote: 
> 
> Hello,  
> 
> I am trying to do a simple receive function that grabs data for 12 seconds, 
> calculates the log10 power and then plots power vs time.  
> 
> I am using the GnuRadio C++ API and have done a prototype using GnuRadio 
> Companion. I am also feeding in a dummy signal using a vector signal 
> generator.  
> 
> While running the Companion code I get exactly the results I expect to get, 
> as seen in this image: 
> 
> The top time plot is displaying each step of the calculation chain, Red is 
> the real part of the complex number, green is the imaginary part and blue is 
> the magnitude.  
> 
> The lower plot shows the power vs time trace that I am after for this test, 
> the calculation being used is 20*Log10(mag) - 17.  
> 
> The offset was calculated by comparing a known signal on a spectrum analyzer. 
>  
> 
> So now my issue. When I take this prototype and implement it in C++ (that is 
> what my program is using) I do not get any results back at all.  
> 
> Here is the C++ resulting plot of the real complex values only: 
> 
> As can be seen all the values are essentially zero.  
> 
> Here is the code snippet that is handling the capture, it returns a 
> std::vector<float> which is plotted elsewhere in the software. (I have 
> confirmed that the plotting software is not the issue.)  
> 
> _rate = 5e6; 
> //--------------------------------------------------------------------------------
>  
> //-- Make a top block 
> //--------------------------------------------------------------------------------
>  
> auto tb = gr::make_top_block( "TraceCapture" ); 
> 
> //--------------------------------------------------------------------------------
>  
> //-- make the usrp 
> //--------------------------------------------------------------------------------
>  
> auto stream_args = uhd::stream_args_t( "fc32", "sc16" ); 
> stream_args.channels.push_back( 0 ); 
> auto usrp_source = gr::uhd::usrp_source::make( uhd::device_addr_t( "" ), 
> stream_args ); 
> usrp_source->set_samp_rate( _rate ); 
> usrp_source->set_center_freq( uhd::tune_request_t(carrier_freq, 10e6) ); 
> usrp_source->set_gain( _gain_one ); 
> usrp_source->set_bandwidth( 1e6 ); 
> usrp_source->set_antenna( "RX2" ); 
> 
> //--------------------------------------------------------------------------------
>  
> //-- Make the necessary flowgraph blocks 
> //-------------------------------------------------------------------------------
>  
> auto complex_to_mag_sptr = gr::blocks::complex_to_mag::make( ); 
> //auto nlog10_sptr = gr::blocks::nlog10_ff::make( 20, 1, -17.4 ); 
> auto vector_sink_sptr = gr::blocks::vector_sink_f::make( ); 
> auto complex_to_real_sptr = gr::blocks::complex_to_real::make( ); 
> 
> //--------------------------------------------------------------------------------
>  
> //-- Connect the flowgraph 
> //--------------------------------------------------------------------------------
>  
> //tb->connect( complex_to_mag_sptr, 0, nlog10_sptr, 0 ); 
> //tb->connect( nlog10_sptr, 0, vector_sink_sptr, 0 ); 
> //tb->connect( complex_to_mag_sptr, 0, vector_sink_sptr, 0 ); 
> tb->connect( complex_to_real_sptr, 0, vector_sink_sptr, 0 ); 
> tb->connect( usrp_source, 0, complex_to_real_sptr, 0 ); 
> 
> tb->start( ); 
> std::this_thread::sleep_for( std::chrono::milliseconds( static_cast<long 
> long>( capture_time * 1000 ) ) ); 
> 
> tb->stop( ); 
> tb->wait( ); 
> 
> return std::make_shared<std::vector<float>>( vector_sink_sptr->data( ) ); 
> 
> When I run the code on my B210 I get no errors, the RX2 led lights as 
> expected, all the numbers get calculated as expected yet no matter what I 
> have tried I am getting only zeros from the B210 
> 
> Additionally I am working on Windows 10 with VS 2015. I have installed a 
> binary version of GnuRadio.  Here is the flowgraph in grc for reference as 
> well.  
> 
> Any help will be greatly appreciated!! 
> 
> Thanks 
> 
> ----------------------------- 
> Jacob Knoles 
> 
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com [1]
> 
> Do you mean "essentially zero" or actually zero?   There's a difference.
> 
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com [1]
 

Links:
------
[1] http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to