Efter seks år siden den sidste betydelige udgivelse udgivelse , en open source platform for digital signalbehandling. GNU Radio er et sæt af programmer og biblioteker, der gør det muligt at skabe vilkårlige radiosystemer, modulationsskemaer og former for modtagne og sendte signaler, der defineres programmæssigt, mens enkle hardwareenheder anvendes til at indfange og generere signaler. Projektet er under GPLv3-licens. Størstedelen af komponenterne i GNU Radio er skrevet i Python, mens de dele, der er kritiske for ydeevne og latency, er skrevet i C++, hvilket muliggør brugen af pakken til realtidsopgaver.
I kombination med universelle programmérbare sender/mottagere, der ikke er bundet til bestemte frekvensbånd eller signalmodulation, kan platformen bruges til at skabe enheder som basestationer til GSM-netværk, enheder til brug af RFID-tags (elektroniske ID-kort og adgangskort, smartkort), GPS-modtagere, WiFi, FM-radio modtagere og transmittere, TV-dekodere, passive radarsystemer, spektrumanalysatorer mv. Foruden USRP kan pakken også anvende andre hardwarekomponenter til input og output af signaler, såsom drivere til lydkort, TV-tunere, BladeRF-enheder, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP og S-Mini.
Der medfølger også en samling filtre, kanalkodere, synkroniseringsmoduler, demodulatorer, equalizere, tale-kodere, dekodere og andre elementer, der er nødvendige for at lave radiosystemer. De nævnte elementer kan bruges som byggesten til at samle et færdigt system, hvilket sammen med mulighederne for at definere datastreams mellem blokke, tillader design af radiosystemer selv uden programmeringsfærdigheder.
Vigtige ændringer:
- Der er sket et skifte til brugen af C++11-standarden under udviklingen og byggeredskabet CMake. Koden er blevet tilpasset til clang-format;
- Afhængighederne inkluderer MPIR/GMP, Qt5, gsm og codec2. Kravene til versionerne af afhængighederne CMake, GCC, MSVC, Swig, Boost er blevet opdateret. libusb, Qt4 og CppUnit er blevet fjernet fra afhængighederne;
- Kompatibiliteten med Python 3 er blevet sikret, næste version af GNU Radio 3.8 vil være den sidste, der understøtter Python 2;
- I gnuradio-runtime er behandlingen af flydende værdier i tags "time" blevet revideret i forhold til anvendelsen med resamplingmoduler;
- I den grafiske brugergrænseflade (GNU Radio Companion) er der tilføjet valgfri support til generering af C++-kode, i stedet for XML anvendes YAML-formatet, blks2 er fjernet, værktøjer til arbejde med lærredet er betydeligt forbedret, og der er tilføjet support til afrundede pile;
- Den grafiske brugergrænseflade gr-qtgui er blevet opgraderet fra Qt4 til Qt5;
- I gr-utils er gr_modtool blevet betydeligt forbedret. Redskaber baseret på PyQwt er blevet fjernet.
- Understøttelse af modulerne gr-comedi, gr-fcd og gr-wxgui er ophørt.
Kilde: opennet.ru
