ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

2.4GHz下LoRa与FLRC实测对比:速度与距离的工程取舍

2.4GHz下LoRa与FLRC实测对比:速度与距离的工程取舍

搞无线数传这些年,我一直对 2.4GHz 频段下 LoRa 和 FLRC 这两种调制方式的“速度与距离”取舍很感兴趣。手头这块 LoRa2021 模块刚好同时支持两种模式,趁着连续晴天,我带着两台设备、两套天线和一堆电池,在河堤上做了一轮比较完整的户外实测。这篇报告会把 FLRC 与 LoRa 在远距离高速场景下的真实表现、背后的物理原因、以及工程选型建议一次性说清楚。如果你正在做无人机图传、机器人数据回传、工业点位上报,或者单纯想搞明白“新一代 LoRa 模块到底该用哪种调制”,这篇实测记录应该能帮你省掉不少弯路。

1. 为什么把 FLRC 和 LoRa 放在一起测

1.1 两种调制方式的底层差异

LoRa2021 模块之所以值得做对比测试,是因为它内部集成了两套完全不同的物理层方案。LoRa 走的是线性调频扩频路线,发射端把数据调制到一段连续的 chirp 信号上,接收端用本地同步信号做相关解扩,换来的是极低的解调门限。FLRC 则是另一种思路,它强调的是频谱利用率和符号速率,在相同占用带宽下能塞进更高吞吐的数据流,代价是接收灵敏度明显变差。

我在测试前先拉了一张理论参数对照表,重点看带宽、扩频增益、灵敏度、空中速率和相对接收门限。LoRa 在 2.4GHz 频段下可用带宽通常是 203kHz、406kHz、812kHz 三档,扩频因子从 SF5 到 SF12 可调;FLRC 的带宽则更宽,配合不同调制指数可以做到数百 kbps 到 1Mbps 以上的速率。灵敏度的差距非常直观:LoRa 在慢速模式(比如 SF12、203kHz 带宽)下灵敏度可以到 -130dBm 附近,而 FLRC 在 1Mbps 档位下往往只有 -98dBm 左右,整整差了 30dB。

这 30dB 的差距会直接反映在链路预算上。简单算一下,发射功率 20dBm、收发天线增益合计 6dBi、路径损耗按自由空间 2.4GHz 估算,1km 距离损耗约 100dB,链路余量大概 26dB。对 LoRa 来说这个余量非常宽裕,但 FLRC 基本贴着灵敏度边界走。所以理论上 FLRC 只能应对几百米到一两公里的视距传输,而 LoRa 可以在同样功率下摸到四五公里甚至更远。

1.2 速率与距离本来就是天平两端

很多人刚接触 LoRa 的时候会有一个困惑:为什么常见的 LoRa 模块都标称“低速率、远距离”,而 FLRC 却反着来?答案要说回到香农公式:信道容量受带宽和信噪比共同约束,高速率必然需要更宽带宽或者更高信噪比。FLRC 把带宽和符号速率做到极限,相当于用“嗓门大”换“说话快”,一旦距离拉远、信号变弱,它的错误地板上限很快就撑不住了。

我习惯把这两种调制看成一辆跑车和一台越野车。FLRC 是跑车,平路上可以跑出很高的速度,但遇到坑洼路面就容易散架;LoRa 是越野车,速度上不去,但泥地、草丛、山包都不太容易让它熄火。工程上不存在“又远又快”的免费午餐,你只能根据实际链路余量去选择跑车还是越野车。

这也就是为什么户外实测比实验室参数表更有价值。实验室里的灵敏度是在白噪声、无干扰、无多径的理想条件下测出来的,真实户外环境里会有树叶遮挡、河面反射、远处 WiFi 同频干扰、天线极化失配,这些因素叠加起来,理论余量会被大量吃掉。只有把设备拉到真实地面上跑一遍,才能看到数据包成功率、RSSI 抖动、SNR 变化到底是怎么随距离滚动的。

2. 户外实测环境与准备

2.1 场地选择:河堤 + 树木遮挡的真实链路

