本文整理汇总了C++中uhd::usrp::multi_usrp::sptr::set_tx_freq方法的典型用法代码示例。如果您正苦于以下问题:C++ sptr::set_tx_freq方法的具体用法?C++ sptr::set_tx_freq怎么用?C++ sptr::set_tx_freq使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类uhd::usrp::multi_usrp::sptr
的用法示例。
在下文中一共展示了sptr::set_tx_freq方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: tune_rx_and_tx
/***********************************************************************
* Tune RX and TX routine
**********************************************************************/
static double tune_rx_and_tx(uhd::usrp::multi_usrp::sptr usrp, const double tx_lo_freq, const double rx_offset)
{
//tune the transmitter with no cordic
uhd::tune_request_t tx_tune_req(tx_lo_freq);
tx_tune_req.dsp_freq_policy = uhd::tune_request_t::POLICY_MANUAL;
tx_tune_req.dsp_freq = 0;
usrp->set_tx_freq(tx_tune_req);
//tune the receiver
double rx_freq = usrp->get_tx_freq() - rx_offset;
double min_fe_rx_freq = usrp->get_fe_rx_freq_range().start();
double max_fe_rx_freq = usrp->get_fe_rx_freq_range().stop();
uhd::tune_request_t rx_tune_req(rx_freq);
rx_tune_req.dsp_freq_policy = uhd::tune_request_t::POLICY_MANUAL;
rx_tune_req.dsp_freq = 0;
if (rx_freq < min_fe_rx_freq)
rx_tune_req.dsp_freq = rx_freq - min_fe_rx_freq;
else if (rx_freq > max_fe_rx_freq)
rx_tune_req.dsp_freq = rx_freq - max_fe_rx_freq;
usrp->set_rx_freq(rx_tune_req);
//wait for the LOs to become locked
boost::this_thread::sleep(boost::posix_time::milliseconds(50));
boost::system_time start = boost::get_system_time();
while (not usrp->get_tx_sensor("lo_locked").to_bool() or not usrp->get_rx_sensor("lo_locked").to_bool())
{
if (boost::get_system_time() > start + boost::posix_time::milliseconds(100))
throw std::runtime_error("timed out waiting for TX and/or RX LO to lock");
}
return usrp->get_tx_freq();
}
示例2: tune_rx_and_tx
/***********************************************************************
* Tune RX and TX routine
**********************************************************************/
static double tune_rx_and_tx(
uhd::usrp::multi_usrp::sptr usrp, const double tx_lo_freq, const double rx_offset)
{
// tune the transmitter with no cordic
uhd::tune_request_t tx_tune_req(tx_lo_freq);
tx_tune_req.dsp_freq_policy = uhd::tune_request_t::POLICY_MANUAL;
tx_tune_req.dsp_freq = 0;
usrp->set_tx_freq(tx_tune_req);
// tune the receiver
double rx_freq = usrp->get_tx_freq() - rx_offset;
double min_fe_rx_freq = usrp->get_fe_rx_freq_range().start();
double max_fe_rx_freq = usrp->get_fe_rx_freq_range().stop();
uhd::tune_request_t rx_tune_req(rx_freq);
rx_tune_req.dsp_freq_policy = uhd::tune_request_t::POLICY_MANUAL;
rx_tune_req.dsp_freq = 0;
if (rx_freq < min_fe_rx_freq)
rx_tune_req.dsp_freq = rx_freq - min_fe_rx_freq;
else if (rx_freq > max_fe_rx_freq)
rx_tune_req.dsp_freq = rx_freq - max_fe_rx_freq;
usrp->set_rx_freq(rx_tune_req);
wait_for_lo_lock(usrp);
return usrp->get_tx_freq();
}
示例3: setTxFreq
bool uhd_device::setTxFreq(double wFreq)
{
uhd::tune_result_t tr = usrp_dev->set_tx_freq(wFreq);
LOG(INFO) << "\n" << tr.to_pp_string();
tx_freq = usrp_dev->get_tx_freq();
return true;
}
示例4: setup_device
int setup_device(uhd::usrp::multi_usrp::sptr usrp, double rx_gain, double tx_gain, double freq, double rate){
//create a usrp device
std::cout << boost::format("Using Device: %s") % usrp->get_pp_string() << std::endl;
usrp->set_rx_rate(rate);
usrp->set_rx_freq(freq);
usrp->set_rx_gain(rx_gain);
usrp->set_tx_rate(rate);
usrp->set_tx_freq(freq);
usrp->set_tx_gain(tx_gain);
}
示例5: init_usrp
void init_usrp() {
cout << "Initial USRP" << endl;
usrp = uhd::usrp::multi_usrp::make(usrp_ip);
usrp->set_rx_rate(rate);
usrp->set_tx_rate(rate);
usrp->set_rx_freq(freq);
usrp->set_tx_freq(freq);
usrp->set_rx_gain(gain);
uhd::meta_range_t rx_range = usrp->get_rx_gain_range();
}
示例6: Uhd
Uhd(const std::vector<size_t> channels, const double tx_rate, const double tx_center_freq, const double tx_gain)
{
uhd::set_thread_priority_safe();
for(const auto ch : channels)
{
usrp = uhd::usrp::multi_usrp::make(std::string(""));
usrp->set_clock_source("internal");
usrp->set_tx_rate(tx_rate, ch);
usrp->set_tx_freq(uhd::tune_request_t(tx_center_freq), ch);
usrp->set_tx_gain(tx_gain, ch);
}
usrp->set_time_now(uhd::time_spec_t(0.0));
}