工具

gr-lora LoRa 物理层解码模块

由 Pieter Robyns 等人开发的 GNU Radio 树外模块,借助软件定义无线电接收并解码 LoRa 物理层帧,实现了专利和博客文章中描述的调制特性。其接收器先对输入进行信道化,检测 LoRa 线性调频信号并与之同步、校正时钟漂移,再经格雷映射、解交织、去白化和汉明译码把符号还原为报头和载荷字节;消息套接字汇点可把结果通过 UDP 端口 40868 转发。附带的流图可解码录制的信号或实时采集的信号,README 列出 HackRF One、USRP B201、RTL-SDR 和 LimeSDR 为经过测试的接收设备。

目标
协议
类别
协议分析工具
关联
基础工具
来源复核于

使用条件与局限

  • master 分支最新提交(2021-12-10)合并了向 GNU Radio 3.9 的移植:CMake 要求 GNU Radio 3.9,Python 绑定改用 pybind11,库链接 liquid-dsp 和 log4cpp。README 未随移植更新,仍列出 Python 2、SWIG 和 wx 依赖,其 Docker 镜像在未固定版本的 Arch Linux 基础镜像上安装 python2 软件包;Travis CI 配置构建的是 GNU Radio maint-3.8。gr3.7 分支保留了旧代码;所审来源未涉及 GNU Radio 3.10 及更高版本。
  • 输入为来自 SDR 或录制文件的 IQ 采样。接收器模块的采样率、中心频率、信道列表、带宽、扩频因子、编码率、隐式报头、CRC 和低速率模式等参数必须与发射端一致。apps/lora_receive_file_nogui.py 可从作者所在大学的服务器下载一段 868.1 MHz、SF7 的示例信号,更多信号样本见独立的 gr-lora-samples 仓库。README 列出 LoPy、Dragino HAT、Adafruit Feather 32u4、Microchip RN2483 和 SX1276 板卡为经过测试的发射设备。
  • README 说明不校验载荷和报头的 CRC,也不能同时解码多个信道;其更新日志把 0.7 版的下行链路、隐式报头低速率模式和任意带宽支持标为实验性功能。最新的版本标签是 v0.6.2,因此 0.7 版只存在于 master 分支。docs/test-results 收录了作者在移植期间于 2021-12-01 重新运行测试集得到的解码率,例如短 USRP 信号样本为 100%;作者还认为自 0.6 版起 LoRa 已被完全逆向,理由是信号清晰时解码准确率接近 100%。这些都是作者报告的结果。
  • GPL-3.0(LICENSE)。README 请研究用户引用 Zenodo 记录 10.5281/zenodo.853201。它只涉及 LoRa 物理层,未提及 LoRaWAN。所审来源未提及任何 AI 或 REA 用途,本条目也未构建或运行该模块。

关于此条目

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · rpp0/gr-lora · 修订 90343d4
  2. CMakeLists.txt GitHub · rpp0/gr-lora · 修订 90343d4
  3. lib/CMakeLists.txt GitHub · rpp0/gr-lora · 修订 90343d4
  4. grc/lora_receiver.block.yml GitHub · rpp0/gr-lora · 修订 90343d4
  5. lib/decoder_impl.cc GitHub · rpp0/gr-lora · 修订 90343d4
  6. apps/lora_receive_file_nogui.py GitHub · rpp0/gr-lora · 修订 90343d4
  7. docker/Dockerfile GitHub · rpp0/gr-lora · 修订 90343d4
  8. .travis.yml GitHub · rpp0/gr-lora · 修订 90343d4
  9. docs/test-results GitHub · rpp0/gr-lora · 修订 90343d4
  10. LICENSE GitHub · rpp0/gr-lora · 修订 90343d4

同分区更多条目:协议

协议分区全部 66 项资源