Sono passati sei anni dall'ultima significativa uscita il rilascio , una piattaforma open source per l'elaborazione digitale dei segnali. GNU Radio consiste in un insieme di programmi e librerie che consentono di creare sistemi radio personalizzati, schemi di modulazione e forme dei segnali ricevuti e trasmessi programmabili, con l'uso di semplici dispositivi hardware per la cattura e la generazione dei segnali. Il progetto è distribuito con licenza GPLv3. La maggior parte dei componenti di GNU Radio è scritta in Python; le parti critiche per le prestazioni e il tempo di latenza sono scritte in C++, permettendo di utilizzare il pacchetto per risolvere problemi in tempo reale.
In combinazione con ricevitori e trasmettitori programmabili universali, indipendenti dalla banda di frequenze e dal tipo di modulazione del segnale, la piattaforma può essere utilizzata per creare dispositivi come stazioni base per reti GSM, dispositivi di lettura a distanza di etichette RFID (documenti elettronici e pass, carte smart), ricevitori GPS, WiFi, ricevitori e trasmettitori FM, decoder TV, radar passivi, analizzatori spettrali, ecc. Oltre agli USRP, il pacchetto può utilizzare anche altri componenti hardware per l'ingresso e l'uscita dei segnali, come driver per schede audio, sintonizzatori TV, dispositivi BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP e S-Mini.
Include anche una raccolta di filtri, codec di canale, moduli di sincronizzazione, demodulatori, equalizzatori, codec vocali, decoder e altri elementi necessari per costruire sistemi radio. Gli elementi specificati possono essere utilizzati come mattoni per assemblare un sistema completo, il che, combinato con le capacità di definire i flussi di dati tra i blocchi, consente di progettare sistemi radio anche senza competenze di programmazione.
Variazioni principali:
- È stato effettuato il passaggio all'utilizzo del linguaggio standard C++11 e del sistema di build CMake. Lo stile del codice è stato adeguato a clang-format;
- Le dipendenze includono MPIR/GMP, Qt5, gsm e codec2. Aggiornati i requisiti di versione per le dipendenze CMake, GCC, MSVC, Swig, Boost. Rimosse dalle dipendenze libusb, Qt4 e CppUnit;
- È stata assicurata la compatibilità con Python 3; la prossima versione di GNU Radio 3.8 sarà l'ultima con supporto per Python 2;
- In gnuradio-runtime è stata rielaborata la gestione dei valori frazionari dei tag «time» nel contesto dell'uso con i moduli di risampling;
- Nell'interfaccia grafica (GNU Radio Companion) è stata aggiunta la compatibilità opzionale per la generazione di codice in C++, al posto di XML è stato utilizzato il formato YAML, blks2 è stato rimosso, gli strumenti per il lavoro con il canvas sono stati notevolmente migliorati e sono stati aggiunti supporto per frecce arrotondate;
- L'interfaccia grafica gr-qtgui è stata migrata da Qt4 a Qt5;
- In gr-utils è stata notevolmente migliorata l'utilità gr_modtool. Sono state rimosse le utilità basate su PyQwt;
- È stata interrotta la supporto per i moduli gr-comedi, gr-fcd e gr-wxgui.
Fonte: opennet.ru
