4、UWB测距原理:飞行时间(ToF)、双向测距(TWR)、到达时间差(TDoA)、到达角度(AoA)原理与对比
聊UWB测距,说白了就是解决一个问题:两个设备之间,到底隔了多远?
我刚开始接触UWB时,觉得这不就是算个时间差嘛,有什么难的?后来踩了坑才发现,时间差怎么算、谁来算、算几次,直接决定了你的定位精度和系统复杂度。这一章,我把四种主流方法掰开揉碎讲清楚。
核心认知:UWB测距的本质是测量无线电信号的传播时间,再乘以光速得到距离。但“怎么测量这个时间”,才是各家方案的差异所在。
4.1 飞行时间(ToF)—— 最朴素的思路
ToF的原理,一句话就能说清:信号从A飞到B,花了多少时间?
假设设备A在t1时刻发出一个脉冲,设备B在t2时刻收到。那么飞行时间就是 t2 - t1,距离 = (t2 - t1) × 光速。
注意:ToF要求A和B的时钟必须严格同步。如果两边时钟偏差1纳秒,测距误差就是30厘米。我见过不少新手在这个问题上翻车——用了高精度UWB芯片,却忽略了时钟同步,结果定位精度惨不忍睹。
ToF的优点是原理简单、计算量小。缺点也很明显:
- 需要高精度时钟同步,硬件成本高
- 单次测量容易受多径干扰
- 实际系统中很少单独使用
我在一个早期项目中试过ToF方案,用GPS的PPS信号做同步。结果室内GPS信号弱,同步误差直接飙到微秒级,测距误差几百米。从那以后,我对“纯ToF”方案就敬而远之了。
4.2 双向测距(TWR)—— 工程界的首选
TWR解决了ToF最大的痛点:不需要时钟同步。
怎么做到的?让两个设备各发一次消息,互相打个招呼。
// TWR 基本流程(伪代码)
设备A: 发送 Poll 消息,记录发送时间 t1
设备B: 收到 Poll,记录接收时间 t2
设备B: 发送 Response 消息,记录发送时间 t3
设备A: 收到 Response,记录接收时间 t4
// 计算飞行时间
T_prop = ((t4 - t1) - (t3 - t2)) / 2
你看,这个公式里只有时间差,没有绝对时间。只要每个设备自己的时钟是稳定的,两边时钟差多少都没关系。
我的经验:实际项目中,我建议使用“三次消息”的TWR变种(DS-TWR)。它比两次消息的TWR更抗时钟漂移。我在一个工业AGV定位项目里,DS-TWR配合UWB芯片的硬件时间戳,测距精度做到了±10厘米以内。
TWR的优缺点:
- 优点:无需时钟同步,实现简单,精度高
- 缺点:需要双向通信,系统容量受限(设备越多,通信开销越大)
4.3 到达时间差(TDoA)—— 大规模定位的利器
TDoA的思路和ToF、TWR完全不同。它不直接测距离,而是测同一个信号到达不同基站的时间差。
举个例子:标签发一个信号,基站A和基站B都收到了。如果信号先到A、后到B,说明标签离A更近。这个时间差对应一个双曲线,标签就在两条双曲线的交点上。
| 特性 | TWR | TDoA |
|---|---|---|
| 标签端复杂度 | 高(需要收发) | 低(只需发) |
| 基站同步要求 | 无 | 高(纳秒级) |
| 系统容量 | 低(受限于通信次数) | 高(标签只管发) |
| 典型应用 | 机器人、AGV | 人员定位、资产管理 |
TDoA最大的优势是标签端功耗低、成本低。标签只需要发信号,不需要收。这意味着一个纽扣电池就能让标签工作好几年。
我曾经踩过的坑:TDoA的基站同步是个硬骨头。用有线同步(比如网线+PTP协议)效果最好,但布线成本高。用无线同步(比如UWB信号本身做同步)方便,但精度会打折扣。我建议:固定部署场景用有线同步,移动场景用无线同步+定期校准。
4.4 到达角度(AoA)—— 单基站也能定位
前面三种方法都依赖多个基站才能定位。AoA不一样——一个基站,就能知道目标在哪。
原理是:基站用多根天线组成阵列,信号到达不同天线有相位差。通过这个相位差,就能算出信号来的角度。
// AoA 角度计算(简化版)
// d: 天线间距,λ: 信号波长,Δφ: 相位差
θ = arcsin(Δφ × λ / (2π × d))
AoA的典型应用场景:
- 室内导航:一个基站配合地图,就能引导用户走到目标位置
- 智能家居:人走到哪个房间,灯就自动亮哪个房间
- 无人机降落:地面基站引导无人机精准降落
我个人习惯:AoA和TWR配合使用效果最好。一个基站提供角度,TWR提供距离,就能实现单基站二维定位。我在一个仓库盘点项目里就是这么做的,省掉了部署多个基站的麻烦。
4.5 四种方法对比总结
说了这么多,到底该选哪个?我整理了一张对比表,你照着选就行。
| 方法 | 精度 | 复杂度 | 成本 | 容量 | 推荐场景 |
|---|---|---|---|---|---|
| ToF | 高(需同步) | 中 | 高 | 低 | 实验室、特殊场景 |
| TWR | 高 | 低 | 低 | 低 | 机器人、AGV、手持设备 |
| TDoA | 中高 | 高(基站侧) | 中 | 高 | 人员定位、资产管理 |
| AoA | 中(角度) | 中 | 中 | 高 | 单基站定位、智能家居 |
最后说一句:没有最好的方法,只有最适合的方法。你想想看,你的项目是追求精度还是容量?是固定部署还是移动场景?想清楚这些,选方案就不难了。