基于飞行时间的测距理论介绍
前言
无线电测距(Ranging)是个比较有意思的课题,工作时候有遇到过相关应用需求,一般都是为了做定位(Location)和导航(Navigation)的基础技术需求。目前民用无线电测距商用方案用的比较多的是基于UWB技术来做的,也有一些用其他方法的。但是基本的理论都是通用的,这里简单的介绍下比较经典的基于飞行时间(Time of flight-TOF)的测距方法。
单向测距(One way ranging-OWR)

单向测距是基于飞行时间(TOF base)的最基本的测距模型。假定两设备之间有一个共同的时钟,设备A记录发送时间发送给设备B,设备B接收设备A发送的数据并记录接收时间。
则信号在设备A和设备B之间的飞行时间为Tprop,C为光速,两者距离d为:$$d=C*T_{prop} $$
该方法最为简单,但要求设备之间时钟同步,假设时钟误差为e
则误差为:
单边双向测距(Single-sided two way ranging-SS_TWR)

如图所示,设备A发起交换,设备B响应完成交换,每个设备精确地记录发送和接收时间戳信息。设备B在收到设备A的信号后,延迟固定的时间回发信号,它回发信号的时间与收到设备A信号的时间差为Treply,设备A接收到设备B信号的时间与设备A发送信号的时间差为Tround。则Tround和Treply都为已知量,故信号在设备A和设备B之间的飞行时间为:
该方法为单向测距的扩展。相比于单向测距,不再要求设备之间时钟同步。不过Tround和Treply的时间由设备A和B使用各自的本地时钟独立测量,这些时钟的标称频率都有一些时钟偏移误差eA和eB,因此产生的飞行时间的误差,主要由设备本身时钟的频率偏差影响,其误差公式如下:
双边双向测距 (Double-sided two way ranging-DS_TWR)

如上图所示,双侧双边测距是单侧双边测距的一种扩展,其中采用了两个往返时间计算飞行时间的方法,目的是减少误差。其中两次往返之间的间隔可以很长,这对结果没有影响。飞行时间的计算方法类似于单侧双边测距:
可以看出这种方法误差更小,但是耗时更长,收发次数更多。可以再优化为下面的方法:

如上图所示,可以通过使用第一次往返测量的回复作为第二次往返测量的回复来减少为3条消息,同时公式可再进一步推导为:
总结
对于飞行时间的测距应该是比较简单的一种方案,但受制于阻挡物、反射、时钟精度等原因精度也会受影响。对其误差的分析需要更深入的分析才能确定的了。
参考资料:《DW1000 User Manual》
浙公网安备 33010602011771号