2、测距原理基础:RSSI / TOA / TDOA / AOA

做多网关协同定位,第一步就是搞清楚——距离到底怎么量?

你可能会说,拿尺子量呗。但在无线环境里,我们只能用信号来“猜”距离。这章我就把四种最主流的测距方法掰开揉碎讲清楚。每种方法我都踩过坑,有些坑现在想起来还肉疼。

一句话总结四种方法:

  • RSSI —— 看信号强弱猜距离,成本最低但最不准
  • TOA —— 算信号飞了多久,精度高但需要严格时钟同步
  • TDOA —— 算信号到达的时间差,不用绝对时间,只要相对时间
  • AOA —— 看信号从哪个角度来,需要天线阵列
测距原理知识体系 测距方法 RSSI TOA TDOA AOA 低成本·低精度 高精度·需时钟同步 高精度·免绝对时间 需天线阵列 蓝牙·Wi-Fi UWB·激光 UWB·声学定位 5G·雷达

2.1 RSSI —— 最廉价也最让人头疼的方法

RSSI 的原理其实特别简单:信号在空气中传播会衰减,距离越远,信号越弱。如果我们知道发射功率,再测一下接收功率,就能反推出距离。

公式长这样:

RSSI = A - 10·n·lg(d)

其中 A 是 1 米处的参考信号强度,n 是路径损耗因子(通常 2~4),d 就是我们要算的距离。

听起来很美好对吧? 但我在实际项目里被它坑惨了。

我曾经踩过的坑:

有一次在仓库做定位测试,RSSI 值跳得像心电图。后来发现是旁边堆了几排金属货架,信号反射得一塌糊涂。同一位置,同一设备,RSSI 波动能到 ±6dBm。换算成距离误差,直接差了 5 米多。

RSSI 的致命弱点:

  • 多径效应严重 —— 信号反射、绕射会让强度忽高忽低
  • 环境敏感 —— 温度、湿度、障碍物都会影响
  • 设备差异大 —— 不同厂家的芯片,同一 RSSI 值对应的距离可能差一倍

我的建议:

RSSI 只适合做粗定位或区域判断。比如判断人在哪个房间,或者做蓝牙 Beacon 的进出检测。想用它做米级精度?趁早换方案。

2.2 TOA —— 算时间,拼同步

TOA 的思路更直接:信号以光速传播,测出它从发射到接收的时间,乘以光速就是距离。

d = c × (t_receive - t_send)

光速 c ≈ 3×10⁸ m/s。1 纳秒的时间误差,对应 30 厘米的距离误差。所以 TOA 对时钟精度要求极高。

这里有个关键问题: 发射端和接收端的时钟必须严格同步。如果两边时间差 1 微秒,距离误差就是 300 米——这定位还有什么意义?

我在做 UWB 定位项目时用过 TOA。当时用了高精度晶振,还做了双向测距(Two-Way Ranging)来抵消时钟偏差。效果不错,但成本也上去了。

方法 时钟要求 典型精度 适用场景
单向 TOA 纳秒级同步 1~3 米 基站+标签严格同步
双向 TOA 无需同步 10~30 厘米 UWB 测距

记住: TOA 的精度天花板不在算法,在硬件。你算法写得再好,时钟抖一抖,全白费。

2.3 TDOA —— 不关心绝对时间,只关心时间差

TDOA 是我个人最喜欢的方法。它不要求所有设备时钟绝对同步,只需要知道信号到达不同基站的时间差。

举个例子:

标签发一个信号,基站 A 在 T₁ 时刻收到,基站 B 在 T₂ 时刻收到。我们不知道 T₁ 和 T₂ 的绝对值,但知道 ΔT = T₂ - T₁。这个时间差对应一个距离差 Δd = c × ΔT。

然后呢?

距离差 Δd 在几何上对应一条双曲线。三个基站就能得到两条双曲线,交点就是标签的位置。

为什么我偏爱 TDOA?

  • 不需要标签和基站时钟同步,只要求基站之间同步
  • 标签端可以做得非常简单、省电
  • 精度比 RSSI 高一个数量级

注意: 基站之间的时钟同步仍然是难题。我见过用有线时钟同步的方案,精度能到皮秒级,但布线成本吓人。无线同步方案方便,但精度会打折扣。

2.4 AOA —— 用角度说话

AOA 的思路跟前面三种完全不同。它不测信号强弱,也不测时间,而是测信号来的方向。

实现方式:用天线阵列接收信号,通过不同天线接收到的相位差,算出信号的到达角度。

假设两个天线间距为 d,信号到达角度为 θ,那么相位差 φ 满足:

φ = (2π·d·sinθ) / λ

其中 λ 是信号波长。知道 φ 就能反推 θ。

AOA 的优点:

  • 只需要两个基站就能定位(三角测量)
  • 不依赖时间同步

AOA 的缺点:

  • 天线阵列体积大,成本高
  • 角度越远,误差被放大得越厉害
  • 多径环境下角度估计容易出错

我的一点经验:

AOA 在 5G 定位里用得越来越多。基站端装大规模天线阵列,角度分辨率能做到很高。但在室内多径严重的环境,AOA 的稳定性不如 TDOA。

2.5 四种方法怎么选?

说实话,没有万能方案。我一般这样选:

场景 推荐方法 理由
室内粗定位(3~5 米) RSSI 成本低,蓝牙/Wi-Fi 直接可用
室内高精度(10~30 厘米) TDOA 或 TOA UWB 方案成熟,精度有保障
室外开阔环境 AOA 或 TDOA 多径少,角度估计稳定
标签功耗敏感 TDOA 标签只发不收,省电