Pagpagawas sa GNU Radio 3.10.0

Human sa usa ka tuig nga pag-uswag, usa ka bag-ong mahinungdanong pagpagawas sa libre nga digital signal processing platform nga GNU Radio 3.10 ang naporma. Ang plataporma naglakip sa usa ka hugpong sa mga programa ug mga librarya nga nagtugot kanimo sa paghimo og arbitraryong mga sistema sa radyo, modulasyon nga mga laraw ug ang porma sa nadawat ug gipadala nga mga signal diin gipiho sa software, ug ang pinakasimple nga hardware nga mga himan gigamit sa pagdakop ug pagmugna og mga signal. Ang proyekto giapod-apod ubos sa lisensya sa GPLv3. Ang code alang sa kadaghanan sa mga sangkap sa GNU Radio gisulat sa Python; ang mga bahin nga kritikal sa pasundayag ug latency gisulat sa C++, nga nagtugot sa package nga magamit kung masulbad ang mga problema sa tinuud nga oras.

Sa kombinasyon sa unibersal nga programmable transceiver nga wala mahigot sa frequency band ug matang sa signal modulation, ang plataporma mahimong gamiton sa paghimo og mga himan sama sa base stations para sa GSM networks, device alang sa hilit nga pagbasa sa RFID tags (electronic IDs and pass, smart card), GPS receiver, WiFi, FM radio receiver ug transmitters, TV decoder, passive radar, spectrum analyzer, ug uban pa. Dugang pa sa USRP, ang package mahimong mogamit sa ubang mga sangkap sa hardware alang sa input ug output sa mga signal, pananglitan, mga drayber alang sa mga sound card, TV tuner, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP ug S nga mga himan anaa -Mini.

Ang istruktura naglakip usab sa usa ka koleksyon sa mga filter, channel codec, synchronization modules, demodulators, equalizers, voice codecs, decoder ug uban pang mga elemento nga gikinahanglan sa paghimo sa mga sistema sa radyo. Kini nga mga elemento mahimong magamit ingon mga bloke sa pagtukod alang sa natapos nga sistema, nga, inubanan sa abilidad sa pagtino sa mga pag-agos sa datos tali sa mga bloke, nagtugot kanimo sa pagdesinyo sa mga sistema sa radyo bisan kung wala ang mga kahanas sa programming.

Panguna nga mga pagbag-o:

  • Usa ka bag-ong module gr-pdu ang gidugang, nga nagdala sa mga himan alang sa pagmaniobra sa mga butang nga adunay tipo nga PDU (Protocol Data Unit), nga gigamit alang sa datos nga gibalhin tali sa mga bloke sa GNU Radio. Gikan sa gr-blocks module, ang tanan nga PDU blocks gibalhin ngadto sa gr-network ug gr-pdu modules, ug imbes nga gr-blocks, usa ka layer ang nahabilin aron masiguro ang atraso nga pagkaangay. Ang mga tipo sa Vector PDU anaa na karon sa gr::types namespace, ug ang mga function para sa PDU manipulation anaa na sa gr::pdu namespace.
  • Nagdugang ug bag-ong module gr-iio, nga naghatag ug input/output framework para sa pag-organisar sa pagbayloay sa datos tali sa GNU Radio ug industriyal nga mga himan base sa IIO (Industrial I/O) subsystem, sama sa PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3 -EBZ, AD -FMCOMMS4-EBZ, ARRADIO ug AD-FMCOMMS5-EBZ.
  • Gisugyot ang eksperimento nga suporta alang sa klase sa Custom Buffer, nga nagpasayon ​​sa pagbalhin sa datos tali sa mga bloke sa GNU Radio ug mga hardware accelerators base sa GPU, FPGA ug DSP. Ang paggamit sa custom_buffer nagtugot kanimo sa paglikay sa pagsulat sa mga espesyal nga bloke aron mahimo ang pagpatulin sa kilid sa GPU ug mahimo nga posible nga direkta nga ibalhin ang datos gikan sa GNU Radio ring buffer ngadto sa GPU memory, ilunsad ang CUDA kernels ug ibalik ang datos uban ang resulta ngadto sa GNU Radio buffers.
  • Ang imprastraktura sa pag-log gibalhin sa paggamit sa librarya sa spdlog, nga nagpauswag sa pagkagamit sa pagtrabaho sa mga troso, giwagtang ang mga tawag sa iostream ug cstdio, naghatag suporta alang sa mga ekspresyon sa libfmt alang sa pag-format sa string, ug gi-moderno ang interface sa programa. Ang kanhi gigamit nga Log4CPP library gitangtang na isip dependency.
  • Ang transisyon nga gamiton sa pagpalambo sa C++17 nga sumbanan nahimo na. Ang boost :: filesystem library gipulihan sa std :: filesystem.
  • Dugang nga mga kinahanglanon alang sa mga compiler (GCC 9.3, Clang 11, MSVC 1916) ug dependencies (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, PyBind11 pygccxml 2.4.3).
  • Gidugang ang Python bindings alang sa RFNoC blocks.
  • Ang suporta alang sa Qt 6.2 gidugang sa mga bloke alang sa pagtukod sa gr-qtgui graphical interface. Gidugang ang "--output" nga kapilian alang sa hierarchical blocks sa GRC (GNU Radio Companion) GUI.

Source: opennet.ru

Idugang sa usa ka comment