相关测距算法及说明
-
DeviceA和DeviceB对应为基准或者标签,在实际应用中,根据算法不同,最终是
最后一次收到数据的为基站,最后一次发送数据的为标签 -
T t o f T_{tof} Ttof为信号在空气中传输时间
T r o u n d A = 2 ∗ T t o f + T r e p l y B T_{roundA} = 2*T_{tof} +T_{replyB} TroundA=2∗Ttof+TreplyB(1)
T r o u n d B = 2 ∗ T t o f + T r e p l y A T_{roundB} = 2*T_{tof} +T_{replyA} TroundB=2∗Ttof+TreplyA(2)
算法说明
算法1: (Simple) SS-TWR
由公式1可以计算出
T t o f = ( T r o u n d A − T r e p l y B ) / 2 T_{tof} = (T_{roundA}- T_{replyB})/2 Ttof=(TroundA−TreplyB)/2
(3)
算法2:SDS-TWR
由公式1,2可以计算 T t o f T_{tof} Ttof得:
T t o f = ( ( T r o u n d A − T r e p l y A ) + ( T r o u n d B − T r e p l y B ) ) / 4 T_{tof} = ((T_{roundA}- T_{replyA})+(T_{roundB}- T_{replyB}))/4 Ttof=((TroundA−TreplyA)+(TroundB−TreplyB))/4
(4)
算法3:AltDS-TWR
由公式1,2相乘得
T r o u n d A ∗ T r o u n d B = ( 2 ∗ T t o f + T r e p l y B ) ∗ ( 2 ∗ T t o f + T r e p l y A ) T_{roundA} *T_{roundB} =( 2*T_{tof} +T_{replyB})*( 2*T_{tof} +T_{replyA}) TroundA∗TroundB=(2∗Ttof+TreplyB)∗(2∗Ttof+TreplyA)
=>
4 ∗ T t o f ∗ T t o f + 2 ∗ ( T r e p l y B + T r e p l y A ) ∗ T t o f = T r o u n d A ∗ T r o u n d B 4*T_{tof}*T_{tof}+2*(T_{replyB}+T_{replyA})*T_{tof} = T_{roundA} *T_{roundB} 4∗Ttof∗Ttof+2∗(TreplyB+TreplyA)∗Ttof=TroundA∗TroundB
利用公式2,3=>
( T r e p l y B + T r e p l y A ) ∗ T t o f = ( T r o u n d A − 2 ∗ T t o f + T r o u n d B − 2 ∗ T t o f ) ∗ T t o f = ( T r o u n d A + T r o u n d B ) ∗ T t o f − 4 ∗ T t o f ∗ T t o f (T_{replyB}+T_{replyA})*T_{tof} = (T_{roundA} - 2*T_{tof}+ T_{roundB} - 2*T_{tof})*T_{tof} =(T_{roundA}+T_{roundB})*T_{tof}-4*T_{tof}*T_{tof} (TreplyB+TreplyA)∗Ttof=(TroundA−2∗Ttof+TroundB−2∗Ttof)∗Ttof=(TroundA+TroundB)∗Ttof−4∗Ttof∗Ttof
=>
4 ∗ T t o f ∗ T t o f + 2 ∗ ( T r e p l y B + T r e p l y A ) ∗ T t o f = 4*T_{tof}*T_{tof}+2*(T_{replyB}+T_{replyA})*T_{tof} = 4∗Ttof∗Tto