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 决定功耗的核心原因。
二、灵敏度与链路预算的计算方法
接收灵敏度可用下式估算:
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 可以延长距离,但会成倍增加单包能耗和占空比压力。
四、参数选择与权衡实践
实际设计中,可按以下顺序确定参数:先根据覆盖距离和链路预算确定所需灵敏度,再选择能满足该灵敏度的 SF 与 BW 组合;随后核算空中时间和占空比,确认日均能耗是否在电池预算内;最后根据干扰环境调整 CR。例如,城市环境干扰较强时可从 CR=4/5 提升到 CR=4/7,以少量空中时间换取更强的纠错能力。
| 权衡维度 | 提高 SF | 减小 BW | 提高 CR 冗余 | 提高 P_tx |
|---|---|---|---|---|
| 灵敏度 | 改善 | 改善 | 略改善 | 不变 |
| 空中时间 | 显著增加 | 增加 | 增加 | 不变 |
| 单包能耗 | 显著增加 | 增加 | 增加 | 增加 |
| 抗干扰能力 | 增强 | 增强 | 增强 | 不变 |
| 法规占空比压力 | 增大 | 增大 | 增大 | 不变 |
需要强调的是,链路预算计算中的路径损耗是统计模型,实际距离还受地形、建筑、天线高度和人体遮挡影响。设计时应保留 6~10 dB 链路余量,并通过现场 RSSI/SNR 实测验证,而不是仅依赖理论计算。终端固件可在入网后记录上行 SNR,若长期高于解调门限 10 dB 以上,可主动下调 SF 以节省功耗;若频繁接近门限,则应上调 SF 或增加重传,但需同步评估能耗代价。
综上,LoRa 链路设计的核心是把“灵敏度—空中时间—能耗—距离”作为一个整体来权衡。SF 和 BW 决定灵敏度与空中时间,CR 决定纠错强度,发射功率决定链路预算上限,而占空比和电池容量最终约束了可用的上报频率。只有把这几个参数放在同一张预算表里核算,才能得到既满足覆盖又满足续航的终端配置。