I’ve uploaded a sample of the signal I generate at:
https://mega.nz/file/jEEgnBZL#Kr-qjSUXlYDNBmuVfFvSOwy1CJCBelmxsSsnS2a4aDQ
The file is binary. The signal is sampled at 5.76 MHz. The signal is complex
interleaved, 16 bits signed.
I gather the signal as it is transmitted to the B205.
I use: linux; GNU C++ version 9.4.0; Boost_107100; UHD_4.4.0.0-0-g5fac246b
Gain 80 db. BW 10 MHz. lo-offset 3e6. Rate 5.76MHz.
I measure an output power of 3 dbm. Image rejection about 25 db only.\
\
I copied the code for the initialization of the USRP:
std::string device_args("num_send_frames=256");
std::string subdev("A:A");
std::string ant("TX/RX");
std::string ref("external");
std::cout << boost::format("Creating the usrp device with: %s...") %
device_args << std::endl;
uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(device_args);
// Lock mboard clocks
std::cout << boost::format("Lock mboard clocks: %f") % ref << std::endl;
usrp->set_clock_source(ref);
//always select the subdevice first, the channel mapping affects the other
settings
std::cout << boost::format("subdev set to: %f") % subdev << std::endl;
usrp->set_tx_subdev_spec(subdev);
std::cout << boost::format("Using Device: %s") % usrp->get_pp_string() <<
std::endl;
//set the sample rate
if (rate <= 0.0) {
std::cerr << "Please specify a valid sample rate" << std::endl;
return \~0;
}
// set sample rate
std::cout << boost::format("Setting TX Rate: %f Msps...") % (rate / 1e6) <<
std::endl;
usrp->set_tx_rate(rate);
std::cout << boost::format("Actual RX Rate: %f Msps...") %
(usrp->get_tx_rate() / 1e6) << std::endl << std::endl;
// set freq
std::cout << boost::format("Setting RX Freq: %f MHz...") % (freq / 1e6) <<
std::endl;
uhd::tune_request_t tune_request(freq,lo_offset);
usrp->set_tx_freq(tune_request);
std::cout << boost::format("Actual TX Freq: %f MHz...") %
(usrp->get_tx_freq() / 1e6) << std::endl << std::endl;
// set the rf gain
std::cout << boost::format("Setting TX Gain: %f dB...") % gain << std::endl;
usrp->set_tx_gain(gain);
std::cout << boost::format("Actual TX Gain: %f dB...") %
usrp->get_tx_gain() << std::endl << std::endl;
// set the IF filter bandwidth
std::cout << boost::format("Setting TX Bandwidth: %f MHz...") % (bw / 1e6)
<< std::endl;
usrp->set_tx_bandwidth(bw);
std::cout << boost::format("Actual TX Bandwidth: %f MHz...") %
(usrp->get_tx_bandwidth() / 1e6) << std::endl << std::endl;
// set the antenna
std::cout << boost::format("Setting TX Antenna: %s") % ant << std::endl;
usrp->set_tx_antenna(ant);
std::cout << boost::format("Actual TX Antenna: %s") %
usrp->get_tx_antenna() << std::endl << std::endl;
std::string cpu_format ="sc16";
std::string wirefmt="sc16";
uhd::stream_args_t stream_args(cpu_format, wirefmt);
std::vector<size_t> channel_nums;
channel_nums.push_back(boost::lexical_cast<size_t>("0"));
stream_args.channels = channel_nums;
It would be great to know how to get it work properly.
Thank you,
Sorin
_______________________________________________
USRP-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]