Seks år etter den forrige betydelige utgivelsen versjon , en gratis plattform for digital signalbehandling. GNU Radio er et sett med programmer og biblioteker som gjør det mulig å lage vilkårlige radiosystemer, modulasjonsdiagrammer og former for mottatte og sendte signaler som defineres via programvare, mens enkle maskinvareenheter brukes for å fange og generere signaler. Prosjektet er lisensiert under GPLv3. Koden til de fleste komponentene i GNU Radio er skrevet i Python, og deler som er kritiske for ytelse og latency, er skrevet i C++, noe som gjør at pakken kan brukes til å løse oppgaver i sanntid.
I kombinasjon med universelle programmerbare sendere og mottakere som ikke er bundet til frekvensbånd og signalmodulasjonstype, kan plattformen brukes til å lage enheter som basestasjoner for GSM-nettverk, enheter for fjernlesing av RFID-merker (elektroniske ID-er og kort, smartkort), GPS-mottakere, WiFi, FM-radio mottakere og sender, TV-dekodere, passive radarsystemer, spektrometre osv. I tillegg til USRP kan pakken bruke andre maskinvarekomponenter for inngang og utgang av signaler, som drivere for lydkort, TV-tunere, enheter som BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP og S-Mini.
Det er også inkludert en samling filtre, kanalkodekere, synkroniseringsmoduler, demodulatorer, equalizere, tale kodekere, dekodere og andre elementer som er nødvendige for å lage radiosystemer. De nevnte elementene kan brukes som byggesteiner for å sette sammen et ferdig system, noe som, sammen med muligheten for å definere datastreams mellom blokkene, gjør det mulig å designe radiosystemer selv uten programmeringsferdigheter.
Hovedendringer:
- Det har vært en overgang til bruk av C++11-standarden og byggesystemet CMake i utviklingen. Kode-stilen er tilpasset clang-format;
- Avhengighetene inkluderer MPIR/GMP, Qt5, gsm og codec2. Kravene til versjoner av avhengighetene CMake, GCC, MSVC, Swig, Boost har blitt oppdatert. libusb, Qt4, og CppUnit er fjernet fra avhengighetene;
- Kompatibilitet med Python 3 er sikret, den neste versjonen av GNU Radio 3.8 vil bli den siste som støtter Python 2;
- I gnuradio-runtime er behandling av desimaltall i «time»-tagger revidert i sammenheng med bruken sammen med moduler for nedskjæring;
- I det grafiske grensesnittet (GNU Radio Companion) er det lagt til valgfri støtte for generering av C++-kode, YAML-formatet er implementert i stedet for XML, blks2 er fjernet, verktøyene for arbeidet med lerretet er betydelig forbedret, og støtten for avrundede piler er lagt til;
- Det grafiske grensesnittet gr-qtgui er overført fra Qt4 til Qt5;
- I gr-utils er gr_modtool-verktøyet betydelig forbedret. Verktøy basert på PyQwt er fjernet fra settet;
- Støtten for modulene gr-comedi, gr-fcd og gr-wxgui er opphørt.
Kilde: opennet.ru
