Hi all,
I'd like to use the phase resync freature on the SBX to get reliable phase alignment in the following setup: link_freq1 = USRP-A TX @ Freq1 ---> USRP-B RX @ Freq1 link_freq2 = USRP-B TX @ Freq2 ---> USRP-A RX @ Freq2 Where link_freq1 should always have phase X, and link_freq2 should always have phase Y. I measure the phase by first calculating the channel over a wire for that link. I then look at the phase of the channel. The USRPs are connected to an external PPS source, and have a MIMO cable between them. I've been able to use timed commands to get the same channel/phase every time (after multiple restarts) in a single link setup like: USRP-A TX @ Freq1 ---> USRP-B RX @ Freq1 But my code for phase sync in the 2-link setup doesn't seem to work(copied below). I understand that the phase of each link's channel may not be the same as the frequencies are different. However is it possible to set it up so that the phase/channel over wire in link_freq1 is always X and that in link_freq2 is always Y? Or is that impossible because of some hardware constraints? Thank you, AB code snippet: ## 2-channel usrp source and sink have been initialized, everything except ## center feqs have been set ## uhd_usrp_source_0 is a multi usrp source block ## uhd_usrp_sink_0 is a multi usrp sink block ## both blocks have device args set to : "addr0=192.168.10.3, addr1=192.168.10.2" ## the following code is added in the init() function: time.sleep(1) future_cmd_time = self.uhd_usrp_source_0.get_time_last_pps() + uhd.time_spec_t(1.0) ##My guess is that both physical USRPs should see this time since MIMO+same external PPS self.uhd_usrp_source_0.set_command_time(future_cmd_time) self.uhd_usrp_sink_0.set_command_time(future_cmd_time) self.uhd_usrp_source_0.set_center_freq(uhd.tune_request(cf), 0) self.uhd_usrp_source_0.set_center_freq(uhd.tune_request(cf2), 1) self.uhd_usrp_sink_0.set_center_freq(uhd.tune_request(cf2), 0) self.uhd_usrp_sink_0.set_center_freq(uhd.tune_request(cf), 1) self.uhd_usrp_source_0.clear_command_time() self.uhd_usrp_sink_0.clear_command_time() This is in the init() function. I don't re-tune the frequencies again after this.
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio