UWB TOF的基本原理见如下博客
UWB的定位算法(简单详细易懂)_小阳先生的宝库的博客-优快云博客_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公式的数值推导和误差分析可见如下博客
文章详细介绍了UWBTOF(TimeofFlight)的基本原理,探讨了一次请求与两次请求的测距方法,并对比了两种计算公式(C1=(A1-B1)/2和C=(A1*A2-B1*B2)/(A1+A2+B1+B2))。在理想情况下,后者的误差可能更小,更充分利用了数据。同时,文章提到了数值推导和误差分析对于理解TOF测距法的重要性。
745

被折叠的 条评论
为什么被折叠?



