我正试图用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对象。
是否有可能为所有TXs定义一个调谐请求,并为所有RXs定义一个调谐请求,如下所述?
self.usrp_source0.set_center_freq(f, all_chan)
self.usrp_sink0.set_center_freq(f, all_chan)
由于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