2. UWB定位核心原理:TDOA、TOA、AOA、TOF
聊UWB定位,绕不开这四种核心方法。我在项目里把它们比作「四把尺子」——量时间、量角度、量距离,各有各的脾气。今天咱们一个一个掰开揉碎了讲。
2.1 TOF(飞行时间法)——最直观,也最「老实」
TOF的原理特别简单:信号从A到B,速度已知(光速),量出时间,距离就出来了。说白了就是初中物理的s = v × t。
但实际做起来没那么简单。我记得第一次用DW1000芯片做TOF测距,测出来数据跳得跟心电图似的。后来才发现,问题出在「来回时间」的测量上——单程测距要求两边时钟完全同步,这太难了。
所以工程上普遍用双向测距(Two-Way Ranging, TWR)。流程是这样的:
- 标签A发一个数据包,同时记下发送时间t1
- 基站B收到后,记下接收时间t2,然后回一个包,记下发送时间t3
- 标签A收到回包,记下接收时间t4
- 距离 = ( (t4 - t1) - (t3 - t2) ) × 光速 / 2
TOF的精度取决于时间分辨率。UWB脉冲宽度能做到纳秒级,对应距离分辨率约30厘米。配合信道估计算法,实际精度能到10-20厘米。嗯,这个精度在室内定位里已经相当能打了。
2.2 TDOA(到达时间差)——工程界的「宠儿」
TDOA是目前商用UWB定位系统里用得最多的方法。为什么?因为它标签端只发不收,功耗极低,而且支持海量标签并发。
原理也不复杂:标签广播一个UWB信号,多个基站同时收到。基站之间比对信号到达的时间差,就能算出标签的位置。你想想看,这就像你听到远处一声雷,三个不同位置的人分别记下听到的时间,一对比就能大致知道雷在哪。
具体计算上,TDOA需要解一组双曲线方程。两个基站的时间差对应一条双曲线,三个基站就能交出位置点。
TDOA的典型架构是这样的:
- 定位基站(Anchor):负责接收信号,记录精确时间戳,通过有线或无线方式同步时钟
- 定位标签(Tag):周期性广播UWB信号,不参与任何计算
- 定位引擎(Engine):汇总各基站的时间戳,解算位置
我曾经在一个仓储项目里用TDOA方案,同时支持了500多个标签,刷新率10Hz,标签电池撑了半年。换成TOF的话,电池能撑一个月就不错了。
2.3 TOA(到达时间法)——理论完美,现实骨感
TOA和TOF听起来像,但本质不同。TOA测的是信号从标签到基站的绝对传播时间,然后直接算距离。三个基站的距离一交,位置就出来了。
但问题来了——要测绝对传播时间,标签和基站的时钟必须严格对齐。差1微秒,距离就差300米。这在实际系统里几乎不可能做到。
所以纯TOA在UWB定位里用得很少。不过有一种变体叫异步TOA,通过额外的参考信号来补偿时钟偏差,在某些特定场景下还能用。
2.4 AOA(到达角度法)——用方向说话
AOA的思路完全不一样。它不量时间,量角度。标签发信号,基站用天线阵列接收,通过不同天线接收到的信号相位差,算出信号来的方向。
一个基站只能测角度,不能定距离。但如果有两个基站分别测出角度,两条方向线一交,位置就出来了。这就是三角定位法。
AOA的优势很明显:
- 只需要2个基站就能定位(TDOA/TOF至少需要3个)
- 标签端不需要任何改动
- 对时钟同步要求低
但缺点也突出:
- 天线阵列体积大,成本高
- 多径环境下角度测量容易出错
- 距离越远,角度误差导致的定位偏差越大
我记得在一个展厅项目里试过纯AOA方案,空旷环境下效果不错,但人一多、家具一摆,角度就开始飘。后来改成了AOA+TDOA混合方案,才稳住。
2.5 四种方法对比——选型时怎么挑?
直接上对比表,我项目里选型时就靠这个:
| 方法 | 精度 | 标签功耗 | 基站数量 | 时钟要求 | 典型场景 |
|---|---|---|---|---|---|
| TOF | 10-30cm | 高(双向通信) | ≥3 | 低(TWR规避) | 小范围、低并发 |
| TDOA | 10-30cm | 极低(只发不收) | ≥3 | 高(基站间同步) | 大范围、高并发 |
| TOA | 10-30cm | 中 | ≥3 | 极高(全局同步) | 实验室、特殊场景 |
| AOA | 角度1-5° | 极低 | ≥2 | 低 | 开阔空间、少基站 |
2.6 混合定位——取长补短才是王道
实际产品里,很少只用一种方法。我经手的项目,大部分是TDOA + AOA混合。TDOA提供距离信息,AOA提供方向信息,两者互补,定位稳定性和精度都能提升。
还有一种常见组合是TOF + RSSI,用TOF做主定位,RSSI做辅助判断(比如判断标签在哪个区域)。虽然RSSI精度不高,但胜在零成本——UWB芯片本身就带RSSI测量功能。