我选了一段沿河堤坝道路作为测试场地。起点放在河堤高处的一块平地,用灯架把天线架到离地约 12 米;接收端沿河堤公路逐步向远推进,途经几段两侧有杨树的路面,2.8km 之后有一个小土坡,基本构成非完整视距链路。测试时间是上午 9 点到下午 3 点,天气晴,微风,气温 26℃ 左右,湿度中等。这种环境对 2.4GHz 频段来说不算苛刻,但也不是纯自由空间,足够暴露问题。

之所以选这个场地,是因为它贴近实际工程部署:一边是开阔水面带来的反射面,一边是低矮树木形成的遮挡和吸收体,远处偶尔还有行人携带的蓝牙设备干扰。相比在楼顶做“塔到塔”的理想视距测试,这里的数据对多数地面物联网项目更有参考价值。

2.2 硬件清单和现场接线

这次测试用到的硬件比较常规,手上如果有类似 LoRa 模块,基本可以照单复用。LoRa2021 模块两套,一套固定做发射端,一套随车移动当接收端;每个模块配了一根 2.4GHz 全向天线,标称增益 3dBi,垂直极化。主控用两片常见的 STM32 开发板,通过串口和模块连接,串口波特率固定在 115200。另外带了一台频谱仪用于现场扫频,一台手持 GPS 用来标定测点经纬度,两台笔记本负责记录日志,移动电源给整套系统供电。

现场接线有一点要特别盯紧:模块的射频输出口到天线之间尽量直接相连,不要接长馈线。我一开始想图方便,在发射机旁边加了一根 2 米长的馈线,结果驻波比明显变差,2.4GHz 频段馈线损耗本来就大,这段线至少吃掉了 1.5dB 功率。后来直接把天线拧到模块射频座上,RSSI 读数立刻涨了一截。户外测试的现场条件越简单越好,任何多余转接都是损耗来源。

2.3 参数设定与测试矩阵

参数设定是这次对比测试的核心。为了公平,两种调制都尽量把发射功率固定在 20dBm,天线一致,数据包大小一致,包间隔根据实际空中速率做调整,避免接收端被自己的处理逻辑限速。LoRa 侧我选了两组极端参数:一组是高速配置 SF7、带宽 812kHz、编码率 4/5,另一组是远距离配置 SF12、带宽 203kHz、编码率 4/5;FLRC 侧则选了 250kbps 和 1Mbps 两档速率,分别对应它的稳健模式和高速模式。

调制方式配置档位带宽/速率理论灵敏度空中速率预估场景定位
LoRa高速档812kHz, SF7约 -108dBm约 40kbps中等距离数据采集
LoRa远距档203kHz, SF12约 -130dBm约 0.5kbps极限距离覆盖
FLRC稳健档约 400kHz约 -105dBm约 250kbps近中距离高速率
FLRC高速档约 800kHz约 -98dBm约 1Mbps近距离大吞吐量

实际空中速率还需要减去协议开销,比如前导码、CRC、地址字段和串口透传的封包格式。测试时我统一用 200 字节有效载荷,每组发送 200 包,统计接收成功率、平均 RSSI、平均 SNR 和实际有效吞吐量。测点从 200m 开始,按 500m、1km、1.5km、2km、2.5km、3km、3.5km、4km 逐点推进,每个点在原地测三轮取平均,避免由于瞬间衰落导致数据抖动。

2.4 测距与连续性记录方法

测距我直接用 GPS 坐标算大圆距离,同时在发射端用激光测距仪做了抽检校验,两者误差基本在 20m 以内。每到一个测点,接收端软件会把最近 200 包的成功率、RSSI、SNR 都记录到本地 CSV 文件里,时间戳取接收时刻。移动测试部分则在 2km 范围内用车载方式往返跑了两趟,车速约 30km/h,看两种调制在动态多普勒下的表现。

有一点经验很值得说:日志格式最好提前固定好,不要现场改。我第一次没注意,把 RSSI 和 SNR 都打成了浮点字符串,后来统计时才发现小数点后一堆无意义数字,还得再写脚本清洗。做这类实测,数据格式越简单越好,最好直接用整数型原始值,解析成本会低很多。

3. 核心实测数据与逐项对比

3.1 近距离高速表现:FLRC 的爆发力

