
感谢Przemysław Wcisło(SO5DZ)编写并分享了rxx_LoRa这个命令行处理程序,它适用于 RTL-SDR和 SDRplay类型的RSP设备。Przemysław指出,该程序的设计理念与rtl_fm类似,因此无需构建或维护任何流程图。它只是一个简单的C语言二进制文件(rtl_LoRa或rsp_LoRa),此外还包含用于保存I/Q信号的文件_LoRa。解码后的数据包会被以JSONL格式输出到标准输出,因此可以将它们传递给其他程序使用。
普热梅斯瓦夫写道:
它的运行速度非常快。整个接收流程(检测、同步、解调、编码校正等)可以在数十到数百倍于实际速度的速率下完成,这当然取决于物理层参数和硬件的性能。该设备的灵敏度很高:我已经在加性白噪声环境下对它的性能进行了测试,其性能与理想理论值相差仅1-2分贝而已。它甚至能够在-14分贝的信噪比条件下轻松解调MediumFast预设模式的数据。根据实际使用情况来看,它通常能在-12到-14分贝的信噪比条件下进行准确解码。甚至有一次,我在-17分贝的信噪比条件下仍能成功解码一帧数据,尽管那帧数据的CRC校验结果并不理想。该设备运行稳定,除了偶尔因为不小心将设备从USB接口中拔出来而导致故障外,从未出现过其他问题。从软件质量的角度来看,该设备也应该相当稳定。我已经制定了一系列严格的质量检测标准,包括噪声干扰测试、与之前录制的空中传输数据的对比测试等等。这样一来,即使将来出现任何变更,也不太可能出现严重的性能下降。使用该设备所需的软件很少:只需要librtlsdr、FFTW、C语言编译器以及make这几个工具即可。对于那些曾经使用过RTL-SDR的人来说,他们可能不需要再安装额外的软件包。测试和额外工具方面,虽然需要使用Python和一些库,但这些工具并不是该设备正常运行所必需的。
该接收器采用了标准的LoRa物理层协议,因此可以用于 Meshtastic、 LoRaWAN、MeshCore、APRS-over-LoRa以及其他LoRa类型的信号传输。附带的Python脚本还可以解密使用默认或配置好的频道密钥生成的 Meshtastic数据包,并将解密后的数据以易于阅读的形式打印出来。
该解调核心模块源自gr-LoRa和gr-LoRa_SDRGNU Radio这两个项目的成果。该代码采用GPLv3许可协议,可以在GitHub上获取。它可以在Linux系统上运行,而README文件指出macOS系统也“很可能”能够正常使用该软件。该版本还需要使用 SDRplay接口才能实现功能。对于 Meshtastic接收功能而言,其实现方式与之前我们介绍过的基于 GNU Radio的 Meshtastic_SDR项目类似,不过后者所使用的资源要少得多。

人工智能免责声明:Przemysław指出,这些性能提升得益于“耐心且精心使用强大的人工智能工具”所实现的成果;而项目说明文档则表明,该项目在代码编写和理论探索方面都大量运用了人工智能技术。
来源:RTL-SDR 软件无线电博客 原文:查看原文 (本文由本站自动翻译整理,版权归原作者及原发布机构所有,仅供学习交流,如涉版权请联系我们删除。)