2015-07-20 89 views
0

我正在嘗試使用USRP X310進行2 TX 2 RX(MIMO)配置。我在GRC中爲2TX和2RX配置製作了流程圖,並生成了python腳本。GNU收音機:tune_request與python

我對調諧請求有疑問。通常用2 TX 2 RX配置與Python,存在用於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) 

回答

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

+1

確實,這就是設計。這背後的想法是,你不需要調整發生完全時間對齊,在這種情況下,發出四個單獨的調諧命令工作,**或**你需要時間對齊,使得它需要發出定時的命令,這意味着無論您發出多少個命令,具有相同命令時間的所有命令都會立即發生。 –

+0

計時指令可能是他爲了這個問題所要做的,好點。 – djanderson