Bootstrap

无线电TOF测距原理(1) - 你眼中的TOF与真实的TOF

        在这个万物互联的时代,设备之间的通信技术占领了绝大部分,随智能化在各个行业的深入,其高精度低功耗位置服务技术(除GNSS外)也越来越重要。其中无线电TOF几乎成为了这种应用场景的主流技术。

1. 简述

        无线电TOF其原理是测量无线电在空中飞行时间,通过飞行时间和传播速度相乘可得到距离,即:

2. V1.0版本 - 广播测距

        假设设备A、设备B有一个理想上完全同步的时间,即同一时刻设备A、设备B时间无任何偏差,在这种情况下TOF的测量仅需设备A发送一帧无线数据到设备B即可完成,具体流程如下:

TOF V1.0流程

        如上图所示,设备A向设备B发送一帧无线数据,设备A记下无线数据的发送时刻,设备B记下无线数据的接收时刻,要测得TOF,因时间全同步只需要计算(Tb-Ta),然后再乘以无线电传输速度即可得到A/B之间的距离,TOF计算如下:

        上述V1.0的TOF仅需要发送一帧无线数据即可测量得到A/B之间的距离,整个方案可以说极其的简洁,但是对于设备A、设备B完成极高精度的同步时间,工程上需要的代价的极大的。

        当设备A与设备B时间不同步,按上式计算得到的距离也称之为“伪距”,这个“伪距”与真实距离存在一个固定的偏差,这个固定的偏差我们可以直接测量得到,比如在已知设备A和设备B真实距离下,在通过测量得到“伪距”,通过真实距离和“伪距”作差即可得到固定偏差(这个过程也叫标定),后面的任意测量的“伪距”加上固定偏差即可得到真实距离。按上面的流程我们通过标定后得到固定偏差,应该是能够准确测量出设备A、设备B距离,但是在真实的情况下该方法测量的误差也是极大的,这是因为标定后一段时间内测量出来的距离确实是准确的,但设备A/设备B的时钟频率相对误差在工程上不为零,随时间的增长之前通过标定来进行同步的固定差异一段时间后这个固定误差有变得不一样了,相当于这个固定误差在工程上不是时间无关的函数,也是时间相关的函数。由于以上的缺点在TOF V2.0中可以得到解决。

3. V2.0版本 - 单边测距

        在TOF V1.0版本中在实际应用存在一个比较严重的缺陷---需要昂贵的方案来完成A/B设备时间的完全同步(或者频繁的校准固定误差),而在TOF V2.0版本中不需要设备间时间完全同步,仅需要设备完全同频,原理如下:

TOF V2.0流程

        如上图所示,设备A、设备B分别发送一次无线数据,其中会产生4个时间:设备A发送时刻Ta、设备B发送时刻Tc、设备B接收时间Tb、设备A接收时刻Td,V2.0TOF计算公式如下:d = \frac{(T_d-T_a)-(T_c-T_b)}{2}*c

        其中在设备A上的(Td-Ta)其中包含了两次无线数据飞行时间加上设备B的处理时间,设备B上的(Tc-Tb)为设备B的处理时间,

        在V2.0相对于V1.0通过增加一次数据回复,相当于每次测量都完成了一次校准同步,这个测量方法让设备A与设备B之间无需高昂的有线时间同步或者频繁的无线时间同步就可以完成测距,这个距离已较为准确了,但这还是会因为A、B时钟不完全同频导致测量存在一定的误差,比如在20ppm的时钟精度下,要测量的真实距离为100米,这个测量误差并不是100*20ppm约为0.2厘米,这个测量时间一般会在2毫秒左右,测量误差约为2ms*20ppm*光速(3*10^8)=12米误差,当然设备时钟精度越高这个误差约小,如将20ppm时钟精度提升到2ppm这时最大误差就降低到了1.2米,这也会带来较大的硬件成本上升但仍然可能存在一个米级的误差。

4. V3.0版本 - 双向测距

        在V2.0单边测距基础上由每个设备单独发起一次单边TOF,然后计算两次TOF的平均值,测距流程如下图所示,在下图左边的第二帧和第三帧需要完成的功能其实是一样的,可以将简化到下图右边所示:

TOF V3.0流程

双向TOF测距距离计算与单边类似,如下所示:

        双向测距可以在某些情况下将设备A/B的时钟误差完全抵消掉,让TOF测距理论精度至少提升一个数量级,那么是如何低消时钟误差提升测距精度的呢?在这两次双向测距中,一次测距时偏大,另外一次测距时偏小,将这两次TOF求均值后会将误差变成误差最大值和误差最小值的中间值,当TOF1和TOF2的测量耗时完全一样,这时误差最小为0完全低消了,但在实际的工程实现上,这两次的TOF测距耗时没有办法控制到完全一样,理论TOF测距误差也无法变成0,但相对于单边测距这个误差已大大降低了。

5. V4.0版本 - 双边测距

在V2.0中由于TOF测量期间两边的时钟不同误差可能会引入的米级误差,若能消掉这个误差我们就能在一个低成本硬件上实现了一个高精度测距,在V3.0中可实现,如下图所示:

TOF V4.0流程

在V3.0中相对于V2.0又增加了一帧通信,通过第一帧和第三帧中的四个时间戳就能计算出设备A和设备B相对时钟偏差k:

k=\frac{t_e-t_a}{t_f-f_b}

TOF的测量结果为:

d = \frac{(T_d-T_a)-(T_c-T_b)*k}{2}*c

6. V5.0版本 - 单边测距+硬件频偏

        在V4.0中虽然可以在低成本硬件上实现高精度测距,但是需要增加一次数据帧,这其实降低了系统无线容量(系统容量降低了44%),不太适合大容量测距场景。

TOF V5.0流程

d = \frac{(T_d-T_a)-(T_c-T_b)*k}{2}*c

        其实在V5.0相对于V4.0仅仅是将设备A、设备B的时钟偏差通过数据帧计算替换成直接通过硬件射频直接获取,另外一个不同是硬件获取的时钟偏差是瞬时的,而通过数据帧计算得到的是平均频偏,通过平均频偏计算得到TOF数据相对稳定,特别是在TOF耗时较长的应用场景硬件射频计算得到距离测距波动更加大。

7. 总结

        在上位对TOF V1.0到V5.0进行了误差定性分析,其中V4.0双边测距测量理论误差最小但无线系统容量偏低,V5.0单边测距+硬件频偏误差接近V4.0的双边测距误差但误差随测距时长增加而增加。

;