3. LoRa调制与链路预算基础

LoRa 的远距离能力并不是靠提高发射功率“硬推”出来的,而是靠 Chirp 扩频调制把窄带信号在时间上拉长,用处理增益换取接收灵敏度。理解终端功耗与距离的权衡,必须先弄清四个参数:扩频因子 SF、带宽 BW、编码率 CR 和发射功率,以及它们如何共同决定灵敏度、空中时间与链路预算。

一、Chirp 扩频与四个关键参数

LoRa 使用线性调频(Chirp)信号,频率在一个符号周期内线性扫过整个带宽。接收机通过解调 Chirp 获得处理增益,其大小与扩频因子直接相关。四个参数的作用如下:

  • 扩频因子 SF(7~12):每个符号携带 SF 个比特,符号数 2^SF。SF 每增加 1,处理增益增加约 3 dB,灵敏度改善约 2.5~3 dB,但符号时间翻倍,空中时间显著变长。
  • 带宽 BW(常见 125/250/500 kHz):带宽越窄,噪声功率越低,灵敏度越好;但符号速率下降,空中时间变长。125 kHz 是远距离默认选择。
  • 编码率 CR(4/5~4/8):前向纠错开销。CR=4/5 冗余最少、速率最高;CR=4/8 冗余最多、抗干扰最强,但有效载荷速率下降。
  • 发射功率:直接抬高链路预算,但受法规和终端功耗限制,通常 14~20 dBm。

符号时间公式为 T_sym = 2^SF / BW。例如 SF12、BW125 kHz 时 T_sym = 4096/125000 ≈ 32.8 ms,一个符号就要 32.8 ms;而 SF7 时仅约 1.024 ms,相差 32 倍。这正是 SF 决定功耗的核心原因。

LoRa 参数—灵敏度—空中时间—功耗关系链 调制参数 SF = 7 … 12 BW = 125/250/500 kHz CR = 4/5 … 4/8 P_tx = 14 … 20 dBm (示例范围) 派生指标 灵敏度 S ≈ -174 + 10log(BW) + NF + SNR_req T_sym = 2^SF / BW T_air ∝ 2^SF / BW SF↑ → 灵敏度↑、时间↑ 链路预算与功耗 LB = P_tx − S + G_ant − L_path 距离 ↑ 需 LB ↑ 或 S ↓ T_air ↑ → 单包能耗 ↑ 占空比 ↑ → 平均功耗 ↑ 距离与功耗相互制约 典型配置对比(示例值,BW=125 kHz,CR=4/5,P_tx=14 dBm) SF T_sym 灵敏度(约) 链路预算(约) 适用场景倾向 SF7 1.024 ms -123 dBm 137 dB 近距离、高频上报 SF9 4.096 ms -129 dBm 143 dB 中等距离、平衡 SF12 32.768 ms -137 dBm 151 dB 远距离、低频上报 SF 每 +1:灵敏度约改善 2.5~3 dB,空中时间约翻倍,单包能耗随之上升

二、灵敏度与链路预算的计算方法

接收灵敏度可用下式估算:

S = -174 + 10·log10(BW) + NF + SNR_req

其中 -174 dBm/Hz 是常温热噪声功率谱密度,NF 为接收机噪声系数(典型 6 dB),SNR_req 是解调所需最小信噪比,随 SF 增大而降低(SF7 约 -7.5 dB,SF12 约 -20 dB)。以 SF12、BW125 kHz、NF=6 dB 为例:

S = -174 + 10·log10(125000) + 6 + (-20)
  = -174 + 51 + 6 - 20
  = -137 dBm

链路预算 LB = P_tx − S + G_tx + G_rx − L_其他。若 P_tx=14 dBm、S=-137 dBm、天线增益合计 2 dBi、馈线等损耗 1 dB,则 LB ≈ 14 + 137 + 2 − 1 = 152 dB。链路预算越大,允许的路径损耗越大,通信距离越远。

三、空中时间与功耗的量化关系

空中时间决定射频开启时长,是终端能耗的主要来源。以显式报头、CR=4/5、前导码 8 符号为例,一个 20 字节载荷在 SF12/BW125 下空中时间约 1.8 s,而 SF7 下仅约 60 ms,相差约 30 倍。若发射电流 120 mA、电压 3.3 V,则单包射频能耗约为:

SF12: 120 mA × 3.3 V × 1.8 s ≈ 713 mJ
SF7 : 120 mA × 3.3 V × 0.06 s ≈ 24 mJ

这意味着在电池容量固定的情况下,SF12 的每包能耗约为 SF7 的 30 倍。若每天上报 24 次,SF12 仅射频部分日均耗电约 17 J,而 SF7 约 0.6 J。因此,远距离与低功耗之间存在直接矛盾:提高 SF 可以延长距离,但会成倍增加单包能耗和占空比压力。

工程上常用 ADR(自适应速率)在链路质量好时自动降低 SF,既保证可靠到达,又减少空中时间和能耗。终端应优先使用满足链路余量的最低 SF,而不是固定使用 SF12。

四、参数选择与权衡实践

实际设计中,可按以下顺序确定参数:先根据覆盖距离和链路预算确定所需灵敏度,再选择能满足该灵敏度的 SF 与 BW 组合;随后核算空中时间和占空比,确认日均能耗是否在电池预算内;最后根据干扰环境调整 CR。例如,城市环境干扰较强时可从 CR=4/5 提升到 CR=4/7,以少量空中时间换取更强的纠错能力。

权衡维度提高 SF减小 BW提高 CR 冗余提高 P_tx
灵敏度改善改善略改善不变
空中时间显著增加增加增加不变
单包能耗显著增加增加增加增加
抗干扰能力增强增强增强不变
法规占空比压力增大增大增大不变

需要强调的是,链路预算计算中的路径损耗是统计模型,实际距离还受地形、建筑、天线高度和人体遮挡影响。设计时应保留 6~10 dB 链路余量,并通过现场 RSSI/SNR 实测验证,而不是仅依赖理论计算。终端固件可在入网后记录上行 SNR,若长期高于解调门限 10 dB 以上,可主动下调 SF 以节省功耗;若频繁接近门限,则应上调 SF 或增加重传,但需同步评估能耗代价。

不要为了“更远”而盲目使用 SF12:在密集部署中,SF12 的长空中时间会显著增加碰撞概率和网关占空比压力,反而降低网络整体容量。合理做法是让 ADR 根据链路质量动态选择 SF。

综上,LoRa 链路设计的核心是把“灵敏度—空中时间—能耗—距离”作为一个整体来权衡。SF 和 BW 决定灵敏度与空中时间,CR 决定纠错强度,发射功率决定链路预算上限,而占空比和电池容量最终约束了可用的上报频率。只有把这几个参数放在同一张预算表里核算,才能得到既满足覆盖又满足续航的终端配置。