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 -- usrp-users@lists.ettus.com To unsubscribe send an email to usrp-users-le...@lists.ettus.com