Rilascio di GNU Radio 3.10.0

Dopo un anno di sviluppo, è stata formata una nuova e significativa release della piattaforma open source per l'elaborazione dei segnali digitali GNU Radio 3.10. La piattaforma include un insieme di programmi e librerie che permettono di creare sistemi radio arbitrarî, schemi di modulazione e forme di segnali inviati e ricevuti impostati tramite software, e per la cattura e generazione dei segnali si utilizzano i più semplici dispositivi hardware. Il progetto è distribuito con licenza GPLv3. La maggior parte dei componenti di GNU Radio è scritta in Python, mentre le parti critiche rispetto alle prestazioni e ai tempi di latenza sono scritte in C++, consentendo l'utilizzo del pacchetto per la risoluzione di compiti in tempo reale.

In combinazione con trasmettitori e ricevitori programmabili universalmente, non legati a bande di frequenza o tipo di modulazione del segnale, la piattaforma può essere utilizzata per creare dispositivi come stazioni base per reti GSM, dispositivi per la lettura remota di etichette RFID (documenti elettronici e pass, smart card), ricevitori GPS, WiFi, ricevitori e trasmettitori di radio FM, decoder TV, radar passivi, analizzatori spettrali, ecc. Oltre a USRP, il pacchetto può utilizzare anche altri componenti hardware per l'input e l'output dei segnali, come sono disponibili driver per schede audio, tuner TV, dispositivi BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP e S-Mini.

Include anche una raccolta di filtri, codec di canale, moduli di sincronizzazione, demodulatori, equalizzatori, codec vocali, decoder e altri elementi necessari per costruire sistemi radio. Gli elementi specificati possono essere utilizzati come mattoni per assemblare un sistema completo, il che, combinato con le capacità di definire i flussi di dati tra i blocchi, consente di progettare sistemi radio anche senza competenze di programmazione.

Variazioni principali:

  • È stato aggiunto un nuovo modulo gr-pdu, in cui sono stati trasferiti gli strumenti per la manipolazione di oggetti di tipo PDU (Protocol Data Unit), utilizzati per i dati trasferiti tra i blocchi di GNU Radio. Tutti i blocchi PDU dal modulo gr-blocks sono stati trasferiti ai moduli gr-network e gr-pdu, mentre per gr-blocks è rimasta una strato per garantire la retrocompatibilità. I tipi di PDU vettoriali sono ora disponibili nello spazio dei nomi gr::types, e le funzioni per la manipolazione di PDU si trovano nello spazio dei nomi gr::pdu.
  • È stato aggiunto un nuovo modulo gr-iio, che fornisce un framework di input/output per organizzare lo scambio di dati tra GNU Radio e dispositivi industriali basati sul sottosistema IIO (Industrial I/O), come PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3-EBZ, AD-FMCOMMS4-EBZ, ARRADIO e AD-FMCOMMS5-EBZ.
  • È stata proposta un'assistenza sperimentale per la classe Custom Buffer, che semplifica il trasferimento dei dati tra i blocchi GNU Radio e gli acceleratori hardware basati su GPU, FPGA e DSP. L'uso di custom_buffer consente di evitare la scrittura di blocchi speciali per sfruttare l'accelerazione lato GPU e permette di spostare direttamente i dati dal buffer circolare di GNU Radio alla memoria GPU, lanciare i core CUDA e restituire i dati con il risultato nei buffer di GNU Radio.
  • L'infrastruttura per la gestione dei log è stata aggiornata per utilizzare la libreria spdlog, il che ha migliorato la facilità d'uso con i log, eliminato le dipendenze da iostream e cstdio, supportato le espressioni di libfmt per il formato delle stringhe e modernizzato l'interfaccia del programma. La libreria Log4CPP precedentemente usata è stata rimossa dalle dipendenze.
  • È stato effettuato il passaggio all'utilizzo dello standard C++17 nello sviluppo. La libreria boost::filesystem è stata sostituita con std::filesystem.
  • Sono stati aumentati i requisiti per i compilatori (GCC 9.3, Clang 11, MSVC 1916) e per le dipendenze (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).
  • Sono stati aggiunti i binding Python per i blocchi RFNoC.
  • Nei blocchi per la costruzione dell'interfaccia grafica gr-qtgui è stato aggiunto il supporto per Qt 6.2. Nell'interfaccia grafica GRC (GNU Radio Companion) è stata aggiunta l'opzione "—output" per i blocchi gerarchici.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster