Udgivelse af GNU Radio 3.10.0

Efter et års udvikling er en ny betydelig version af den frie platform til digital signalbehandling GNU Radio 3.10 blevet formet. Platformen omfatter et sæt programmer og biblioteker, der gør det muligt at skabe forskellige radiosystemer, moduleringstyper og former for modtagne og sendte signaler, som programmeres, mens de simpleste hardwareenheder anvendes til at fange og generere signaler. Projektet distribueres under GPLv3-licensen. Størstedelen af komponenterne i GNU Radio er skrevet i Python, mens dele, der er kritiske for ydeevne og forsinkelse, er skrevet i C++, hvilket muliggør brug af pakken til at løse opgaver i realtid.

I kombination med universelle programmerbare modtagere og sendere, der ikke er bundet til nogen frekvensbånd eller modulationsform, kan platformen bruges til at skabe enheder som basestationer til GSM-netværk, enheder til fjernlæsning af RFID-tags (elektroniske legitimationskort og adgangskort, smartkort), GPS-modtagere, WiFi, FM-radiomodtagere og -sendere, tv-dekodere, passive radars, spektrometer og lignende. Udover USRP kan pakken også bruge andre hardwarekomponenter til input og output af signaler, f.eks. er der tilgængelige 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 tilføjet en ny modul gr-pdu, som indeholder værktøjer til at manipulere objekter af typen PDU (Protocol Data Unit), der anvendes til data, der overføres mellem blokke i GNU Radio. Fra modulet gr-blocks er alle PDU-blokke flyttet til modulerne gr-network og gr-pdu, mens der efterlades et lag for at sikre bagudkompatibilitet. Vektortyperne PDU er nu tilgængelige i navneområdet gr::types, og funktionerne til manipulation af PDU findes i navneområdet gr::pdu.
  • Der nye gr-iio modul er tilføjet, hvilket giver en input/output-ramme til at organisere datakommunikation mellem GNU Radio og industrielle enheder baseret på IIO (Industrial I/O) subsystemer som PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3-EBZ, AD-FMCOMMS4-EBZ, ARRADIO og AD-FMCOMMS5-EBZ.
  • Der er foreslået eksperimentel understøttelse af klassen Custom Buffer, der forenkler dataoverførsel mellem GNU Radio-blokke og hardwareacceleratorer baseret på GPU, FPGA og DSP. Brug af custom_buffer gør det muligt at undgå at skrive specielle blokke for at udnytte acceleration på GPU-siden og giver mulighed for direkte at flytte data fra GNU Radios ringbuffer til GPU's hukommelse, køre CUDA-kerner og returnere data med resultater til GNU Radios buffere.
  • Infrastrukturen til logføring er overgået til at bruge spdlog-biblioteket, hvilket har forbedret brugervenligheden med logs, fjernet behovet for at anvende iostream og cstdio, sikret understøttelse af libfmt-udtryk til strækningsformatering og moderniseret API'en. Det tidligere anvendte Log4CPP-bibliotek er fjernet fra afhængighederne.
  • Overgangen til at udvikle med C++17-standarden er gennemført. Biblioteket boost::filesystem er blevet erstattet med std::filesystem.
  • Kravene til compilere (GCC 9.3, Clang 11, MSVC 1916) og afhængigheder (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, PyBind11 2.4.3, pygccxml 2.0.0) er blevet forøget.
  • Der er tilføjet Python-bindings til RFNoC-blokke.
  • I gr-qtgui-blokke er der tilføjet understøttelse af Qt 6.2. I GRC (GNU Radio Companion) interface er der tilføjet en "—output" mulighed for hierarkiske blokke.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster