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