Dopo sei anni dall'ultimo rilascio significativo rilascio , una piattaforma libera per l'elaborazione digitale dei segnali. GNU Radio è un insieme di programmi e librerie che consentono di creare sistemi radio personalizzati, con schemi di modulazione e forme dei segnali ricevuti e inviati definite tramite software; si utilizzano dispositivi hardware semplici per la cattura e la generazione dei segnali. Il progetto è rilasciato sotto licenza GPLv3. La maggior parte dei componenti di GNU Radio è scritta in Python, mentre le parti critiche per le prestazioni e la latenza sono scritte in C++, consentendo di utilizzare il pacchetto per applicazioni in tempo reale.
In combinazione con trasmettitori e ricevitori universali programmabili, non legati a bande di frequenza e tipo di modulazione del segnale, la piattaforma può essere utilizzata per creare dispositivi come stazioni base per reti GSM, dispositivi per la lettura remota delle etichette RFID (documenti elettronici e pass, smart card), ricevitori GPS, WiFi, ricevitori e trasmettitori FM, decoder TV, radar passivi, analizzatori spettrali e altro. Oltre a USRP, il pacchetto può utilizzare altri componenti hardware per l’ingresso e l’uscita dei segnali, ad esempio, driver per schede audio, sintonizzatori TV, dispositivi BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP e S-Mini.
Include anche una collezione di filtri, codec di canale, moduli di sincronizzazione, demodulatori, equalizzatori, codec vocali, decoder e altri elementi necessari per la creazione di sistemi radio. Gli elementi indicati possono essere utilizzati come mattoncini per assemblare un sistema completo, il che, unito alle capacità di definire flussi di dati tra i blocchi, consente di progettare sistemi radio anche senza abilità di programmazione.
Principali modifiche:
- È stato effettuato il passaggio all'utilizzo della versione C++11 e del sistema di build CMake. Lo stile del codice è stato allineato a clang-format;
- Tra le dipendenze sono inclusi MPIR/GMP, Qt5, gsm e codec2. Aggiornati i requisiti delle versioni delle dipendenze CMake, GCC, MSVC, Swig, Boost. Rimosse dalle dipendenze libusb, Qt4 e CppUnit;
- È stata garantita la compatibilità con Python 3; la prossima versione di GNU Radio 3.8 sarà l'ultima con supporto per Python 2;
- In gnuradio-runtime, the handling of fractional tag values for "time" has been revamped in the context of its application with resampling modules;
- In the graphical interface (GNU Radio Companion) optional support for C++ code generation has been added, YAML format is used instead of XML, blks2 has been removed, the canvas tools have been significantly improved, and support for rounded arrows has been added;
- The gr-qtgui graphical interface has been migrated from Qt4 to Qt5;
- In gr-utils, the gr_modtool utility has been significantly improved. Utilities based on PyQwt have been removed;
- Support for gr-comedi, gr-fcd, and gr-wxgui modules has been discontinued.
Fonte: opennet.ru
