Após seis anos desde o último lançamento significativo lançamento , uma plataforma livre de processamento digital de sinais. O GNU Radio é um conjunto de programas e bibliotecas que permitem criar sistemas de rádio arbitrários, esquemas de modulação e formas de sinais transmitidos e recebidos que são definidos por software, utilizando os mais simples dispositivos de hardware para captura e geração de sinais. O projeto está sob a licença GPLv3. O código da maior parte dos componentes do GNU Radio está escrito em Python, enquanto partes críticas para desempenho e latência são escritas em C++, o que permite que o pacote seja utilizado em tarefas em tempo real.
Em combinação com transceptores programáveis universais, independentes de banda de frequência e tipo de modulação de sinal, a plataforma pode ser usada para criar dispositivos como estações base para redes GSM, dispositivos de leitura remota de etiquetas RFID (documentos eletrônicos e crachás, cartões inteligentes), receptores GPS, WiFi, receptores e transmissores de rádio FM, decodificadores de TV, radares passivos, analisadores espectrais, etc. Além do USRP, o pacote pode utilizar outros componentes de hardware para entrada e saída de sinais, como drivers para placas de som, sintonizadores de TV, dispositivos BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP e S-Mini.
O pacote também inclui uma coleção de filtros, codecs de canal, módulos de sincronização, demoduladores, equalizadores, codecs de voz, decodificadores e outros elementos necessários para a criação de sistemas de rádio. Os elementos mencionados podem ser usados como blocos de construção para compor um sistema acabado, o que, combinado com as capacidades de definição de fluxos de dados entre blocos, permite projetar sistemas de rádio mesmo sem habilidades de programação.
Principais mudanças:
- Foi feito o transição para o uso do padrão C++11 e do sistema de construção CMake. O estilo de código foi ajustado de acordo com clang-format;
- Foram incluídas dependências como MPIR/GMP, Qt5, gsm e codec2. As exigências para as versões das dependências CMake, GCC, MSVC, Swig e Boost foram atualizadas. Foram removidas as dependências libusb, Qt4 e CppUnit;
- Compatibilidade com Python 3 foi assegurada, a próxima versão do GNU Radio 3.8 será a última com suporte para Python 2;
- No gnuradio-runtime, foi reimplementado o processamento de valores fracionários dos tags de "time" no contexto de uso com módulos de reamostragem;
- Na interface gráfica (GNU Radio Companion) foi adicionada suporte opcional para geração de código em C++, o formato YAML foi implementado em vez de XML, blks2 foi removido, ferramentas de manipulação de canvas foram significativamente aprimoradas e suporte para setas arredondadas foi adicionado;
- A interface gráfica gr-qtgui foi transferida de Qt4 para Qt5;
- No gr-utils, a ferramenta gr_modtool foi significativamente aprimorada. Foram removidas utilitários baseados em PyQwt;
- O suporte para os módulos gr-comedi, gr-fcd e gr-wxgui foi descontinuado.
Fonte: opennet.ru