在 200m 和 500m 两个近点,结果完全符合理论预期。FLRC 高速档的接收 RSSI 在 -55dBm 到 -60dBm 之间,SNR 超过 20dB,有效吞吐量实测能到 700kbps 左右,虽然没有拉满 1Mbps(串口和协议开销吃掉了一部分),但已经比 LoRa 高速档高出近一个数量级。LoRa SF7 在 500m 处有效吞吐量只有 20kbps 上下,SF12 就更低了,基本只有 0.3kbps 可用。

这一段的结论是:只要链路距离在 500m 以内,FLRC 是绝对的首选。比如机器人近场高速回传、无人机降落前的图像快速下载、现场设备固件升级,这类场景要在几分钟内传完几兆字节,FLRC 能完成任务,LoRa 会等得让人怀疑人生。同样 2MB 的文件,FLRC 高速档实测大约 23 秒传完,LoRa SF7 要 100 秒以上,SF12 几乎不可接受。

测点距离FLRC 1Mbps 吞吐LoRa SF7 吞吐LoRa SF12 吞吐
200m约 710kbps约 21kbps约 0.3kbps
500m约 680kbps约 19kbps约 0.3kbps
1km约 320kbps约 18kbps约 0.3kbps

到了 1km,FLRC 的速率开始明显下滑,原因是接收灵敏度逼近门限,偶尔丢一包导致重传,有效吞吐被拉低。但整体来说,1km 内 FLRC 仍然可以是高速数传的主角。

3.2 中距离交叉点:速率与灵敏度的平衡墙

距离推进到 1km 之后,FLRC 的问题开始集中暴露。在 1.5km 测点,FLRC 高速档的 PER 已经飙到 30% 以上,RSSI 掉到 -96dBm 左右,几乎贴着灵敏度门限。此时 LoRa SF7 的 PER 仍然接近 0,虽然速率只有 18kbps,但稳稳可用。这个点就是我说的“平衡墙”:想快就保不住距离,想远就快不起来。

我还特意把 FLRC 稳健档(250kbps)在这个距离上跑了一遍。它比高速档多撑了一点,PER 控制在 5% 以内,可以完成通信,但是有效吞吐量降到 200kbps 上下,已经失去“高速”的绝对优势。换句话说,即使你主动降低 FLRC 速率来换灵敏度,在 1.5km 这个距离,它也只是比 LoRa 快了大约十倍,而 LoRa 的远距离储备还远远没有用完。

从工程角度讲,如果你知道自己部署的节点距离都会在 1km 上下,那么 FLRC 稳健档可能是一个不错的均衡点;如果距离可能扩展到 2km 以上,就必须认真评估 LoRa 或者更低速率档的 FLRC。交叉点附近的数据波动也很大,我测了三轮,同一测点的 RSSI 抖动有 6dB 左右,这主要是河面反射和树冠摆动造成的,所以选型时一定要留足衰落余量。

3.3 远距离极限:LoRa 仍然无法替代

到了 2.5km,FLRC 两种档位全部出局,高速档完全不通,稳健档的 PER 也在 80% 以上,偶尔收到一两个包也没法形成可靠链路。LoRa SF7 在 2.5km 处还能勉强工作,PER 约 15% 到 25%,RSSI 在 -112dBm 附近;LoRa SF12 则非常轻松,PER 接近 0,SNR 还有 5dB 以上的余量。

继续推到 3.5km 和 4km,LoRa SF12 依旧可以维持低速率通信,有效速率虽然只有每秒几百字节,但控制指令和传感器读值的传输完全够用。这也是 LoRa 最典型的应用区间:水表气表、农业墒情监测、偏远点位状态上报,不需要传大块数据,但必须保证极低功耗和极高的覆盖可靠性。

我在 4km 处还试了试 LoRa SF7,结果已经不可用,PER 高达 60%。这条边界清楚地表明,同样是 LoRa 调制,SF7 和 SF12 之间的灵敏度差异加上带宽差异,能让覆盖距离差出一倍以上。所以远距离选型时,SF、带宽、编码率这些参数一定要结合业务速率需求综合设置,不能为了省事都默认用 SF7。

测点距离FLRC 高速档FLRC 稳健档LoRa SF7LoRa SF12
1km可用,有丢包稳定可用稳定可用稳定可用
1.5km基本不可用边缘可用稳定可用稳定可用
2.5km不可用不可用边缘可用稳定可用
4km不可用不可用不可用低速率可用

3.4 动态移动测试与多普勒效应

车载移动测试在 2km 以内的河堤路上进行,车速约 30km/h。整体上看,LoRa 对低速移动的耐受性非常好,SF12 在移动状态下 PER 仅比静止状态增加 2% 左右,对多普勒不敏感;SF7 的情况类似。FLRC 则明显更容易受动态影响,在 1km 处静止实测 PER 只有 5%,车速到 30km/h 后升到 12% 以上。2.4GHz 频段下 30km/h 带来的多普勒频移大约只有几十赫兹,理论上不会造成太大影响,所以我把 FLRC 的恶化原因主要归到多径快速变化和均衡器跟不上信号突变上。

这个结果说明,如果你的节点安装位置会有移动,比如车载网关、无人机吊舱,那么 LoRa 的稳定性会更好。FLRC 更适合静止或者微移动的场景,比如固定在杆塔上的网桥、停机坪上的设备。

4. 结果背后的物理原理与工程解读

4.1 LoRa 为什么能在信号极差时解码

LoRa 的核心优势是扩频增益。它把原始数据扩展到远高于信息速率的变化信号上,接收端通过相关运算把分散的能量重新收集起来,等效于提升了接收机对低信噪比信号的容忍度。所以在 SNR 可以低到 -15dB 甚至 -20dB 的环境下,LoRa 依然能正确解调,这对 FLRC 这种依赖绝对信噪比的调制方式来说完全不可想象。

扩频增益从哪来?简单说是“用时间换能量”。一个符号被拉得越长,接收机积累的能量就越多,解调门限就越低。SF12 比 SF7 慢很多,是因为每个符号对应的 chirp 数量变多,相关峰的尖锐度提高,因而能在噪声里更容易被发现。这也是为什么在同一带宽下,SF12 的灵敏度可以比 SF7 好十几 dB。

4.2 FLRC 为什么高速但不远

FLRC 走的是直接调制路线,没有扩频过程,接收灵敏度完全取决于调制指数和检测门限。高速模式下符号周期短,接收端在一个符号时间内能够积累的能量少,抗噪能力自然弱。另外 FLRC 的频谱效率高,占用带宽不变的情况下能传更多比特,但通信系统的基础边界不会变,你只能把信噪比预算不停地往极限上压,稍微有点衰落余量不够就丢包。

这就像在高速公路上一味踩油门,油耗和发动机噪音都会迅速上升。FLRC 在近距离可以把信号质量消耗到极致,换取高吞吐;但一旦距离拉开、链路损耗变大,它没有 LoRa 那种“低信噪比救生衣”,所以掉链子非常突然。我测到 1.2km 到 1.5km 之间 PER 几乎是在两个测点内从 5% 跳到 30%,这种悬崖式劣化让人印象深刻。

4.3 不同场景的选型矩阵

结合实测数据和原理分析,我形成了一套比较实用的选型逻辑。先判断业务带宽需求,再判断节点间距,最后看节点和网关的供电能力。如果距离在 1km 以内且数据量达到百 kbps 以上,优先考虑 FLRC;如果距离超过 2km 但数据量只有几十字节到几百字节,LoRa 是唯一选择;如果距离在 1km 到 2km 之间且数据量中等,可以尝试 FLRC 稳健档或者 LoRa SF7,再结合实际 PER 做取舍。

业务场景典型距离推荐调制理由
无人机图像快速下载300m 以内FLRC 高速档大吞吐,近距离可用
机器人本体高速回传500m 左右FLRC 稳健档稳定性与速率的折中
工业点位状态上报1km 到 3kmLoRa SF7/SF9距离适中、数据量小
野外环境传感器3km 以上LoRa SF12极限覆盖、功耗优先
移动车载数据采集1km 内移动LoRa SF7抗多径突变更好

5. 户外实测常见问题与排查技巧

5.1 天线和馈线的坑:驻波吃掉的不是细节是余量

户外无线测试首先翻车的往往是天线。2.4GHz 频段下,哪怕只是接头没拧紧、馈线弯折半径太小、或者天线离金属支架太近,都会让驻波比恶化,导致实际辐射功率远低于模块标称值。我这次在用全向天线时发现,天线垂直安装在金属三脚架上,RSSI 会比架在木质灯架上低好几个 dB,因为金属结构反射改变了辐射方向图。

