Six ans après la dernière version majeure la sortie , une plateforme libre de traitement numérique du signal. GNU Radio est un ensemble de programmes et de bibliothèques permettant de créer des systèmes radio arbitraires, des schémas de modulation et des formes de signaux reçus et émis définis par logiciel, utilisant des dispositifs matériels simples pour la capture et la génération de signaux. Le projet est sous licence GPLv3. La majeure partie des composants de GNU Radio est écrite en Python, tandis que les parties critiques pour la performance et la latence sont développées en C++, permettant ainsi d'utiliser le paquet pour des tâches en temps réel.
En combinaison avec des émetteurs-récepteurs programmables universels, sans restriction de bande passante et de type de modulation de signal, la plateforme peut être utilisée pour créer des dispositifs tels que des stations de base pour des réseaux GSM, des dispositifs pour la lecture à distance d'étiquettes RFID (identités électroniques et badges, cartes intelligentes), des récepteurs GPS, WiFi, des récepteurs et émetteurs de radio FM, des décodeurs TV, des radars passifs, des analyseurs spectraux, etc. En plus de l'USRP, le paquet peut utiliser d'autres composants matériels pour l'entrée et la sortie de signaux, tels que des pilotes pour cartes son, tuners TV, dispositifs BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP et S-Mini.
Il comprend également une collection de filtres, de codecs de canal, de modules de synchronisation, de démultiplexeurs, d'égaliseurs, de codecs vocaux, de décodeurs et d'autres éléments nécessaires à la création de systèmes radio. Les éléments mentionnés peuvent être utilisés comme des briques pour assembler un système prêt à l'emploi, ce qui, combiné aux capacités de définition de flux de données entre les blocs, permet de concevoir des systèmes radio même sans compétences en programmation.
Principales modifications :
- La transition vers l'utilisation de la norme C++11 et du système de construction CMake a été réalisée. Le style de code a été mis en conformité avec clang-format;
- Les dépendances ont été mises à jour pour inclure MPIR/GMP, Qt5, gsm et codec2. Les exigences de version pour les dépendances CMake, GCC, MSVC, Swig, Boost ont été mises à jour. Les dépendances libusb, Qt4 et CppUnit ont été supprimées;
- La compatibilité avec Python 3 a été assurée, la prochaine branche de GNU Radio 3.8 sera la dernière à prendre en charge Python 2;
- Dans gnuradio-runtime, le traitement des valeurs fractionnaires des balises "time" a été retravaillé dans le contexte de leur utilisation avec des modules de resampling;
- Dans l'interface graphique (GNU Radio Companion), un support optionnel pour la génération de code en C++ a été ajouté, et le format YAML a été utilisé à la place de XML, blks2 a été supprimé, les outils de travail avec le canevas ont été considérablement améliorés, et le support pour les flèches arrondies a été ajouté;
- L'interface graphique gr-qtgui a été migrée de Qt4 à Qt5;
- Dans gr-utils, l'outil gr_modtool a été considérablement amélioré. Les utilitaires basés sur PyQwt ont été supprimés.
- Le support des modules gr-comedi, gr-fcd et gr-wxgui a été arrêté.
Source : opennet.ru
