I am studing the ranging of UWB using SS-TWR(tag calculate the distance after sending poll message and receiving the response ). Now the communication(data can be received and transmitted ) is normal, but the Treply is greater than Tround when the calculate the distance.
I debug the time of UWB, rag can receive the right timestamp as the follow:
The time difference between Poll Rx and Response Tx (Treply) is timed on the anchors clock.
The time difference between Poll Tx and Response Rx (Tround) is timed on the tags clock.
Since the actual time of flight is tiny in comparison to Treply it only takes the anchor clock to be running a tiny bit faster than the tags clock for you to end up with Treply being larger than Tround.
You either need to calculate and compensate for the clock differences or perform the range measurement in both directions so that the errors cancel out.