Zes jaar na de laatste significante release release , een vrij platform voor digitale signaalverwerking. GNU Radio is een set programma's en bibliotheken die het mogelijk maken om willekeurige radiosystemen te creƫren, modulatieschema's en de vorm van ontvangen en verzonden signalen die programmatisch zijn ingesteld, waarbij eenvoudige hardware apparaten worden gebruikt voor het vastleggen en genereren van signalen. Het project is gelicentieerd onder GPLv3. De meeste onderdelen van GNU Radio zijn geschreven in Python, terwijl performance- en latentie-kritische delen zijn geschreven in C++, wat het mogelijk maakt om het pakket te gebruiken voor real-time toepassingen.
In combinatie met universele programmeerbare zenders en ontvangers, die niet gebonden zijn aan frequentiebanden of type signalen, kan het platform worden gebruikt om apparaten te creƫren zoals basisstations voor GSM-netwerken, apparaten voor het draadloos uitlezen van RFID-tags (elektronische identificatie en toegangskaarten, smartcards), GPS-ontvangers, WiFi, FM-radiozenders en -ontvangers, TV-decoders, passieve radars, spectrale analyzers, enz. Naast USRP kan het pakket ook andere hardwarecomponenten gebruiken voor het invoeren en afspelen van signalen, zoals drivers voor geluidskaarten, TV-tuners, BladeRF-apparaten, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP en S-Mini.
Ook bevat het een verzameling filters, kanaalcodecs, synchronisatied modules, demodulatoren, equalizers, spraakcodecs, decoders en andere noodzakelijke elementen voor het bouwen van radiosystemen. De genoemde elementen kunnen worden gebruikt als bouwstenen voor het samenstellen van een compleet systeem, wat in combinatie met de mogelijkheden voor het definiƫren van datastromen tussen blokken het mogelijk maakt om radiosystemen te ontwerpen zonder programmeerkennis.
Belangrijkste wijzigingen:
- Er is overgestapt op de ontwikkeling met standaard C++11 en het bouwsysteem CMake. De coding stijl is in overeenstemming gebracht met clang-format;
- Onder de afhankelijkheden zijn MPIR/GMP, Qt5, gsm en codec2 opgenomen. De versie-eisen voor CMake, GCC, MSVC, Swig en Boost zijn bijgewerkt. libusb, Qt4 en CppUnit zijn uit de afhankelijkheden verwijderd;
- Compatibiliteit met Python 3 is gewaarborgd, de volgende versie van GNU Radio 3.8 zal de laatste zijn die ondersteuning voor Python 2 biedt;
- In gnuradio-runtime is de verwerking van decimale waarden van de tijd-tags opnieuw ontworpen in de context van gebruik met decimatiemodules;
- In de grafische interface (GNU Radio Companion) is optionele ondersteuning toegevoegd voor het genereren van C++-code, in plaats van XML is het YAML-formaat gebruikt, blks2 is verwijderd, de hulpmiddelen voor canvasbewerking zijn aanzienlijk verbeterd en ondersteuning voor afgeronde pijlen is toegevoegd;
- De grafische interface gr-qtgui is overgezet van Qt4 naar Qt5;
- In gr-utils is de utiliteit gr_modtool aanzienlijk verbeterd. Utiliteiten op basis van PyQwt zijn uit de set verwijderd.
- De ondersteuning voor de gr-comedi, gr-fcd en gr-wxgui modules is beƫindigd.
Bron: opennet.ru
