Sortie de GNU Radio 3.10.0

Après un an de développement, une nouvelle version majeure de la plateforme libre de traitement du signal numérique GNU Radio 3.10 a été créée. Cette plateforme comprend un ensemble de programmes et de bibliothèques permettant de créer des systèmes radio arbitraires. Les schémas de modulation et la forme des signaux reçus et émis sont définis par programmation. Des périphériques matériels simples sont utilisés pour capturer et générer les signaux. Le projet est distribué sous licence GPLv3. Le code de la plupart des composants de GNU Radio est écrit en Python, tandis que les parties critiques pour les performances et la latence sont écrites en C++, ce qui permet d'utiliser le package pour résoudre des problèmes en temps réel.

En combinaison avec des émetteurs-récepteurs programmables universels qui ne sont pas liés à la bande de fréquence et au type de modulation du signal, la plate-forme peut être utilisée pour créer des appareils tels que des stations de base pour les réseaux GSM, des appareils de lecture à distance d'étiquettes RFID (identifiants et laissez-passer électroniques, cartes à puce), des récepteurs GPS, WiFi, des récepteurs et émetteurs radio FM, des décodeurs TV, des radars passifs, des analyseurs de spectre, etc. En plus de l'USRP, le package peut également utiliser d'autres composants matériels pour l'entrée et la sortie des signaux, par exemple, des pilotes sont disponibles pour les cartes son, les tuners TV, les appareils BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP et S-Mini.

La structure comprend également une collection de filtres, de codecs de canal, de modules de synchronisation, de démodulateurs, d'égaliseurs, de codecs vocaux, de décodeurs et d'autres éléments nécessaires pour créer des systèmes radio. Ces éléments peuvent être utilisés comme blocs de construction pour le système fini, ce qui, combiné à la capacité de déterminer les flux de données entre les blocs, vous permet de concevoir des systèmes radio même sans compétences en programmation.

Les principaux changements:

  • Un nouveau module gr-pdu a été ajouté. Il contient des outils de manipulation d'objets de type PDU (Protocol Data Unit), utilisés pour les données transférées entre les blocs GNU Radio. Tous les PDU ont été déplacés du module gr-blocks vers les modules gr-network et gr-pdu, et une couche a été conservée à la place de gr-blocks pour assurer la rétrocompatibilité. Les types de PDU vectoriels sont désormais disponibles dans l'espace de noms gr::types, et les fonctions de manipulation des PDU sont disponibles dans l'espace de noms gr::pdu.
  • Ajout d'un nouveau module gr-iio, qui fournit un cadre d'E/S pour organiser l'échange de données entre GNU Radio et les appareils industriels basés sur le sous-système d'E/S industriel (IIO), tels que PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3-EBZ, AD-FMCOMMS4-EBZ, ARRADIO et AD-FMCOMMS5-EBZ.
  • Un support expérimental pour la classe Custom Buffer est proposé, simplifiant le transfert de données entre les blocs GNU Radio et les accélérateurs matériels basés sur GPU, FPGA et DSP. L'utilisation de custom_buffer élimine le besoin d'écrire des blocs spéciaux pour activer l'accélération côté GPU et permet de déplacer directement les données du tampon circulaire GNU Radio vers la mémoire GPU, d'exécuter les noyaux CUDA et de renvoyer les données avec le résultat aux tampons GNU Radio.
  • L'infrastructure de journalisation a été basculée vers la bibliothèque spdlog, ce qui a amélioré la convivialité des journaux, supprimé l'accès à iostream et cstdio, pris en charge les expressions libfmt pour le formatage des chaînes et modernisé l'interface logicielle. La bibliothèque Log4CPP précédemment utilisée a été supprimée des dépendances.
  • La transition vers la norme C++17 en développement a été effectuée. La bibliothèque boost::filesystem a été remplacée par std::filesystem.
  • Exigences accrues pour les compilateurs (GCC 9.3, Clang 11, MSVC 1916) et les dépendances (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).
  • Ajout de liaisons Python pour les blocs RFNoC.
  • La prise en charge de Qt 6.2 a été ajoutée aux blocs de construction de l'interface graphique gr-qtgui. L'interface graphique GRC (GNU Radio Companion) dispose désormais de l'option « --output » pour les blocs hiérarchiques.

Source: opennet.ru

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster