Symmetrical double-sided two-way ranging



In radio technology, symmetrical double-sided two-way ranging (SDS-TWR) is a ranging method that uses two delays that naturally occur in signal transmission to determine the range between two stations:
 * Signal propagation delay between two wireless devices
 * Processing delay of acknowledgements within a wireless device

This method is called symmetrical double-sided two-way ranging because:
 * It is symmetrical in that the measurements from station A to station B are a mirror-image of the measurements from station B to station A (ABA to BAB).
 * It is double-sided in that only two stations are used for ranging measurement – station A and station B.
 * It is two-way in that a data packet (called a test packet) and an ACK packet is used.

Signal propagation delay
A special type of packet (test packets) is transmitted from station A (node A) to station B (node B). As time the packet travels through space per meter is known (from physical laws), the difference in time from when it was sent from the transmitter and received at the receiver can be calculated. This time delay is known as the signal propagation delay.

Processing delay
Station A now expects an acknowledgement from Station B. A station takes a known amount of time to process the incoming test packet, generate an acknowledgement (ack packet), and prepare it for transmission. The sum of time taken to process this acknowledgement is known as processing delay.

Calculating the range
The acknowledgement sent back to station A includes in its header those two delay values – the signal propagation delay and the processing delay. A further signal propagation delay can be calculated by Station A on the received acknowledgement, even as this delay was calculated on the test packet. These three values can then be used by an algorithm to calculate the range between these two stations.

Verifying the range calculation
To verify that the range calculation was accurate, the same procedure is repeated by station B sending a test packet to station A and station A sending an acknowledgement to station B. At the end of this procedure, two range values are determined and an average of the two can be used to achieve a fairly accurate distance measurement between these two stations.