Hi Carmine, Can you please post a plot showing the spurious emissions you're seeing?
If possible, if you can include how you're generating the plots (the script) would be useful as well. What version of UHD are you using? What color is the PCB of your B200? What USRP are you using as a receiver ? Regards, Nate Temple On Tue, Apr 10, 2018 at 1:09 AM, carmine via USRP-users < usrp-users@lists.ettus.com> wrote: > Dear community, > > I implemented C++ codes of the transmitter and receiver using UHD API, > starting from example provided by Ettus. > > Until now, I'm testing my codes using a coax cable for connecting the > USRPs (a USRP used as transmitter and a USRP used as receiver). > > In this setup, just before the beginning of data transmission, I found two > spurious emissions (around correlated 10000 samples per times), which > precede the data. I need to synchronize Tx and Rx, so this spurious > emissions became a nightmare for me. > > My transmitter code is very easy: > uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(""); > > //Lock mboard clocks > usrp->set_clock_source("internal"); > //set the sample rate > usrp->set_tx_rate(10000000); > //set the center frequency > uhd::tune_request_t tune_request; > tune_request = uhd::tune_request_t(2400000000.0, 100000.0); > usrp->set_tx_freq(tune_request); > //set the rf gain > usrp->set_tx_gain(40); > usrp->set_tx_bandwidth(10000000); > //set the antenna > usrp->set_tx_antenna("TX/RX"); > > boost::this_thread::sleep(boost::posix_time::seconds(1)); //allow for > some setup time > > //Check Ref and LO Lock detect > std::vector<std::string> sensor_names; > sensor_names = usrp->get_tx_sensor_names(0); > if (std::find(sensor_names.begin(), sensor_names.end(), "lo_locked") != > sensor_names.end()) { > uhd::sensor_value_t lo_locked = usrp->get_tx_sensor("lo_locked",0); > std::cout << boost::format("Checking TX: %s ...") % > lo_locked.to_pp_string() << std::endl; > UHD_ASSERT_THROW(lo_locked.to_bool()); > } > sensor_names = usrp->get_mboard_sensor_names(0); > > //create a transmit streamer > uhd::stream_args_t stream_args("fc32", "sc16"); > uhd::tx_streamer::sptr tx_stream = usrp->get_tx_stream(stream_args); > > uhd::tx_metadata_t md; > md.start_of_burst = true; > md.end_of_burst = false; > > // Some operations for creating IQ samples stored in float tx_vec > > for(n_real=0;n_real<1000;n_real++) tx_stream->send((const > void**)&tx_vec[0], 80, md); > > I'm receiving the dump using the executable script rx_samples_to_file. > > Can anyone help me, please? > > Thanks in advance, > > Carmine > > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > 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