Eldono de GNU Radio 3.10.0

Post jaro da evoluo, nova signifa eldono de la senpaga cifereca signal-prilabora platformo GNU Radio 3.10 formiĝis. La platformo inkluzivas aron de programoj kaj bibliotekoj, kiuj permesas krei arbitrajn radiosistemojn, moduladskemojn kaj la formon de ricevitaj kaj senditaj signaloj, en kiuj estas agordita programe, kaj la plej simplaj aparataj aparatoj estas uzataj por kapti kaj generi signalojn. La projekto estas distribuita sub la permesilo GPLv3. La kodo por la plej multaj el la GNU-Radio-komponentoj estas skribitaj en Python, la partoj kiuj estas kritikaj al rendimento kaj latenteco estas skribitaj en C ++, kio permesas la pakaĵon esti uzata dum solvado de problemoj en reala tempo.

En kombinaĵo kun universalaj programeblaj dissendiloj, kiuj ne estas ligitaj al la frekvenca bendo kaj speco de signalmodulado, la platformo povas esti uzata por krei aparatojn kiel bazstaciojn por GSM-retoj, aparatojn por fora legado de RFID-etikedoj (elektronikaj atestiloj kaj enirpermesiloj, inteligentaj kartoj). ), GPS-riceviloj, WiFi, FM-radiaj riceviloj kaj dissendiloj, televidaj malĉifriloj, pasivaj radaroj, spektro-analiziloj, ktp. Krom USRP, la pakaĵo povas uzi aliajn aparatajn komponantojn por signala enigo kaj eligo, ekzemple, ŝoforoj disponeblas por sonkartoj, televidaj sintoniloj, BladeRF-aparatoj, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP kaj S -Mini.

La strukturo ankaŭ inkluzivas kolekton de filtriloj, kanalkodekoj, sinkronigaj moduloj, demoduliloj, egaligiloj, voĉokodekoj, malĉifriloj kaj aliaj elementoj necesaj por krei radiosistemojn. Ĉi tiuj elementoj povas esti uzataj kiel konstrubriketoj por la finita sistemo, kiu, kombinita kun la kapablo determini datumfluojn inter blokoj, permesas vin desegni radiosistemojn eĉ sen programado.

Ĉefaj ŝanĝoj:

  • Nova gr-pdu-modulo estis aldonita, kiu alportas ilojn por manipuli objektojn kun la tipo PDU (Protocol Data Unit) uzata por datumoj transdonitaj inter GNU Radio-blokoj. De la modulo gr-blokoj, ĉiuj PDU-oj estis movitaj al la moduloj gr-reto kaj gr-pdu, kaj tavolo estis lasita anstataŭ gr-blokoj por certigi malantaŭan kongruecon. Vektoraj PDU-specoj nun estas haveblaj en la gr::types nomspaco, kaj PDU-manipuladfunkcioj en la gr::pdu nomspaco.
  • Nova gr-iio-modulo estis aldonita, kiu disponigas I/O-kadron por organizi datuman interŝanĝon inter GNU Radio kaj industriaj aparatoj bazitaj sur la subsistemo IIO (Industrial I/O), kiel PlutoSDR, AD-FMCOMMS2-EBZ, AD- FMCOMMS3-EBZ, AD -FMCOMMS4-EBZ, ARRADIO kaj AD-FMCOMMS5-EBZ.
  • Eksperimenta subteno por la Custom Buffer-klaso estis proponita, kiu simpligas datumtranslokigon inter GNU Radio-blokoj kaj hardvarakceliloj bazitaj sur GPU, FPGA kaj DSP. Uzi custom_buffer evitas skribi specialajn blokojn por ebligi akcelon ĉe la GPU-flanko kaj ebligas rekte movi datumojn de la ringbufro de GNU Radio al GPU-memoro, ruli CUDA-kernojn kaj resendi datumojn kun la rezulto al bufroj de GNU Radio.
  • La registra infrastrukturo estis transdonita al la uzo de la spdlog-biblioteko, kiu ebligis plibonigi la komforton labori kun protokoloj, forigi vokojn al iostream kaj cstdio, provizi subtenon por libfmt-esprimoj por kordformatado, kaj modernigi la programan interfacon. La antaŭe uzata biblioteko Log4CPP estis forigita de dependecoj.
  • La transiro por uzi en la evoluo de la C++ 17 normo estis farita. La biblioteko boost::filesystem estis anstataŭigita per std::filesystem.
  • Pliigitaj postuloj por kompililoj (GCC 9.3, Clang 11, MSVC 1916) kaj dependecoj (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, P11. pygccxml 2.4.3).
  • Aldonitaj Python-ligoj por RFNoC-blokoj.
  • Subteno por Qt 6.2 estis aldonita al la blokoj por konstrui la grafikan interfacon gr-qtgui. Aldonita "--eligo" opcio por hierarkiaj blokoj al la GRC (GNU Radio Companion) GUI.

fonto: opennet.ru

Aldoni komenton