Utgivning av GNU Radio 3.10.0

Efter ett års utveckling har en ny betydande version av den kostnadsfria digitala signalbehandlingsplattformen GNU Radio 3.10 bildats. Plattformen innehåller en uppsättning program och bibliotek som låter dig skapa godtyckliga radiosystem, moduleringsscheman och formen av mottagna och skickade signaler som specificeras i programvaran, och de enklaste hårdvaruenheterna används för att fånga och generera signaler. Projektet distribueras under GPLv3-licensen. Koden för de flesta komponenterna i GNU Radio är skriven i Python; delar som är kritiska för prestanda och latens är skrivna i C++, vilket gör att paketet kan användas för att lösa problem i realtid.

I kombination med universella programmerbara sändtagare som inte är bundna till frekvensbandet och typen av signalmodulering kan plattformen användas för att skapa enheter som basstationer för GSM-nätverk, enheter för fjärravläsning av RFID-taggar (elektroniska ID och pass, smart kort), GPS-mottagare, WiFi, FM-radiomottagare och -sändare, TV-avkodare, passiva radar, spektrumanalysatorer, etc. Förutom USRP kan paketet använda andra hårdvarukomponenter för in- och utmatning av signaler, till exempel drivrutiner för ljudkort, TV-tuners, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP och S-enheter finns tillgängliga -Mini.

Den innehåller också en samling filter, kanalkodekar, synkroniseringsmoduler, demodulatorer, utjämnare, röstkodekar, avkodare och andra element som är nödvändiga för att skapa radiosystem. Dessa element kan användas som byggstenar för att sätta ihop ett färdigt system, vilket i kombination med förmågan att bestämma dataflöden mellan block gör att du kan designa radiosystem även utan programmeringskunskaper.

Huvudändringar:

  • En ny modul gr-pdu har lagts till, som bär verktyg för att manipulera objekt av typen PDU (Protocol Data Unit), som används för data som överförs mellan GNU Radio-block. Från gr-blocks-modulen har alla PDU-block flyttats till gr-network och gr-pdu-modulerna, och istället för gr-blocks har ett lager lämnats för att säkerställa bakåtkompatibilitet. Vektor-PDU-typer är nu tillgängliga i gr::types-namnrymden, och funktioner för PDU-manipulation är nu tillgängliga i gr::pdu-namnrymden.
  • Lade till en ny modul gr-iio, som tillhandahåller ett in-/utgångsramverk för att organisera datautbyte mellan GNU Radio och industriella enheter baserade på IIO (Industrial I/O) subsystem, såsom PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3 -EBZ, AD -FMCOMMS4-EBZ, ARRADIO och AD-FMCOMMS5-EBZ.
  • Experimentellt stöd för Custom Buffer-klassen har föreslagits, vilket förenklar dataöverföring mellan GNU Radio-block och hårdvaruacceleratorer baserade på GPU, FPGA och DSP. Genom att använda custom_buffer kan du undvika att skriva speciella block för att möjliggöra acceleration på GPU-sidan och gör det möjligt att direkt flytta data från GNU Radio-ringbufferten till GPU-minnet, starta CUDA-kärnor och returnera data med resultatet till GNU Radio-buffertarna.
  • Loggningsinfrastrukturen har bytts till att använda spdlog-biblioteket, vilket har förbättrat användbarheten att arbeta med loggar, eliminerat anrop till iostream och cstdio, gett stöd för libfmt-uttryck för strängformatering och moderniserat programgränssnittet. Det tidigare använda Log4CPP-biblioteket har tagits bort som ett beroende.
  • Övergången till användning i utvecklingen av C++17-standarden har gjorts. Boost::filesystem-biblioteket har ersatts av std::filesystem.
  • Ökade krav på kompilatorer (GCC 9.3, Clang 11, MSVC 1916) och beroenden (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, Py11.ind, Py2.4.3.ind pygccxml 2.0.0).
  • Lade till Python-bindningar för RFNoC-block.
  • Stöd för Qt 6.2 har lagts till i blocken för att bygga det grafiska gränssnittet gr-qtgui. Lade till "--output"-alternativ för hierarkiska block till GRC (GNU Radio Companion) GUI.

Källa: opennet.ru

Lägg en kommentar