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:信号接收时刻

听起来简单吧?但工程实现上有个大坑——时钟同步问题。

⚠ 我曾经踩过的坑: 早期做TOF方案时,我直接用标签和基站的本地时钟分别记录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系统时,我建议用有线时钟同步(比如通过同轴电缆分发时钟信号)。无线同步虽然方便,但受多径和温度影响,稳定性差一些。如果预算允许,别省这根线。

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,结果角度误差达到±15°。原因是多径反射导致相位失真。后来我改用差分AOA,用两个相邻基站的AOA差值做定位,抗多径能力明显提升。

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%以上。

🔑 核心思路: 融合不是简单加权平均,而是利用不同方式的互补特性。TDOA在开阔区域准,AOA在遮挡区域有优势,TOF适合做校准。你想想看,这不就是取长补短吗?

下面这张图展示了三种测距方式在融合定位系统中的关系:

UWB三种测距方式融合定位架构图 UWB三种测距方式融合定位架构 UWB标签 TOF 双向测距 → 距离 TDOA 时间差 → 双曲线 AOA 相位差 → 角度 融合定位引擎 EKF / 粒子滤波 / 加权最小二乘 最终位置 (x, y, z) 说明:实际部署时可根据场景选择单一方式或融合方式,融合能显著提升鲁棒性和精度