3、无线信号传播模型:从理论到实战校准
做多网关定位,绕不开一个核心问题:信号在空间中到底是怎么衰减的?
你想想看,我们通过 RSSI(接收信号强度)来估算距离,但信号强度受环境干扰太大了。同一个网关,放在办公室和放在仓库,测出来的数据完全是两码事。所以,理解传播模型,是定位算法工程师的基本功。
我个人习惯把传播模型分成三类:理想模型、实用模型、带误差的模型。下面我们一个个说。
3.1 自由空间传播模型:理想基准线
自由空间模型,说白了就是假设信号在真空中传播,没有任何遮挡和反射。现实中几乎不存在,但它给出了信号衰减的理论下限。
公式很简单:
Pr = Pt * Gt * Gr * (λ / (4πd))²
其中:
- Pr:接收功率(W)
- Pt:发射功率(W)
- Gt、Gr:发射/接收天线增益
- λ:波长(m)
- d:距离(m)
工程上更常用的是对数形式(单位 dBm):
PL(d) = 20 * log10(d) + 20 * log10(f) - 147.55
这里 f 是频率(Hz)。
我的经验:自由空间模型虽然不实用,但它是校准仪器、验证天线性能的黄金标准。我在做 UWB 网关出厂测试时,都会先在微波暗室跑一遍自由空间模型,确认硬件底噪没问题。
3.2 对数距离路径损耗模型:工程首选
实际环境哪有真空?墙壁、家具、人流都会让信号衰减得更快。于是有了对数距离路径损耗模型:
PL(d) = PL(d0) + 10 * n * log10(d / d0) + Xσ
参数解释:
- PL(d0):参考距离 d0 处的路径损耗(通常 d0=1m)
- n:路径损耗指数(关键参数!)
- Xσ:阴影衰落因子(服从正态分布)
这个模型的核心就是 n 值。n 越大,信号衰减越快。不同环境的典型 n 值如下:
| 环境类型 | 路径损耗指数 n | 典型场景 |
|---|---|---|
| 自由空间 | 2.0 | 室外空旷、微波暗室 |
| 室内视距(LOS) | 1.6 ~ 1.8 | 走廊、大厅 |
| 室内非视距(NLOS) | 3.0 ~ 5.0 | 隔墙、仓库货架间 |
| 工厂/金属环境 | 4.0 ~ 6.0 | 车间、机房 |
注意:n 值不是固定的!同一栋楼,不同楼层、不同时间段(人流量变化)n 值都会变。我曾经在工厂部署时,白天和晚上的 n 值差了 0.8,直接导致定位精度从 1 米掉到 3 米。
3.3 阴影衰落模型:随机性的来源
即使距离相同,信号强度也会波动。这就是阴影衰落,用 Xσ 表示。它服从均值为 0、标准差为 σ 的正态分布(dB 单位)。
σ 的典型值:
- 室外:4 ~ 8 dB
- 室内:6 ~ 12 dB
- 复杂工业环境:10 ~ 15 dB
为什么要单独讲阴影衰落?因为它是定位误差的主要来源之一。你想想看,同一个位置测 10 次 RSSI,可能波动 5 dB,换算成距离误差就是 30% 以上。
避坑指南:我曾经在部署蓝牙网关时,发现定位结果总是跳变。排查了三天,最后发现是仓库的金属货架造成了多径反射,阴影衰落标准差高达 13 dB。后来加了时间滤波和卡尔曼平滑,才把抖动压下来。
3.4 模型参数校准方法:从理论到实战
理论模型再好,不校准就是废的。下面是我在实际项目中用的三步校准法:
3.4.1 数据采集
- 在目标环境中选 5~10 个位置,覆盖 1m 到 30m 的距离范围
- 每个位置采集 100 个 RSSI 样本,取均值
- 记录真实距离(用激光测距仪或卷尺)
3.4.2 参数拟合
用最小二乘法拟合 n 和 PL(d0):
# Python 示例:最小二乘法拟合 n 和 PL(d0)
import numpy as np
# 假设 distances 是真实距离(m),rssi 是测量均值(dBm)
distances = np.array([1, 2, 5, 10, 20, 30])
rssi = np.array([-45, -52, -63, -72, -82, -88])
# 对数变换
log_d = np.log10(distances)
# 线性拟合:rssi = A * log_d + B
A, B = np.polyfit(log_d, rssi, 1)
# 计算 n 和 PL(d0)
n = -A / 10
PL_d0 = -B
print(f"路径损耗指数 n = {n:.2f}")
print(f"参考距离 1m 处损耗 PL(d0) = {PL_d0:.2f} dB")
3.4.3 验证与迭代
- 用拟合后的模型预测新位置的 RSSI,对比实测值
- 如果误差超过 3 dB,重新采集数据或增加采样点
- 建议每半年重新校准一次(环境变化)
我的习惯:校准数据不要只采一次。我会在一天的不同时段(早、中、晚)各采一组,取中位数作为最终参数。这样能抵消人流、温湿度变化的影响。
3.5 本章知识体系
下面这张图总结了三种模型的关系和校准流程,方便你对照理解:
嗯,到这里,三种模型和校准方法就讲完了。记住一句话:模型是骨架,校准是血肉。没有校准的模型,在真实项目中就是纸上谈兵。