LoRa = Long Range,翻译过来就是"远距离";是Semtech公司搞出来的一种扩频调制技术。LoRa的突出特点是功耗低,非常适合电池供电设备、各类传感器、遥测、远程监测以及物联网系统使用。注意,LoRa本身只是物理层的调制方式,不是协议。

时间线:2013年左右,Semtech正式推出LoRa芯片;当时市面上做远距离低功耗无线的方案不多,要么用Sub-GHz的FSK(比如TI的CC1101),要么上GPRS,要么搞私有协议。LoRa一出来,凭借扩频带来的处理增益,硬是把灵敏度拉到了-148dBm这个级别,直接把同行按在地上摩擦。2015年,LoRa Alliance成立,推出了LoRaWAN协议,这才有了完整的网络层和应用层的东西。记住:LoRa是物理层,LoRaWAN是协议栈。

实际通信距离取决于天线设计、发射功率、扩频因子、地形、障碍物、干扰信号以及当地法规限制。
二、为什么LoRa能传那么远?
一般这么解释:传统FSK调制,信号带宽窄,抗干扰能力一般。LoRa用的是CSS(Chirp Spread Spectrum,啁啾扩频),把信号能量摊开到一个很宽的频带上。接收端再用同样的啁啾去解调,相当于把噪声"压"下去,把信号"捞"上来。
这个扩频因子SF(Spreading Factor)是关键参数:SF越大,一个符号持续的时间越长,积累的能量越多,需要的瞬时信噪比就越低。所以,SF7:速率最快,距离最近;SF12:速率最慢,距离最远。SF每增加1,灵敏度提升约2.5dB,但传输时间也翻倍。这就是个典型的"用时间换距离"的买卖。实测:SF12 + 125kHz带宽,在城市环境下,433MHz频段,空旷地能到3-5公里,密集城区也就1-2公里。别信那些"15公里"的营销话术,那是实验室条件下、天线架高、无遮挡的极限值。


同一颗芯片、同一根天线、同样的带宽,只把SF从7调到12 :灵敏度改善约14dB,速率从约5470bps掉到约250bps。速率降到原来的5%都不到,这就是那14dB的价钱。而且速率低了不只是"传得慢",它连带影响三件事:1.空口时间变长。 同样大小的一个包, SF12发一包的时间是SF7的几十倍。这段时间里,你的发射机是一直开着的。 发射是无线电模块最耗电的动作,所以距离拉远了,电池也跟着掉得快。2.延迟变大。 一个包要在空中待那么久,实时性就没了。所以遥控、游戏手柄这类应用从来没考虑过用高SF——它们要的是快。3.占用的频谱资源变多。 你把一个包拉长了二十倍,这段频谱就被你占用二十倍的时间。别人想用只能等。所以,"用SF12传得更远"的完整版应该是:用SF12传得更远,但数据要少、电池要费、别人要等。
三、Lora到底"突破"了什么?
其实,LoRa 没有突破任何物理极限。 香农定理早就把话说清楚了:信道容量受带宽、信噪比和时间共同约束。 你想在信噪比很低的情况下把信息送出去,就得拿出更多的带宽、更多的时间来换。
这笔交易是守恒的,不是免费的。LoRa做的事情,是把这笔交易做得特别划算——用长达几十倍的符号时间,换到了二十多dB的解调门限改善。而不是发明了某种"能在噪声里凭空捞出信号"的魔法。这个认知很重要,因为它决定了你对它的预期。如果你以为它是"灵敏度放大器",就会期待它什么场景都能救。实际上它只是在"低速 + 容忍延迟 + 不着急"这个前提成立时才划算。一旦你的场景要求实时性,这笔交易立刻就不划算了。

灵敏度S = −174 + 10·log(BW) + NF + SNR_minSNR_min 意思是:解调器至少需要多高的信噪比,才能把数据认出来。LoRa把这一项干到了负数,而且是−20dB。一项从正数变成−20dB ,灵敏度就直接改善了20多dB。这就是LoRa能传几公里的全部秘密——不是发射功率更大,是它需要的最低门槛更低。
四、芯片选型,别只看参数
一)主流芯片一览:

建议:新项目直接上SX1262。原因很简单——功耗更低,支持TCXO,频率稳定性好,而且Semtech的SDK支持也到位了。SX1276/1278虽然资料多、例程遍地,但那是上一代的东西了,功耗和集成度都差点意思。不过话说回来,如果你是在国内做433/470MHz的项目,SX1278的生态确实成熟,某宝上模块一抓一大把,调试工具也多,赶工期的话也不是不能用。
二)模块怎么选?
别贪便宜买那种十几块钱的"LoRa模块"。小心吃亏:1.晶振用的垃圾,频率偏移严重,远距离根本收不到;2.天线匹配网络没做好,发射功率虚标;3.PCB走线没做阻抗控制。
靠谱的选择:E22/E32系列(亿佰特),性价比不错,做工过得去;如果要求高,直接自己画板子,用SX1262 + 巴伦匹配 + 弹簧天线或PCB天线。
五、功能拆解:一个LoRa节点到底在干嘛?
一个典型的LoRa无线传感器节点:MCU通过SPI跟LoRa芯片通信,配置频率、带宽、扩频因子、编码率等参数,然后把数据塞进FIFO,触发发送。接收端反过来。

六、应用避坑指南

几个容易误解的地方:
1."不同SF的信号互不干扰"这句话有个前提。
不同扩频因子的LoRa信号在接收端近似正交——这是它的一大优点,意味着你可以在同一频段上让一部分设备跑SF7 、另一部分跑SF12 ,互不打扰。但同样的SF之间是完全碰撞的。 两个都用SF7的设备同时发射,接收端收到的是两段混在一起的chirp 。接收机只能解出信号强的那一个,或者两个都解不出来。所以LoRaWAN网关要做多信道、多SF并行接收,本质上是在解决这个碰撞问题——不是"扩频能免疫干扰",是"错开 SF 能减少干扰"。
2.扩频增益只对"噪声"有效,对"同频干扰"效果有限。
处理增益之所以成立,是因为噪声没有固定形状。但如果干扰方发的是另一个LoRa信号——它跟你一样有形状。你能相干积累的,对方也能。这是扩频技术的一个通用边界:抗噪声很强,抗同类的结构化干扰就没那么强了。
3.前向纠错也在出力。
LoRa除了扩频,还带前向纠错编码(编码率可选4/5到4/8),加上汉明码、交织和格雷编码。在低信噪比下,符号级的错误是相当常见的,靠纠错把它们修回来。所以"-20dB能解调"这个成绩,不全是扩频一个人的功劳——它是扩频 + 纠错 + 长符号积累共同的结果。这类"用A换B"的取舍,在射频里到处都是:天线增益换方向、带宽换灵敏度、速率换距离。射频工程师日常工作的一大部分,其实不是把某个指标做到最高,而是在几个互相牵制的指标之间找一个适合当前场景的平衡点。想清楚"我这个场景最不能牺牲什么",比记住任何一组推荐参数都有用。
七、LoRa不是什么高深技术,但也不是随便就能做好的。它更像是一个"看起来简单,细节全是坑"的东西。如果你正在做LoRa相关的项目,建议是:



