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