3、路径损耗模型:从公式到实战

做物联网项目,信号能传多远,心里得有个底。路径损耗模型就是干这个的。说白了,它就是一套数学工具,帮我们估算信号从发射机到接收机,到底衰减了多少。

我刚开始做无线项目时,也犯过傻。觉得天线功率够大就行,结果现场一测,信号弱得可怜。后来才明白,路径损耗这关过不去,再大的功率也白搭。

3.1 自由空间路径损耗公式

先看最理想的情况。自由空间,没有任何障碍物,信号在真空中传播。这虽然不现实,但它是所有复杂模型的基础。

公式长这样:

L_fs = 20 * log10(d) + 20 * log10(f) + 32.44

其中:

  • L_fs:自由空间路径损耗,单位 dB
  • d:距离,单位 km
  • f:频率,单位 MHz

举个例子。2.4GHz 的 WiFi,距离 100 米。损耗是多少?

L_fs = 20 * log10(0.1) + 20 * log10(2400) + 32.44
     = 20 * (-1) + 20 * 3.38 + 32.44
     = -20 + 67.6 + 32.44
     = 80.04 dB

80dB 的损耗,意味着发射功率 20dBm,到接收端就只剩 -60dBm 了。嗯,这个值对 WiFi 来说,还能用,但已经不算强了。

我的小习惯: 做链路预算时,我习惯先算自由空间损耗。这能给我一个「下限」。实际损耗只会比这个更大,不会更小。有了这个底,再往上加余量,心里踏实。

3.2 对数距离路径损耗模型

自由空间模型太理想了。实际环境里,信号会被地面反射、被树木吸收、被建筑物遮挡。这时候,对数距离模型就派上用场了。

公式:

L(d) = L(d0) + 10 * n * log10(d / d0)

参数说明:

  • L(d):距离 d 处的路径损耗
  • L(d0):参考距离 d0 处的路径损耗(通常 d0 取 1m 或 10m)
  • n:路径损耗指数,反映环境对信号的影响程度

这个 n 值很关键。不同环境,n 值完全不同:

环境类型 路径损耗指数 n 典型场景
自由空间 2.0 室外空旷、视距传播
城市蜂窝 2.7 ~ 3.5 街道、低层建筑区
室内视距 1.6 ~ 1.8 走廊、大厅、仓库
室内非视距 3.0 ~ 5.0 隔墙、楼层间、地下室
工厂车间 2.0 ~ 3.0 金属设备多、反射强

你看,室内非视距的 n 值能到 5.0。这意味着信号每增加一倍距离,损耗多增加 50dB。信号衰减得非常快。

避坑指南: 我曾经在一个工厂项目里,直接套用了自由空间模型。结果设备装上去,隔了两堵墙就没信号了。后来实测发现,n 值接近 4.5。所以,千万别偷懒。有条件就现场测一下,没条件就选保守的 n 值。

3.3 实际环境中的衰减因子

对数距离模型虽然好用,但它只考虑了距离。实际环境里,还有一堆因素在「吃」信号。这些因素,我们统称为衰减因子。

常见的衰减因子包括:

  • 墙体穿透损耗:混凝土墙 15-25dB,砖墙 8-15dB,木板墙 3-5dB
  • 楼层衰减:每层楼板约 10-20dB,具体看材质
  • 人体遮挡:一个人体约 3-5dB,一群人就更夸张
  • 植被衰减:树叶茂密时,每 10 米额外损耗 3-5dB
  • 多径衰落:信号反射、衍射造成的叠加抵消,可达 10-30dB

把这些因子加进去,完整的路径损耗模型就变成了:

L_total = L(d0) + 10 * n * log10(d / d0) + Σ(衰减因子)

举个例子。一个室内 LoRa 项目,距离 50 米,中间隔一堵混凝土墙。我们来算算:

参考距离 d0 = 10m,L(d0) = 60dB(实测值)
n = 3.5(室内非视距)
距离因子 = 10 * 3.5 * log10(50/10) = 35 * 0.699 = 24.5 dB
混凝土墙 = 20 dB
总损耗 = 60 + 24.5 + 20 = 104.5 dB

LoRa 的接收灵敏度一般是 -137dBm。如果发射功率是 20dBm,链路余量 = 20 - (-137) - 104.5 = 52.5dB。这个余量很充裕,项目稳了。

核心思路: 路径损耗模型不是算着玩的。它是用来做「链路预算」的。发射功率 - 接收灵敏度 - 路径损耗 = 链路余量。余量大于 10dB,项目基本靠谱。小于 5dB,就得小心了。

3.4 知识体系总览

下面这张图,把三种模型的关系和适用场景串起来了。你一看就明白。

路径损耗模型知识体系 路径损耗模型知识体系 路径损耗模型 自由空间模型 对数距离模型 实际衰减因子 理想真空 视距传播 路径指数 n 参考距离 d0 墙体穿透 多径衰落 实战建议 1. 先用自由空间模型算下限 2. 根据环境选合适的 n 值 3. 叠加所有衰减因子,留足余量(建议 > 10dB)

3.5 实战中的模型选择

模型这么多,到底用哪个?我个人的经验是:

  1. 室外空旷场景(农田、停车场):直接用自由空间模型,n 取 2.0,再加 5-10dB 余量就够了。
  2. 城市街道:用对数距离模型,n 取 2.7-3.0。如果有建筑遮挡,再加 10-15dB 穿透损耗。
  3. 室内隔墙:对数距离模型 + 墙体衰减因子。n 取 3.0-4.0,具体看房间布局。
  4. 复杂工业环境:这个最头疼。金属设备多,反射强,多径衰落严重。我建议 n 取 3.5-5.0,并且一定要现场实测验证。
一个实用技巧: 如果你不确定 n 值,可以这样操作。在距离发射机 1 米处测一次 RSSI,然后在 10 米处再测一次。两次的差值除以 10,就是 n 值的近似值。这个方法我用了很多次,简单有效。

路径损耗模型,说到底就是给项目上的一道保险。算清楚了,心里有数。算不清楚,现场等着哭吧。嗯,我当年就哭过一回,从那以后,再也不敢凭感觉估了。