discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] about phase sync MIMO X310


From: Sanjoy Basak
Subject: Re: [Discuss-gnuradio] about phase sync MIMO X310
Date: Wed, 22 Jul 2015 16:09:54 +0200

 Hi Marcus,

Thank you very much for pointing out the errors.

I removed the set_time_next_pps from my code. I can do time sync without this. So I am fine with it.

However, I am not getting time sync with set_command_time(). I am not really sure why but this is not giving me time sync. When I check the receive file in Matlab, I see around 35000 zeros at the beginning of my first OFDM symbol for 2MSPS and this number varies with every initiation. The reason could be my set_command_time is controlling the transmitter to send signal at the specified time. But the receiver is not waiting, its getting started at the beginning. 
This is my code.

time.sleep(1)

cmd_time =self.usrp_source0.get_time_last_pps()
cmd_time0 = self.usrp_sink0.get_time_last_pps()

real_seconds = uhd.time_spec_t.get_real_secs(cmd_time)
real_seconds0 = uhd.time_spec_t.get_real_secs(cmd_time0)

print real_seconds
print real_seconds0
future_real_seconds = real_seconds + 1
future_real_seconds0 = real_seconds0 + 1

print future_real_seconds
print future_real_seconds0

future_cmd_time = uhd.time_spec_t(future_real_seconds)
future_cmd_time0 = uhd.time_spec_t(future_real_seconds0)

self.usrp_source0.set_command_time(future_cmd_time)
self.usrp_source0.set_center_freq(uhd.tune_request(f,0), 0)
self.usrp_source0.set_center_freq(uhd.tune_request(f,0), 1)

self.usrp_sink0.set_command_time(future_cmd_time0)
self.usrp_sink0.set_center_freq(uhd.tune_request(f,0), 0)
self.usrp_sink0.set_center_freq(uhd.tune_request(f,0), 1)

self.usrp_source0.clear_command_time()
self.usrp_sink0.clear_command_time()


I exchanged set_command_time with set_start_time to check, set_start_time is giving time sync as before, a constant sample shift for every initiation, but no phase sync.

For one X310, I tried this

now = usrp_source0.get_time_now() 
starttime = now + uhd.time_spec(0.1) 
usrp_source0.set_command_time(starttime)
usrp_sink0.set_command_time(starttime)
self.usrp_source0.set_center_freq(uhd.tune_request(f,0), 0)
self.usrp_source0.set_center_freq(uhd.tune_request(f,0), 1)
self.usrp_sink0.set_center_freq(uhd.tune_request(f,0), 0)
self.usrp_sink0.set_center_freq(uhd.tune_request(f,0), 1)
self.usrp_source0.clear_command_time()
self.usrp_sink0.clear_command_time()

result: no time sync.

Am I making any mistake again or what exactly is going wrong? Please let me know.

Phase sync about SBX is not written specifically in the Device synchronization site, whereas about UBX, it is written that the phase sync works perfectly
"X300/X310, phase sync with UBX fully works."

Can I expect similar behavior with SBX-120?

The phase offset drifts+periodic calibration necessary? 
If I just need to take a measurement for 5 minutes (say for example), Do I need calibration in between 5 minutes?

All I need is to have a zero phase difference between 2 (or more) RX OFDM symbols over the receive frames.

Please let me know.

Best regards
Sanjoy 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]