GNU Radio:使用python调整tune_request

时间:2015-07-20 12:23:33

标签: python gnuradio usrp

我正在尝试使用USRP X310进行2 TX 2 RX(MIMO)配置。我在GRC中制作了2TX和2RX配置的流程图并生成了python脚本。

我对调优请求有疑问。通常使用带有python的2 TX 2 RX配置,对4个端口有4个调谐请求,看起来像

self.usrp_source0.set_center_freq(f, 0)
self.usrp_source0.set_center_freq(f, 1)
self.usrp_sink0.set_center_freq(f, 0)
self.usrp_sink0.set_center_freq(f, 1)

其中usrp_sink0是TX usrp对象,usrp_source0是RX usrp对象。

是否可以为所有TX定义1个调谐请求,为所有RX定义1个调谐请求,如下所述?

self.usrp_source0.set_center_freq(f, all_chan)
self.usrp_sink0.set_center_freq(f, all_chan)

1 个答案:

答案 0 :(得分:2)

由于usrp_source块的编写方式,您一次只能将命令发送到单个通道。

::uhd::tune_result_t
usrp_source_impl::set_center_freq(const ::uhd::tune_request_t tune_request,
                                  size_t chan)
{
  const size_t user_chan = chan;
  chan = _stream_args.channels[chan];
  const ::uhd::tune_result_t res = _dev->set_rx_freq(tune_request, chan);
  _center_freq = this->get_center_freq(user_chan);
  _tag_now = true;
  return res;
}

请注意,chan参数的类型为size_t,因此您只能传入一个非负整数。

我将假设接收器具有相同的限制。

https://github.com/gnuradio/gnuradio/blob/master/gr-uhd/lib/usrp_source_impl.cc#L137