3、UWB定位原理:四种核心测距与定位方法

各位好,我是老周。在物联网定位这个行当里摸爬滚打了十几年,今天咱们来聊聊UWB定位最核心的四种原理。说实话,很多刚入行的朋友容易把这几种方法搞混,我当年也踩过不少坑。咱们一个一个掰开揉碎了讲。

核心观点:UWB之所以能在物联网定位中脱颖而出,靠的就是它那纳秒级的脉冲信号。这四种定位原理,说白了就是利用信号的不同特征——时间、角度、强度——来推算位置。每种方法都有自己的脾气,选对了事半功倍。

UWB定位原理知识体系 UWB定位原理 TOF 测距原理 TDOA 定位原理 AOA 定位原理 RSSI 定位原理 TOF 特点 双向测距,精度高 需时钟同步 TDOA 特点 到达时间差,被动定位 基站需同步 AOA 特点 到达角度,天线阵列 受多径影响大 RSSI 特点 信号强度,成本最低 精度最差 精度排名:TOF ≈ TDOA > AOA >> RSSI 成本排名:RSSI < AOA < TOF ≈ TDOA

3.1 TOF测距原理——最直接的"时间换距离"

TOF,全称Time of Flight,飞行时间法。原理特别简单:信号从A点飞到B点,测出花了多少时间,乘以光速,就是距离。嗯,这里要注意,UWB用的是电磁波,速度就是光速,大约3×10⁸ m/s。

我刚开始做UWB项目时,觉得TOF太简单了——发个包,等回复,算时间,完事。结果第一次实测就翻车了。为什么?因为时钟不同步啊!

TOF测距有两种主流方式:

  • 单边双向测距(SS-TWR):设备A发一个包,设备B收到后立刻回复,A根据收发时间差算出距离。简单,但要求双方时钟精度极高。
  • 双边双向测距(DS-TWR):A发→B回→A再发→B再回,来回折腾两次。虽然多了几步,但能抵消时钟误差。我个人习惯用这种方式,稳。

实战建议:在物联网项目中,如果标签和基站都用同一款晶振,DS-TWR是首选。我曾经在一个仓库定位项目里,SS-TWR的误差跑到30厘米,换成DS-TWR后直接压到5厘米以内。

TOF的精度公式很简单:

距离 = 光速 × 飞行时间 / 2

举例:飞行时间10ns
距离 = 3×10⁸ × 10×10⁻⁹ / 2 = 1.5米

你想想看,UWB的脉冲宽度是纳秒级的,理论上测距精度能做到厘米级。但实际项目中,多径效应、天线延迟、晶振漂移都会引入误差。我踩过的坑是——天线延迟没校准,结果所有测距值都偏大20厘米,排查了两天才发现。

3.2 TDOA定位原理——"时间差"的艺术

TDOA,Time Difference of Arrival,到达时间差。和TOF不同,TDOA不直接测距离,而是测同一个信号到达不同基站的时间差。

为什么用时间差?因为不需要标签和基站来回握手,标签只管发信号,基站们被动接收。这在物联网场景里太香了——一个标签可以同时被几十个基站监听,定位容量大得多。

TDOA的核心逻辑:

  1. 标签发一个UWB脉冲
  2. 多个基站同时收到这个脉冲
  3. 基站之间比对到达时间,算出时间差
  4. 每个时间差对应一条双曲线,多条双曲线的交点就是标签位置

关键点:TDOA要求所有基站之间必须高精度时钟同步。我见过不少项目,基站之间用网线走PTP协议同步,精度能到纳秒级。但无线同步方案,说实话,稳定性还是差点意思。

TDOA的数学表达:

设基站A、B收到信号的时间分别为tA、tB
时间差 Δt = |tA - tB|
距离差 Δd = c × Δt

双曲线方程:
√((x - xA)² + (y - yA)²) - √((x - xB)² + (y - yB)²) = Δd

至少需要三个基站才能解出二维坐标。四个基站效果更好,还能做三维定位。我记得有个隧道项目,只布了三个基站,结果定位区域边缘误差飙到1米多,后来加了一个基站才稳住。

