0

我正在尝试使用 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)
4

1 回答 1

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

于 2015-07-20T15:34:49.300 回答