După șase ani de la ultima lansare semnificativă lansare , o platformă deschisă de procesare a semnalelor digitale. GNU Radio este un set de programe și biblioteci care permit crearea de sisteme radio arbitrare, scheme de modulare și forme ale semnalelor primite și transmise, definite programatic, iar pentru captarea și generarea semnalelor se folosesc cea mai simplă echipamente hardware. Proiectul este furnizat sub licența GPLv3. Majoritatea componentelor GNU Radio sunt scrise în Python, iar părțile critice pentru performanță și latență sunt scrise în C++, ceea ce permite utilizarea pachetului în rezolvarea problemelor în timp real.
Împreună cu receptoarele și emitatoarele programabile universale, nelegate de banda de frecvență și de tipul de modulare a semnalului, platforma poate fi folosită pentru a crea dispozitive precum stații de bază pentru rețele GSM, dispozitive pentru citirea la distanță a etichetelor RFID (carte de identitate electronică și permise, carduri smart), receptoare GPS, WiFi, receptoare și emițătoare FM radio, decodoare TV, radare pasive, analizatoare de spectru etc. Pe lângă USRP, pachetul poate utiliza și alte componente hardware pentru intrarea și ieșirea semnalelor, cum ar fi drivere pentru plăci de sunet, tunere TV, dispozitive BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP și S-Mini.
De asemenea, este inclus un set de filtre, codecuri canal, module de sincronizare, demodulatori, egalizatoare, codecuri vocale, decodoare și alte elemente necesare pentru crearea sistemelor radio. Aceste elemente pot fi utilizate ca blocuri de construcție pentru formarea unui sistem finit, ceea ce, împreună cu capabilitățile de definiție a fluxurilor de date între blocuri, permite proiectarea sistemelor radio chiar și fără abilități de programare.
Modificări principale:
- S-a realizat trecerea la utilizarea standardului C++11 și a sistemului de construire CMake. Stilul codului a fost aliniat la clang-format;
- Printre dependențe se numără MPIR/GMP, Qt5, gsm și codec2. Au fost actualizate cerințele pentru versiunile dependențelor CMake, GCC, MSVC, Swig, Boost. Au fost eliminate din dependențe libusb, Qt4 și CppUnit;
- S-a asigurat compatibilitatea cu Python 3, următoarea ramură GNU Radio 3.8 va fi ultima cu suport pentru Python 2;
- În gnuradio-runtime a fost refăcută procesarea valorilor fracționare ale etichetelor „time” în contextul utilizării cu modulele de resampling;
- Interfața grafică (GNU Radio Companion) a fost adăugată suport opțional pentru generarea de cod în C++, formatul YAML a înlocuit XML, au fost eliminate blks2, instrumentele de lucru cu panoul au fost semnificativ îmbunătățite și a fost adăugat suport pentru săgeți rotunjite;
- Interfața grafică gr-qtgui a fost actualizată de la Qt4 la Qt5;
- În gr-utils, utilitarul gr_modtool a fost îmbunătățit semnificativ. Utilitarele bazate pe PyQwt au fost eliminate din pachet;
- Suportul pentru modulele gr-comedi, gr-fcd și gr-wxgui a fost oprit.
Sursa: opennet.ro
