
GNU Radio out-of-tree (OOT) Modul für QRadioLink Blöcke.
WICHTIGER HINWEIS: Dies ist KI-generierter Code.
Dieser Code wurde nicht von professionellen Programmierern überprüft, es ist eine große Aufgabe. Es sind Tests im Codebase verfügbar, bitte überprüfen Sie diese und ihren Code.
GNU Radio Out-of-Tree (OOT)-Modul für QRadioLink-Blöcke.
Branch main: GNU Radio 3.10 OOT (CMake find_package(gnuradio)). Der experimentelle GNU Radio 4-Port befindet sich im Branch gnuradio4 (README_gr4.md auf diesem Branch).
Code-Navigation: docs/CODE_MAP.md (Dateien, Funktionen, Blockindex). gr-ident ZMQ-Modus-Routing: docs/GRIDENT_ZMQ.md (gr-ident Präambel auf :5560).
Referenz-IQ für Modulatorblöcke wurde mit radio-modulation-validator (2026-05-31) überprüft. Zusammenfassung: SOFT FAIL — 6/19 Blöcke bestanden, 13 Soft Fail, 0 Hard Fail, 3 übersprungen.
Alle getesteten Modi wurden der korrekten Modulationsfamilie (FSK, PSK, AM, FM) zugeordnet. Softwarefehler auf Ordnungsebene (z.B. FSK als CPFSK statt 4FSK oder GMSK vorhergesagt) spiegeln die Grenzen des Ordnungsklassifikators des Validators wider, nicht den Nachweis, dass diese Modulatoren die falsche Wellenformfamilie erzeugen.
Der Scan verwendet integriertes Referenz-IQ (nicht eingebaute OOT-Blöcke); die Ergebnisse gelten für die in diesem README auf main aufgeführten Modi und werden auf gnuradio4 gespiegelt.
Vollständige Ergebnisse pro Block: VALIDATION_REPORT.md
Dieses Projekt ist in folgendem Preprint dokumentiert:
Cryptographically Keyed Gaussian-Distributed Spread-Spectrum for Enhanced Covert Communications: Design, Implementation, and Simulated Performance in ITU Channel Models IACR Cryptology ePrint Archive, Paper 2025/108456 https://eprint.iacr.org/2025/108456
Archivierungszeitstempel: 21. März 2026.
Dieses Modul bietet GNU-Radio-Blöcke für verschiedene digitale und analoge Modulationsverfahren, spezialisiert auf Amateurfunk und digitale Sprachkommunikation.
Dieses Modul wurde aus der QRadioLink-Anwendung konvertiert, einem Multimode-SDR-Transceiver für GNU Radio, ADALM-Pluto, LimeSDR, USRP und andere SDR-Hardware. Der ursprüngliche Quellcode befindet sich unter https://codeberg.org/qradiolink/qradiolink.
Validierung: Konvertierte Blöcke, die ein Gegenstück in QRadioLink haben, wurden gegen die ursprüngliche QRadioLink-Quelle (Branch next, codeberg.org/qradiolink/qradiolink) validiert, sodass Flowgraphs, Filterparameter, Skalierungskonstanten und Blockverhalten übereinstimmen. SSB- und AM-Modulator-/Demodulator-Ketten (einschließlich CESSB-Struktur und Clipper-/Stretcher-Konstanten) wurden wiederhergestellt, um dem Original zu entsprechen, wo sie abgewichen waren. Einige Blöcke in diesem Modul haben keine entsprechende Quelle in QRadioLinks src/gr/; ihr Ursprung ist in der folgenden Tabelle angegeben.
Quellenangabe und Ursprung:
next, src/gr/): Modulation/Demodulation (2FSK, 4FSK, GMSK, BPSK, QPSK, AM, SSB, NBFM, WBFM), digitale Sprachübertragung (FreeDV, M17, DMR) und unterstützende Blöcke (RSSI, M17-Deframer, MMDVM-Source/Sink, Clipper, Stretcher, zero_idle_bursts, gr_4fsk_discriminator, demod_mmdvm_multi, demod_mmdvm_multi2, mod_mmdvm_multi2). Das DSP- und Modusverhalten dieser Blöcke wurden von der QRadioLink-Anwendung abgeleitet oder daraus neu implementiert.gr_*-Quelle in QRadioLink src/gr/): 8FSK, SOQPSK, CPM-4FSK, dPMR, NXDN, POCSAG, D-STAR, YSF, P25. Ihr Ursprung ist in der folgenden Tabelle zum Blockursprung angegeben.Blockursprung (Validierung / Zuordnung):
| Block(s) | Ursprung | Anmerkungen |
|---|---|---|
| 2FSK, 4FSK, GMSK, BPSK, QPSK, AM, SSB, NBFM, WBFM, FreeDV, M17, DMR | QRadioLink | Valid gegen QRadioLink src/gr/ (gr_demod_, gr_mod_). |
| MMDVM source/sink, demod_mmdvm_multi, demod_mmdvm_multi2, mod_mmdvm_multi2, RSSI, clipper, stretcher, zero_idle_bursts, gr_4fsk_discriminator | QRadioLink | Valid gegen QRadioLink src/gr/. |
| 8FSK | Für dieses Modul implementiert | Kein gr_demod_8fsk/gr_mod_8fsk in QRadioLink. Erweiterung des 4FSK-Designs. |
| SOQPSK | Für dieses Modul implementiert | Kein gr_demod_soqpsk/gr_mod_soqpsk in QRadioLink. Aus SOQPSK-Literatur/-Spezifikationen. |
| CPM-4FSK | Für dieses Modul implementiert | Kein gr_mod_cpm_4fsk in QRadioLink. |
| dPMR | Für dieses Modul implementiert | Kein gr_* in QRadioLink. Aus ETSI TS 102 658 (Testvektoren und Codekommentare). |
| NXDN | Für dieses Modul implementiert | Kein gr_* in QRadioLink. Aus NXDN-Forum-Spezifikationen; Symbolmapping verweist auf MMDVM-Konvention. |
| POCSAG | Für dieses Modul implementiert | Kein gr_* in QRadioLink. Aus POCSAG/ITU-R M.584-2; Protokoll kompatibel mit MMDVMHost. |
| D-STAR | Für dieses Modul implementiert | Kein gr_* in QRadioLink. Aus D-STAR/JARL-Spezifikation (Golay-FEC); kompatibel mit MMDVMHost. |
| YSF | Für dieses Modul implementiert | Kein gr_* in QRadioLink. Aus YSF-Protokoll-Dokumentation; kompatibel mit MMDVMHost. |
| P25 | Für dieses Modul implementiert | Kein gr_* in QRadioLink. Aus P25 Phase 1 TIA-102; kompatibel mit MMDVMHost. |
| DSSS (Basis) | QRadioLink | Valid gegen QRadioLink gr_demod_dsss/gr_mod_dsss. |
| DSSS (Erweiterungen), GDSS | Dieses Modul | DSSS: Erweiterungen auf Basis von QRadioLink. GDSS: von Shakeel et al., Sensors 2023. |
| gr-ident ZMQ-Routing | Dieses Modul | Interop mit gr-ident Präambel PUB; nicht von QRadioLink. |
Der Code wurde mit libFuzzer umfassend getestet, mit über 104 Millionen Ausführungen über mehrere Blöcke hinweg, und es wurden keine Abstürze oder Speicherlecks festgestellt. Siehe fuzzing-results/results.md für Details zur Abdeckung.