对比项 TOF TDOA
通信方式 双向握手 单向广播
时钟要求 标签与基站同步 基站间同步
系统容量 较低(频繁握手) 高(被动监听)
典型精度 10-30cm 10-50cm
适用场景 小规模、高精度 大规模、高并发

3.3 AOA定位原理——"看角度"的定位法

AOA,Angle of Arrival,到达角度。这个方法不测时间,而是测信号来的方向。

原理也不复杂:基站用天线阵列接收信号,通过比较不同天线收到信号的相位差,算出信号入射角。知道两个基站的角度,两条射线一交叉,位置就出来了。

但这里有个大坑——多径效应。UWB信号在室内会反射、折射,基站收到的可能是反射路径的信号,角度完全不对。我曾经在一个金属货架密集的仓库里试AOA,角度误差能到30度,定位结果完全没法看。

避坑指南:AOA对天线阵列的校准要求极高。我曾经因为天线阵列的安装角度偏了2度,导致整个定位区域偏移了半米。后来学乖了,每次安装完必须用激光测距仪做基准校准。

AOA的定位计算:

基站1测得角度 θ1,基站2测得角度 θ2
已知基站1坐标 (x1, y1),基站2坐标 (x2, y2)

标签位置 (x, y) 满足:
tan(θ1) = (y - y1) / (x - x1)
tan(θ2) = (y - y2) / (x - x2)

解这个方程组即可得到位置

AOA的优势是只需要两个基站就能定位,而且不需要时钟同步。但精度受限于天线阵列的孔径和角度分辨率。UWB的带宽大,角度分辨率比WiFi、蓝牙好得多,但和TOF/TDOA比还是差一截。

3.4 RSSI定位原理——"最便宜但最不准"的方案

RSSI,Received Signal Strength Indicator,接收信号强度指示。说白了就是看信号强弱来估距离。

原理:信号在传播过程中会衰减,距离越远,信号越弱。如果能建立信号强度与距离的关系模型,就能反推出距离。

但问题来了——信号衰减受太多因素影响:

  • 发射功率不稳定
  • 天线方向性差异
  • 墙壁、人体遮挡
  • 多径衰落
  • 温湿度变化

你想想看,这么多变量,光靠一个RSSI值就想算出准确距离?太难了。UWB虽然带宽大、抗干扰强,但RSSI的精度天花板就在那里。

我的看法:在UWB定位里,RSSI基本就是个辅助角色。我一般用它来做区域判断——比如判断标签在哪个房间,或者做TOF/TDOA的初始值估计。单独用RSSI做厘米级定位?别想了,误差能到3-5米。

RSSI的路径损耗模型:

RSSI(d) = RSSI(d₀) - 10n·log₁₀(d/d₀) + Xσ

其中:
d₀ = 参考距离(通常1米)
n = 路径损耗指数(自由空间=2,室内=3~5)
Xσ = 高斯随机噪声(标准差3~10dB)

这个模型在理想环境下还能用,但实际项目中,我建议你至少做三件事:

  1. 现场采集RSSI指纹数据,建立经验模型
  2. 用滤波算法(卡尔曼、粒子滤波)平滑RSSI波动
  3. 结合其他定位方法做融合定位

经验之谈:如果你预算有限,非要用RSSI做定位,那就别追求精度了。我做过一个停车场项目,用RSSI判断车辆在哪个车位区域,配合地磁传感器,效果还行。但要说精确到米级?还是老老实实上TOF或TDOA吧。

3.5 四种原理对比总结

好了,四种原理都讲完了。咱们做个快速对比:

原理 测量对象 精度等级 硬件复杂度 典型应用
TOF 信号飞行时间 厘米级(10-30cm) 中 机器人导航、AGV定位
TDOA 到达时间差 厘米级(10-50cm) 高(需基站同步) 人员定位、资产管理
AOA 信号到达角度 分米级(30-100cm) 高(天线阵列) 无人机降落、方向感知
RSSI 信号强度 米级(1-5m) 低 区域判断、粗略定位

最后说句掏心窝的话:没有最好的定位原理,只有最适合的方案。选型时别光看精度参数,要把成本、部署难度、环境特点都考虑进去。我见过太多人一上来就追求最高精度,结果项目做不下去。务实一点,先跑起来,再优化。