Six years after the last significant release release , a free platform for digital signal processing. GNU Radio is a collection of programs and libraries that allow the creation of arbitrary radio systems, modulations, and the shaping of received and transmitted signals, which are defined programmatically, while simple hardware devices are used for signal capture and generation. The project is licensed under GPLv3. Most of the components of GNU Radio are written in Python, while performance-critical and latency-sensitive parts are implemented in C++, allowing the package to be used for real-time processing tasks.
In combination with universal programmable transceivers, independent of frequency bands and signal modulation types, the platform can be used to create devices such as base stations for GSM networks, RFID tag readers (electronic ID cards and passes, smart cards), GPS receivers, WiFi, FM radio receivers and transmitters, TV decoders, passive radars, spectral analyzers, etc. Besides USRP, the package can also use other hardware components for signal input and output, such as drivers for sound cards, TV tuners, BladeRF devices, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP, and S-Mini.
It also includes a collection of filters, channel codecs, synchronization modules, demodulators, equalizers, voice codecs, decoders, and other elements necessary for building radio systems. These elements can be used as building blocks for assembling a complete system, which, combined with the ability to define data flows between blocks, enables the design of radio systems even without programming skills.
Key Changes:
- The transition to using C++11 standard and CMake build system has been made in the development. The code style has been aligned with clang-format;
- Dependencies include MPIR/GMP, Qt5, gsm and codec2. Updated version requirements for dependencies CMake, GCC, MSVC, Swig, Boost. Removed dependencies libusb, Qt4, and CppUnit;
- Compatibility with Python 3 has been ensured; the next branch of GNU Radio 3.8 will be the last with support for Python 2.
- In gnuradio-runtime, the processing of fractional tag values for "time" has been restructured in the context of 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, significantly improved canvas tools, 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 from the package.
- Support for the gr-comedi, gr-fcd, and gr-wxgui modules has been discontinued.
Source: opennet.ru
