DW1000 TDoA Anchor Sync


I am currently working to make a Wireless Clock Sync Between master anchor and slave anchors.

Here my idea:

  • Master Anchor will send Sync signal every 200ms.
  • Slave anchors will take these messages and record its id and Rx time stamp.
  • Distance between master anchor and slave anchor is known, so basically this distance cause a drifting this value will subtract from the Rx time.
  • Tag blinks then Slave Anchors takes Rx time stamps and record.

With all of these information TDoA can be calculate.

But there is a problem. The time difference between 2 sync signal are different at Master Anchor and Slave Anchor1 and Slave Anchor2.

I am using Delayed Tx in master anchor although there is huge difference.

But the real part which is not understand, difference between 2 Slave Anchor. Time between 2 Sync signals are different at 2 different slave anchor. How that can be happened.

Thank you!

This is what makes wireless clock sync harder. Each device has a different clock speed. So 200ms for the master could be 199.9 ms for slave 1 and 200.1 ms for slave 2
What you need to do is measure the interval between master pings on each slave and from that calculate that slaves clock difference relative to the master.
Once you know that all times measured by that slave should be scaled by this clock difference.

The clock difference will change over time so you need to constantly track it.

1 Like

Thank you Andy,

It makes sense now. Devices speed also can makes difference.
This difference also needs to check for each slave anchor’s interval for sync signal then needs to calculate for each different sync interval.