On 09/04/2019 10:54 AM, Cédric Hannotier via USRP-users wrote:
Dear all,

I have a synchronization issue when using the method "set_time_now()" (https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a351a2c3081944a0d2caab95e2a2f0926). The setup is composed of two X310 usrps, one to transmit (T), the other to receive (R), at 20 MHz. The A Tx/Rx frontend of T is connected to A and B Rx2 of R with SMA wires (same length) and a splitter. The transmission is handled by gnuradio and is not recorded. When recording on R side, I expect that signals recorded at both frontends (A RX2 and B RX2 of R) are aligned. When using the method "set_time_now()" to set 0.0 time, signals are ~40 samples away. It does not happend with "set_time_unknown_pps()".

Attached files "rx_multi_samples.cpp" and "run.sh" are codes used to run the experiment. Switching --sync from "now" to "pps" solves the issue. Attached files "time_now.svg" and time_unknown_pps.svg" are pictures showing the behaviour when using "set_time_unknown_pp()" or "set_time_now()". From "set_time_now()" documentation, I cannot conclude that it is an expected behaviour, is it?
The uhd version is 3.12.0.0.

Kind regards,
Cédric Hannotier


The "set_time_now()" operation is unsynchronized--it simply transfers the host time to the device(s) without any hardware synchronization pulse. Since it necessarily has to send multiple commands across the host-to-device interface, and the device sets its clock immediately to whatever value is provided, and the clock continues to run, then two or more devices will not tightly agree on the time when using
  this method.




_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to