3、UWB定位原理:TOF、TDOA、AOA三种测距方式及其数学推导
聊UWB定位,绕不开三个核心测距方式:TOF、TDOA、AOA。我刚开始接触室内定位时,也花了不少时间才把这三种方式的数学本质和工程适用场景理清楚。说白了,它们解决的是同一个问题——“标签在哪里?”——但解题思路完全不同。
这一节,我会把每种方式的原理、数学推导、以及我在实际项目中踩过的坑,一次性讲透。
3.1 TOF(飞行时间测距)——最直观,但最怕时钟不同步
TOF的原理非常简单:测量信号从发射端到接收端的飞行时间,乘以光速,得到距离。
公式长这样:
d = c × (T_rx - T_tx)
其中:
- d:标签与基站之间的距离
- c:光速(约3×10⁸ m/s)
- T_tx:信号发射时刻
- T_rx:信号接收时刻
听起来简单吧?但工程实现上有个大坑——时钟同步问题。
解决方法是双向测距(Two-Way Ranging, TWR)。标签发一个poll包,基站回复一个response包,标签记录往返时间,再减去基站的内部处理延迟,就能算出单程时间。这样就不需要时钟同步了。
数学推导如下:
设:
T_poll:标签发送poll包的时刻
T_resp_rx:标签收到response包的时刻
T_delay:基站内部处理延迟(已知)
则:
往返时间 T_round = T_resp_rx - T_poll
单程时间 T_prop = (T_round - T_delay) / 2
距离 d = c × T_prop
我个人习惯用对称双边双向测距(SDS-TWR),它能进一步消除晶振频率偏移带来的误差。在IEEE 802.15.4a标准中,UWB的TOF精度可以做到±10cm以内。
3.2 TDOA(到达时间差)——基站同步是命门
TDOA不直接测距,而是测量标签信号到达两个基站的时间差。时间差乘以光速,得到距离差。多个距离差构成双曲线方程组,求解后得到标签位置。
公式如下:
设基站A、B的坐标已知,标签到A、B的距离分别为d_A、d_B。
则:
Δd = d_A - d_B = c × (T_A - T_B)
其中T_A、T_B是信号到达A、B的时刻。
你想想看,这里的关键是什么?基站之间必须严格时钟同步。如果A和B的时钟差1纳秒,距离误差就是30厘米。
TDOA的数学推导稍微复杂一些。假设有N个基站,标签坐标(x, y, z),基站i坐标(x_i, y_i, z_i):
d_i = sqrt((x - x_i)² + (y - y_i)² + (z - z_i)²)
以基站1为参考:
Δd_i1 = d_i - d_1 = c × (T_i - T_1)
这是一个双曲线方程组,通常用Chan算法或Taylor级数展开求解。
Chan算法是闭式解,计算快;Taylor级数需要迭代,精度更高。
实际项目中,我常用至少4个基站做TDOA定位。3个基站只能解二维平面,4个基站可以解三维,同时还能提供冗余,提高鲁棒性。
3.3 AOA(到达角度)——角度测量,精度受环境影响大
AOA的思路是:通过测量信号到达基站的角度,结合多个基站的角度信息,用三角定位法算出标签位置。
UWB实现AOA通常有两种方式:
- 天线阵列:通过多个天线接收信号的相位差,计算到达角
- 多天线相位差:利用UWB脉冲的相位信息,估计角度
数学推导如下:
设两个天线间距为d,信号到达角为θ,相位差为Δφ。
则:
Δφ = (2π × d × sinθ) / λ
其中λ是信号波长。
反解:
θ = arcsin( (Δφ × λ) / (2π × d) )
嗯,这里要注意:天线间距d不能超过λ/2,否则会出现角度模糊(相位差超过2π,无法唯一确定角度)。UWB的工作频率在3.1-10.6GHz,波长约3-10cm,所以天线间距通常控制在1.5-5cm。
AOA的定位方程:
设基站i测得角度θ_i,标签坐标(x, y),基站坐标(x_i, y_i)。
则:
tanθ_i = (y - y_i) / (x - x_i)
多个基站构成方程组,用最小二乘法求解。
3.4 三种方式对比——选型时别拍脑袋
我整理了一张对比表,方便你快速决策:
| 特性 | TOF | TDOA | AOA |
|---|---|---|---|
| 测距/测角方式 | 单向/双向时间测量 | 时间差测量 | 相位差/天线阵列 |
| 时钟同步要求 | 低(双向测距无需同步) | 高(基站间必须同步) | 低(单基站即可测角) |
| 典型精度 | ±10-30cm | ±10-30cm | ±3-10°(角度) |
| 抗多径能力 | 中 | 中 | 弱(易受反射影响) |
| 基站数量需求 | 至少2个(测距后需交会) | 至少3个(二维) | 至少2个(三角定位) |
| 适用场景 | 小范围、高精度 | 大范围、实时性高 | 基站部署受限场景 |
我个人建议:如果场景空旷、基站部署方便,优先选TDOA,因为它只需要标签发一次信号,基站就能定位,功耗低、容量大。如果场景小、对精度要求极高,TOF更合适。AOA嘛,适合做辅助定位,或者基站数量受限时作为补充。
3.5 三种方式的融合——1+1+1 > 3
实际工程中,很少只用一种方式。我做过一个项目,在大型商场里做室内导航,最终方案是TDOA + AOA融合:
- TDOA提供主定位,精度在30cm左右
- AOA在TDOA信号弱时(比如角落、电梯口)做补充
- 融合算法用扩展卡尔曼滤波(EKF),把TDOA的距离差和AOA的角度作为观测值,状态量是标签的位置和速度
融合后的效果:定位精度提升到15cm,覆盖率达到98%以上。
下面这张图展示了三种测距方式在融合定位系统中的关系: