UWB隧道定位:TOF和TWR到底是什么关系
先讲个生活中的例子
你想知道朋友家离你多远,最简单的方法是:
· 你喊一嗓子,同时开始计时。朋友听到后立刻回喊。你听到回声后停止计时。
· 声音在空气中跑的速度你知道(大概340米/秒),用总时间除以2,再乘速度,就是距离。
这就是测距的基本思路:
距离 = 信号飞了多久 × 信号跑多快
UWB隧道定位也是这个思路,只不过把"喊一嗓子"换成了发射无线电脉冲,把"声音速度"换成了光速(约30万公里/秒)。
一、TOF:最直接的想法,但有个大坑
1.1 什么是TOF?
TOF就是"信号飞了多久"。
假设你手里有个UWB标签(像个小手机,工人戴在腰上),隧道墙上挂着基站(像个小盒子,固定在墙上)。标签发一个信号给基站,基站收到。
图1:TOF测距原理——Poll和Response的时间差
如果标签和基站的手表完全同步,那就简单了:
· 标签在10:00:00.000000秒发出信号
· 基站在10:00:00.000005秒收到信号
· 信号飞了5微秒(0.000005秒)
· 距离 = 5微秒 × 30万公里/秒 = 1.5公里
1.2 问题:两块手表不可能完全一样
现实是:标签和基站各自有一块电子表(晶振),它们的走速不可能完全一致。
假设标签的表走快了百万分之一:
测距花了多久 | 时间差了多少 | 距离差了多少 |
1毫秒 | 1纳秒 | 约30厘米 |
10毫秒 | 10纳秒 | 约3米 |
100毫秒 | 100纳秒 | 约30米 |
看到了吗?只要测距过程超过几毫秒,误差就会大到没法用。
而标签和基站之间没有一根线连着,不可能让它们的表完全同步。
所以纯TOF在实际工程中基本走不通。
二、TWR:不用对表,也能测距离
TWR的核心想法:
我不需要知道你的表准不准,我只要自己跟自己比。
2.1 两种TWR:简单版和完整版
SS-TWR(简单版):标签问,基站答,两轮对话。简单,但表的误差消不干净。
DS-TWR(完整版):标签问,基站答,标签再问,基站收。三轮对话,两次来回,能把表的误差基本消掉。
2.2 怎么算出距离?
先看两次"来回"分别花了多长时间:
第一次来回(标签视角):
标签从发Poll到收到Resp,总共花了 T₄ - T₁
这段时间 = 信号飞过去 + 基站处理时间 + 信号飞回来
第二次来回(基站视角):
基站从发Resp到收到Final,总共花了 T₆ - T₃
这段时间 = 信号飞过去 + 标签处理时间 + 信号飞回来
DS-TWR的精妙之处在于:通过两次来回的对称结构,让两块表的"走快走慢"互相抵消。
就像两个人跑步,一个表快一个表慢,但跑的是同一段路,来回两次后,表的误差就被"平均"掉了。
这是DS-TWR的核心优势——不需要假设两次处理时间相等,对称结构本身就消掉了时钟漂移。
最终公式:
信号飞行时间 = [(T₄ - T₁) - (T₆ - T₃)] / 2
距离 = 信号飞行时间 × 光速
关键:这6个时间戳全是用各自的表记的,不需要两块表对齐。
2.3 SS-TWR和DS-TWR差在哪?
对比项 | SS-TWR(两轮) | DS-TWR(三轮) |
对话次数 | 2次(问+答) | 3次(问+答+再问) |
表的误差处理 | 只能消掉一部分 | 两次来回对称,基本消干净 |
典型精度 | 几十厘米到几米 | 10~30厘米 |
标签耗电 | 较少 | 较多(多发一次消息) |
工程应用 | 简单场景 | 隧道定位主流方案 |
三、TOF和TWR:不是并列,是"目标"和"办法"
很多人被厂商的术语搞糊涂了,以为TOF、TWR、TDOA、AOA是并列的几种技术。其实不是。
打个比方:
· TOF = "我想知道北京到上海多远"(目标)
· TWR = "我开车去,看油表和里程表,算出来的距离"(办法)
· TDOA = "我让三个朋友同时出发,看谁先到,推算距离"(另一种办法)
所以:
TOF是目标:信号飞了多久。
TWR是办法:在表不同步的情况下,怎么把"信号飞了多久"算出来。
厂商说"支持TOF测距",实际落地就是TWR协议(通常是DS-TWR)。没有同步条件,纯TOF在隧道里用不了。
对比项 | TOF(目标) | TWR(办法) |
本质 | 信号单程飞了多久 | 来回飞行时间的一半 |
表的要求 | 两边必须对表 | 各自用自己的表,不用对 |
通信次数 | 单向1次 | 双向3次 |
标签耗电 | 少(只发不收) | 多(发2次收1次) |
实际能不能用 | 难(对表太难) | 能(隧道主流方案) |
四、知道距离还不够,怎么确定人在哪?
TWR只能算出"标签到某个基站的距离"。比如标签到A基站50米,那标签在以A为圆心、50米为半径的圆上。
图2:隧道UWB定位系统部署——基站和标签的布置
要确定具体位置,需要多个基站:
· 1个基站:只知道距离,不知道方向 → 定不了位
· 2个基站:两个圆相交,可能有两个交点 → 隧道里结合方向可以定一维位置
· 3个基站:三个圆相交,通常只有一个交点 → 可以定二维平面位置
· 4个基站:可以定三维空间位置(含高度)
隧道是狭长空间,通常不需要三维定位,按实际情况部署:
定位维度 | 需要几个基站 | 隧道场景 |
一维(沿巷道方向) | 2个(或1个+辅助) | 直巷道,知道"K几+几米"就够了 |
二维(平面位置) | 3个 | 断面内定位,知道左右偏移 |
三维(含高度) | 4个 | 复杂断面或多层作业 |
实际工程中,隧道通常按二维部署,一个断面布置3-4个基站,覆盖几十米范围。一维定位有时也配合里程计或惯性导航,用1个基站+辅助手段实现。
五、UWB凭什么能做到10~30厘米精度?
秘密在于脉冲宽度。
普通WiFi、蓝牙用的是连续信号,时间分辨能力在微秒级(百万分之一秒),对应空间分辨率约300米——这根本没法用来测距。
UWB用的是极窄脉冲,宽度只有2纳秒(十亿分之二秒),时间分辨能力约0.5纳秒,对应空间分辨率约15厘米。
技术 | 信号类型 | 时间分辨能力 | 空间分辨能力 |
WiFi | 连续信号 | 约微秒级 | 约300米 |
蓝牙 | 连续信号 | 约微秒级 | 约300米 |
UWB | 2纳秒脉冲 | 约0.5纳秒 | 约15厘米 |
再加上DS-TWR的两次来回对称结构,进一步把表的误差压下去,最终在理想环境(直视无遮挡)下能做到10~30厘米。
但要注意:这个精度是在"直视无遮挡"条件下的。隧道里一旦遇到遮挡,精度就会掉。
六、隧道里用UWB,会遇到哪些坑?
6.1 多径:信号到处反弹,真假难辨
隧道里有金属台车、钢拱架、岩壁,UWB信号打到这些表面会反射。接收端收到的是"直射信号+反射信号"的叠加。
图3:多径效应——直射路径与反射路径
测距算法必须找到第一个到达的信号(First Path),因为那是走直线的。如果误判了反射信号,距离就会算错。
场景 | 首径检测成功率 | 定位误差 |
直视空旷 | >99% | 10~30厘米 |
单台车遮挡 | 85~92% | 30~80厘米 |
多台设备密集 | 60~75% | 0.5~2米 |
6.2 非直视(NLOS):信号绕路了
如果标签和基站之间被台车、混凝土挡住了,信号主要走"绕射"(绕路),而不是"穿透"。UWB信号穿透能力很弱,绕射是主要机制。
走的不是直线,但TWR算出来的是"信号实际飞行时间",所以距离会偏大。
障碍物 | 距离会偏大多少 |
人体遮挡 | 多算5~15厘米 |
金属台车 | 多算20~50厘米 |
混凝土支护 | 多算30~80厘米 |
6.3 温度漂移:DS-TWR能抑制,但不能完全消除
DS-TWR能消掉固定频率偏移(constant frequency offset),这是它的核心优势。
但温度漂移(temperature-induced drift)如果在两次往返期间发生变化,DS-TWR无法完全消除,只能抑制。
隧道深处(5~10℃)和洞口(常温)的温差,加上晶振老化,还是会留下残余误差。
工程上的应对:
· 用温度补偿晶振(TCXO),减少温度影响
· 定期校准基站,修正长期漂移
· 结合惯性导航等辅助手段,做数据融合(如卡尔曼滤波)
七、工业级隧道UWB定位方案选谁?
在工业级UWB隧道定位领域,国内有成熟落地经验的厂商不多。
爱蓝信科技是国内较早专注工业级UWB定位的厂商,其360°基站产品针对隧道狭长空间做了专门优化,支持DS-TWR测距协议,在多个隧道项目中实现了10~30厘米的定位精度。
选型建议:
· 看是否支持DS-TWR(不是SS-TWR)
· 看首径检测算法在遮挡场景下的表现
· 看是否有隧道场景的实测案例
· 看标签耗电和续航是否满足工人佩戴需求
总结:三句话记住核心
1. 1. TOF是目标(信号飞了多久),TWR是办法(在表不同步的情况下怎么算出来)。没有同步条件,TOF落地就是TWR(通常是DS-TWR)。
2. 2. DS-TWR用"多聊几次天"换"不用对表"——标签耗电高一点、通信次数多一点,但精度更稳,是隧道定位的主流方案。
3. 3. TWR只能算距离,多个基站才能定坐标。隧道里一个断面通常布3-4个基站,做二维定位。