排查方法是看发射端的驻波比读数,或者直接对比不同天线高度下同一测点的 RSSI。如果天线装好了,RSSI 还是比理论值低 6dB 以上,优先怀疑天线和馈线问题,而不要急着怪模块。另外,天线极化方向也必须和远端保持一致,一端垂直一端水平,信号损耗轻松超过 20dB,这对 2.4GHz 来说是致命的。

5.2 多径和同频干扰:2.4GHz 频段的无形麻烦

2.4GHz 是 WiFi、蓝牙、微波炉扎堆的频段,户外虽然不像城市室内那么乱,但河面反射、建筑外墙反射都会造成频率选择性衰落。实测中我发现同一测点静止不动,RSSI 也可能上下跳动 6dB 到 8dB,这通常不是偶然噪声,而是多径信号相互抵消的结果。解决办法是开启设备的跳频功能,或者人为错开频点,尽量避开某一条特定的深衰落路径。

如果使用频谱仪现场扫频,能看到某些频点上存在周期性占空比信号,那大概率是附近 WiFi AP 的信标信号。LoRa 因为扩频增益高,对这种窄带干扰有一定抵抗能力;FLRC 遇到同等强度的同频干扰,PER 会迅速上升。所以在部署大量 FLRC 网桥时,频点规划比 LoRa 要更谨慎。

5.3 晶振偏差和温漂:FLRC 的隐形杀手

FLRC 对频率误差的容忍度比 LoRa 低得多。LoRa 本身靠扩频相关解调,对频偏的宽容度较高;FLRC 高速模式一个符号持续的时间极短,如果收发两端晶振基准偏差超过幅度,解调器就会失锁。实测中我把一块模块放在阳光下暴晒半小时,其内部温度升高导致晶振频率发生偏移,和常温端模块对传时出现了明显掉包。

现场解决的办法是:优先使用带温度补偿的晶振版本,或者在链路层加入频偏估计与校准流程。测试时为了快速排障,我还用频谱仪观察发射信号的载波位置,如果发现频率中心整体偏移,基本锁定晶振问题。低功耗设备长时间在户外工作,这个问题尤其值得重视。

5.4 实测数据不达预期的排查流程

当某测点 PER 高于预期时,我会按固定流程排查:先看接收 RSSI 是否接近灵敏度门限,再看 SNR 是否偏低,最后用频谱仪确认同频干扰。一个常见误判是:RSSI 很高但 PER 依旧糟糕,此时问题通常不在链路预算,而在多径或者频偏。另一个常见问题是:某次测试用的数据包速率高于实际链路能力,导致模块内部 FIFO 溢出,这也会表现为大面积丢包,和射频性能无关。

我把这些经验整理成一张检查顺序表,方便现场快速对照:

现象可能原因排查手段
RSSI 很低天线失配、馈线损耗、距离过远测驻波、换天线、核对距离
RSSI 正常但 PER 高多径衰落、同频干扰、频偏频谱仪扫频、开启跳频、检查晶振
SNR 正常但吞吐量不足串口限速、FIFO 溢出、协议开销过大检查波特率、减小包长、优化固件
FLRC 近距离也不稳定收发晶振偏差、天线极化不一致校准频率、统一天线极化方式

6. 最后说点实话

测试结束收拾设备的时候,我意识到这类对比的价值不只是给某个模块贴“好”或“坏”的标签,而是帮自己在后续做产品方案时少掏学费。LoRa2021 模块给了我在一个设备上同时体验两种调制方式的机会,它让我更清楚地看到:无线通信里没有万能钥匙,任何速度的提升都必然要向某处借债,要么借距离、要么借功耗、要么借稳定性。对工程人来说,真正需要做的不是追逐单点参数,而是把一个系统的距离、速率、功耗、成本和可维护性放进同一个坐标系里,选出那个最平衡的点。

这次实测之后,我的个人项目里已经形成了一条明确规则:凡是安装在固定位置、距离在 1km 以内的点对多点高速回传,优先用 FLRC;凡是野外分布式节点、距离可能在 2km 以上的低速率采集,直接上 LoRa 远距离档。中间地带则老老实实先跑一轮现场测试,用数据说话。希望这份记录也能给正在做类似选型的你一点参考,毕竟户外实测踩过的坑,提前知道一个就省一份精力。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进