用于 QRadioLink 模块的 GNU Radio OOT(out-of-tree)模块。
重要通知:此代码由AI生成。
此代码尚未经过专业程序员审查,它是一个大型项目。代码库中有可用的测试,请审查这些测试及其代码。
用于QRadioLink块的GNU Radio外部(OOT)模块。
分支 main: GNU Radio 3.10 OOT(CMake find_package(gnuradio))。实验性的GNU Radio 4移植版本位于分支**gnuradio4**(该分支上的README_gr4.md)。
代码导航: docs/CODE_MAP.md(文件、函数、块索引)。gr-ident ZMQ模式路由: docs/GRIDENT_ZMQ.md(在:5560端口上的gr-ident前导码)。
使用radio-modulation-validator(2026-05-31)检查了调制器块的参考IQ。总结:SOFT FAIL — 19个块中6个通过,13个软失败,0个硬失败,3个跳过。
所有测试模式均被识别为正确的调制族(FSK、PSK、AM、FM)。阶数级别的软失败(例如FSK被预测为CPFSK而不是4FSK或GMSK)反映了验证器阶数分类器的局限性,而不是这些调制器产生错误波形族的证据。
扫描使用内置参考IQ(而非构建的OOT块);结果适用于本README中main分支上列出的模式,并镜像在**gnuradio4**分支上。
完整的逐块结果:VALIDATION_REPORT.md
本项目在以下预印本中有所描述:
用于增强隐蔽通信的密码学密钥高斯分布扩频:设计、实现及ITU信道模型中的仿真性能
IACR Cryptology ePrint Archive,Paper 2025/108456
https://eprint.iacr.org/2025/108456
档案记录时间戳:2026年3月21日。
本模块提供了用于各种数字和模拟调制方案的GNU Radio块,专为业余无线电和数字语音通信设计。
本模块从QRadioLink应用程序转换而来,该应用程序是一个用于GNU Radio、ADALM-Pluto、LimeSDR、USRP和其他SDR硬件的多模式SDR收发机。原始源代码位于https://codeberg.org/qradiolink/qradiolink。
验证: 与QRadioLink相对应的转换块已针对原始QRadioLink源代码(分支next,codeberg.org/qradiolink/qradiolink)进行了验证,以确保流图、滤波器参数、缩放常数和块行为匹配。SSB和AM调制器/解调器链(包括CESSB结构和限幅器/拉伸器常数)已恢复以匹配原始版本,因为它们之前有所偏离。本模块中的某些块在QRadioLink的src/gr/中没有对应来源;其来源在下表中说明。
致谢和来源:
next,src/gr/一致):调制/解调(2FSK、4FSK、GMSK、BPSK、QPSK、AM、SSB、NBFM、WBFM)、数字语音(FreeDV、M17、DMR)及支持块(RSSI、M17解帧器、MMDVM源/宿、限幅器、拉伸器、zero_idle_bursts、gr_4fsk_discriminator、demod_mmdvm_multi、demod_mmdvm_multi2、mod_mmdvm_multi2)。这些块的DSP和模式行为源自或重新实现自QRadioLink应用程序。src/gr/中没有gr_*来源):8FSK、SOQPSK、CPM-4FSK、dPMR、NXDN、POCSAG、D-STAR、YSF、P25。其来源在下文的块来源表中给出。块来源(验证/归属):
| 块 | 来源 | 备注 |
|---|---|---|
| 2FSK、4FSK、GMSK、BPSK、QPSK、AM、SSB、NBFM、WBFM、FreeDV、M17、DMR | QRadioLink | 已验证与QRadioLink src/gr/(gr_demod_、gr_mod_)一致。 |
| MMDVM源/宿、demod_mmdvm_multi、demod_mmdvm_multi2、mod_mmdvm_multi2、RSSI、限幅器、拉伸器、zero_idle_bursts、gr_4fsk_discriminator | QRadioLink | 已验证与QRadioLink src/gr/一致。 |
| 8FSK | 为本模块实现 | QRadioLink中没有gr_demod_8fsk/gr_mod_8fsk。基于4FSK风格设计的扩展。 |
| SOQPSK | 为本模块实现 | QRadioLink中没有gr_demod_soqpsk/gr_mod_soqpsk。来自SOQPSK文献/规范。 |
| CPM-4FSK | 为本模块实现 | QRadioLink中没有gr_mod_cpm_4fsk。 |
| dPMR | 为本模块实现 | QRadioLink中没有gr_*。来自ETSI TS 102 658(测试向量和代码注释)。 |
| NXDN | 为本模块实现 | QRadioLink中没有gr_*。来自NXDN论坛规范;符号映射参考MMDVM惯例。 |
| POCSAG | 为本模块实现 | QRadioLink中没有gr_*。来自POCSAG/ITU-R M.584-2;协议与MMDVMHost兼容。 |
| D-STAR | 为本模块实现 | QRadioLink中没有gr_*。来自D-STAR/JARL规范(Golay FEC);与MMDVMHost兼容。 |
| YSF | 为本模块实现 | QRadioLink中没有gr_*。来自YSF协议文档;与MMDVMHost兼容。 |
| P25 | 为本模块实现 | QRadioLink中没有gr_*。来自P25 Phase 1 TIA-102;与MMDVMHost兼容。 |
| DSSS(基础) | QRadioLink | 已验证与QRadioLink gr_demod_dsss/gr_mod_dsss一致。 |
| DSSS(增强)、GDSS | 本模块 | DSSS:在QRadioLink基础之上的增强。GDSS:来自Shakeel等人,Sensors 2023。 |
| gr-ident ZMQ路由 | 本模块 | 与gr-ident前导码PUB互操作;非来自QRadioLink。 |
该代码已使用libFuzzer进行了广泛的模糊测试,超过1.04亿次执行,涉及多个块,未发现崩溃或内存泄漏。请参阅fuzzing-results/results.md了解覆盖率详情。