UWB TOF的基本原理见如下博客
UWB的定位算法(简单详细易懂)_小阳先生的宝库的博客-CSDN博客_uwb定位算法
对于一次请求,一次响应很容易理解C=(A-B)/2
对于两次请求,一次响应很容易理解同理有
C1=(A1-B1)/2,C2=(A2-B2)/2
到这一步自然的想法是
C=(C1+C2)/2=(A1+A2-B1-B2)/4
而TOF的公式为C=(A1*A2-B1*B2)/(A1+A2+B1+B2),让人一时摸不着头脑
C1=(A1-B1)/2,C2=(A2-B2)/2
与 C=(A1*A2-B1*B2)/(A1+A2+B1+B2) 有什么关系呢?
对于C=(A1*A2-B1*B2)/(A1+A2+B1+B2),在理想情况下有A1=A2,B1=B2
代入C=(A1*A2-B1*B2)/(A1+A2+B1+B2)
= (A1*A1-B1*B1)/(A1+A1+B1+B1)
=((A1-B1)*(A1+B1))/2*(A1+B1)=(A1-B1)/2=C1
也就是说在理想情况下
C=(A1*A2-B1*B2)/(A1+A2+B1+B2)
退化为C1=(A1-B1)/2
受此启发,将C1=(A1-B1)/2,C2=(A2-B2)/2扩写为C=(A1*A2-B1*B2)/(A1+A2+B1+B2)形式
即C1=((A1-B1)*(A1+B1))/2*(A1+B1)=(A1*A1-B1*B1)/((A1+B1)+(A1+B1))
C2=((A2-B2)*(A2+B2))/2*(A2+B2)=(A2*A2-B2*B2)/((A2+B2)+(A2+B2))
C1,C2具有相同的形式,A1,A2具有相同的物理意义 在数值上也相近;B1,B2具有相同的物理意义 在数值上也相近,
根据对称的思想将扩写后的C1,C2表达式中的"一半的A1,B1用A2,B2替换"
C1=(A1*A1-B1*B1)/((A1+B1)+(A1+B1))
==》C1=(A1*A2-B1*B2)/((A1+B1)+(A2+B2))
由此得到了TOF的公式为
C=(A1*A2-B1*B2)/(A1+A2+B1+B2)
与C=(C1+C2)/2=(A1+A2-B1-B2)/4 相比,C=(A1*A2-B1*B2)/(A1+A2+B1+B2)可能更“充分的利用了数据减少了误差”吧
关于TOF公式的数值推导和误差分析可见如下博客