2、LoRa技术原理:扩频通信、CSS调制、灵敏度与链路预算

好,咱们直接切入正题。LoRa 这个名字,圈内人都不陌生。但它的底层到底是怎么工作的?为什么能传那么远?功耗还那么低?

我当年第一次接触 LoRa 时,也被这些数字唬住了。后来啃了不少资料,又亲手调过几个项目,才算真正摸透了它的脾气。今天我就把这几块核心内容——扩频通信、CSS 调制、灵敏度、链路预算——掰开了讲给你听。

2.1 扩频通信:为什么 LoRa 能“抗干扰”?

扩频通信,说白了就是把信号的能量分散到一个很宽的频带上去发送。你想想看,窄带通信就像一根针,容易被干扰“扎”到。而扩频通信就像一盆水泼出去,干扰信号只能影响其中一小部分,整体通信还是稳的。

LoRa 用的是 扩频因子(Spreading Factor, SF) 来控制这个“泼水”的幅度。SF 值越高,信号被扩展得越宽,抗干扰能力越强,但传输速率也越慢。

核心公式(简化版):
数据速率 (bps) ≈ (BW × SF) / (2^SF)
其中 BW 是带宽,SF 是扩频因子。

举个例子,SF=7 时速率高,但抗干扰弱;SF=12 时速率低,但能穿透好几堵墙。我在一个工厂项目里,设备藏在金属机柜后面,SF 调到 12 才稳定通信。嗯,这就是代价。

2.2 CSS 调制:LoRa 的“独门绝技”

CSS 的全称是 Chirp Spread Spectrum,中文叫线性调频扩频。它不像传统 FSK 那样跳变频率,而是让频率在时间轴上连续变化,像鸟叫声一样“啾——”地扫过去。

为什么用 CSS?

  • 抗多径衰落:频率连续变化,即使部分信号被反射抵消,其他部分还能传过去。
  • 低功耗:接收端只需要检测频率变化斜率,不需要高精度本振,省电。
  • 远距离:CSS 信号在噪声之下也能被解调,这就是所谓的“负信噪比”通信。

我记得有一次做户外测试,LoRa 节点放在山谷里,接收端在山顶。传统 FSK 模块完全没信号,LoRa 的 CSS 调制居然还能收到数据包。虽然丢包率高了点,但至少能通。

避坑指南: 我曾经在 SF=12 时把带宽设成了 500kHz,结果速率低到没法用。后来才意识到,带宽越大,CSS 的“扫频”时间越短,反而会降低处理增益。一般建议 BW=125kHz 配合 SF=10~12 做远距离。

2.3 灵敏度:LoRa 能听到多弱的声音?

接收灵敏度,就是接收机能识别的最小信号强度。单位是 dBm。LoRa 的灵敏度可以做到 -130dBm 甚至 -148dBm(SF=12, BW=125kHz)。

对比一下:WiFi 的灵敏度大概 -90dBm,蓝牙大概 -95dBm。LoRa 比它们灵敏了 30~50dB。这意味着什么?

信号强度每增加 6dB,传输距离大约翻一倍。所以 LoRa 能传几公里甚至十几公里,不是吹的。

扩频因子 (SF) 带宽 (BW) 典型灵敏度 (dBm) 数据速率 (bps)
7 125 kHz -123 5468
9 125 kHz -133 1464
12 125 kHz -148 293

你可能会问:为什么灵敏度能这么高?

因为 CSS 调制有 处理增益。简单说,接收端把扩频后的信号“压缩”回窄带,信噪比就提升了。处理增益 ≈ 10 × log10(2^SF)。SF=12 时,增益大约 36dB。这就是 LoRa 能在噪声底下工作的秘密。

2.4 链路预算:算算你到底能传多远

链路预算,就是发射功率 + 天线增益 - 路径损耗 - 接收灵敏度。结果为正,链路就能通。

公式长这样:

链路余量 (dB) = 发射功率 (dBm) + 发射天线增益 (dBi) + 接收天线增益 (dBi) - 路径损耗 (dB) - 接收灵敏度 (dBm)

举个例子:

  • 发射功率:14dBm(25mW)
  • 发射天线增益:2dBi
  • 接收天线增益:2dBi
  • 路径损耗:120dB(约 2km 视距)
  • 接收灵敏度:-130dBm

链路余量 = 14 + 2 + 2 - 120 - (-130) = 28dB

余量 28dB,非常充裕。一般留 10~15dB 余量就够用了。

注意: 路径损耗模型有很多种。城市环境用 Okumura-Hata 模型,郊区用 COST231 模型。我建议你实际测试时,先按自由空间损耗算,再打 20~30dB 的余量。我曾经在密集城区按理论值算,结果节点装上去死活连不上,最后发现墙体衰减比预想的大了 15dB。

2.5 知识体系总览

下面这张图,把 LoRa 技术原理的核心逻辑串起来了。你可以把它当作一个“脑图”来记。

LoRa技术原理 扩频通信 CSS调制(Chirp扩频) 接收灵敏度 链路预算 扩频因子SF 处理增益 负信噪比通信 发射功率 + 天线增益 - 路径损耗 - 灵敏度 核心结论:SF越高 → 灵敏度越高 → 链路预算越大 → 传输距离越远

这张图里,扩频通信是基础,CSS 调制是手段,灵敏度是能力,链路预算是结果。四者环环相扣。

我个人习惯,做项目选型时,先根据距离要求反推链路预算,再确定 SF 和带宽。而不是先选模块再算距离。顺序搞反了,后面全是坑。

实战建议: 如果你刚开始用 LoRa,建议先拿一个现成的模块(比如 SX1278),在空旷地实测一下不同 SF 下的距离。我当年就是这么干的,实测数据比任何理论公式都靠谱。

专注资料整理