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

聊LoRa之前,我先问个问题:为什么同样1块钱的电池,ZigBee跑100米就掉线,LoRa能跑三五公里?

答案就藏在它的物理层里。说白了,LoRa用了一种叫「扩频通信」的技术,把信号藏在了噪声里。我当年第一次看到它的频谱图时,说实话,挺震撼的——信号功率比噪声还低,但接收端硬是能解出来。

2.1 扩频通信:把信号「摊开」再「收拢」

传统无线通信,比如FSK,是把能量集中在一个窄带上发射。好处是简单,坏处是——干扰来了就完蛋,距离远了就听不见。

LoRa的做法完全不同。它把本来窄带的信号,用一组伪随机码扩展到很宽的频带上发射。接收端再用同样的码把它「压缩」回来。

扩频通信的核心收益:

  • 抗干扰强——窄带干扰只影响一小部分扩频信号,解码时几乎无感
  • 隐蔽性好——信号功率谱密度低,别人很难发现你在发数据
  • 多址能力——不同扩频码可以同时传输,互不干扰

我记得有个项目,现场有台大功率变频器,ZigBee一靠近就掉线。换成LoRa之后,贴着变频器放都没问题。扩频就是这么硬气。

2.2 CSS调制:LoRa的灵魂

LoRa用的不是普通的DSSS(直接序列扩频),而是CSS(Chirp Spread Spectrum,啁啾扩频)。

什么是Chirp?就是频率随时间线性变化的信号。你可以想象成鸟叫——从低音滑到高音,或者反过来。LoRa用这种Chirp信号来承载数据。

具体怎么做的?

  • 每个符号对应一个特定起始频率的Chirp
  • 接收端通过检测Chirp的起始频率来解调数据
  • 扩频因子SF决定了每个符号承载的比特数
扩频因子 (SF) 每个符号比特数 扩频增益 (dB) 典型速率 (kbps)
SF7 7 ~7 5.47
SF9 9 ~9 1.76
SF12 12 ~12 0.29

我的经验:SF12虽然速率慢到只有300bps,但灵敏度能到-148dBm。我做过一个井盖监测项目,节点埋在地下1.5米,SF12照样能传上来。SF7?地下半米就失联了。

2.3 灵敏度:LoRa的「听力」有多好?

接收灵敏度,说白了就是接收机能听到的最小信号。单位是dBm,数值越负越好。

普通FSK接收机,灵敏度大概在-110dBm左右。LoRa呢?

  • SF7时:约-123dBm
  • SF9时:约-133dBm
  • SF12时:约-148dBm

你想想看,-148dBm是什么概念?那是-110dBm的1/2500的功率。换句话说,FSK听不到的信号,LoRa能听到。

避坑指南:我曾经以为灵敏度越高越好,结果在密集城区布了200个SF12节点。速率太慢,每个节点发一次数据要2秒,冲突率飙升。后来改成SF9+SF12混合组网,才解决问题。灵敏度不是越高越好,够用就行。

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

链路预算 = 发射功率 + 发射天线增益 - 路径损耗 + 接收天线增益 + 接收灵敏度

举个例子:

  • 发射功率:+20dBm(100mW)
  • 发射天线增益:2dBi
  • 接收天线增益:2dBi
  • 接收灵敏度:-140dBm(SF10)
  • 路径损耗(城市环境,1km):约-120dB

链路预算 = 20 + 2 - 120 + 2 + 140 = 44dB

44dB的余量,意味着你还有很大的「安全垫」。如果余量降到0dB,那就是极限距离。

实战经验:我一般留10-15dB的余量。比如算出来极限是5km,我按3km设计。为什么?下雨天信号会衰减2-3dB,树叶茂密时再加3dB,天线老化再减1dB。不留余量,项目必翻车。

2.5 知识结构总览

下面这张图,把LoRa物理层的核心逻辑串起来了。我建议你保存下来,以后做方案时对照着看。

LoRa物理层核心技术体系 LoRa物理层 扩频通信 CSS调制 灵敏度与链路预算 抗干扰 隐蔽传输 Chirp信号 扩频因子SF -123~-148dBm 链路预算 处理增益 码分多址 BW/FSK对比 SF/速率权衡 路径损耗模型 余量设计 工程要点 扩频增益 = 10 × log10(码片速率 / 符号速率) 链路预算余量建议 ≥ 10dB(城市环境) SF每增加1,灵敏度提升约2.5dB,速率减半

2.6 实战选型建议

讲完原理,说点实在的。你选LoRa还是ZigBee,我建议你按这个思路来:

  1. 看距离——超过500米,别犹豫,LoRa
  2. 看速率——需要传音频、图片?ZigBee或Wi-Fi
  3. 看穿墙——地下室、井盖、混凝土墙,LoRa的扩频增益是硬道理
  4. 看节点数——200个以内LoRa够用,上千个建议考虑ZigBee Mesh

我的习惯:做方案前先算链路预算。拿Excel拉个表,把发射功率、天线增益、灵敏度、路径损耗、余量全列出来。算完心里就有底了。别凭感觉选SF,算一算再定。