Wydanie GNU Radio 3.10.0

Po roku prac nad rozwojem stworzono nową, istotną wersję wolnej platformy cyfrowego przetwarzania sygnałów GNU Radio 3.10. Platforma zawiera zestaw programów i bibliotek, które umożliwiają tworzenie dowolnych systemów radiowych, schematów modulacji oraz formuły odbieranych i nadawanych sygnałów, które są definiowane programowo, a do przechwytywania i generowania sygnałów wykorzystywane są najprostsze urządzenia sprzętowe. Projekt jest rozpowszechniany na podstawie licencji GPLv3. Większość komponentów GNU Radio jest napisana w języku Python, a krytyczne dla wydajności i opóźnienia części są napisane w języku C++, co pozwala na użycie pakietu do rozwiązywania zadań w czasie rzeczywistym.

W połączeniu z uniwersalnymi programowalnymi nadajnikami i odbiornikami, które nie są związane z pasmem częstotliwości ani typem modulacji sygnału, platforma może być wykorzystywana do tworzenia urządzeń takich jak bazy stacji dla sieci GSM, urządzenia do zdalnego odczytu etykiet RFID (elektroniczne identyfikatory i przepustki, karty smart), odbiorniki GPS, WiFi, odbiorniki i nadajniki radia FM, dekodery TV, pasywne radary, analizatory spektrometryczne itp. Oprócz USRP, pakiet może korzystać z innych komponentów sprzętowych do wejścia i wyjścia sygnałów, na przykład dostępne są sterowniki do kart dźwiękowych, tunerów TV, urządzeń BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP i S-Mini.

W skład pakietu wchodzi również kolekcja filtrów, kodeków kanałowych, modułów synchronizacji, demodulatorów, equalizerów, kodeków głosowych, dekoderów i innych elementów niezbędnych do tworzenia systemów radiowych. Wskazane elementy mogą być używane jako klocki do budowy gotowego systemu, co w połączeniu z możliwościami definiowania strumieni danych między blokami pozwala na projektowanie systemów radiowych nawet bez umiejętności programowania.

Główne zmiany:

  • Dodano nowy moduł gr-pdu, do którego przeniesiono narzędzia do manipulacji obiektami typu PDU (Protocol Data Unit), stosowanym do danych przenoszonych między blokami GNU Radio. Z modułu gr-blocks przeniesiono wszystkie bloki PDU do modułów gr-network i gr-pdu, a zamiast gr-blocks pozostawiono warstwę zapewniającą wsteczną kompatybilność. Typy wektorowe PDU są teraz dostępne w przestrzeni nazw gr::types, a funkcje do manipulacji PDU — w przestrzeni nazw gr::pdu.
  • Dodano nowy moduł gr-iio, który oferuje framework wejścia/wyjścia do organizacji wymiany danych między GNU Radio a urządzeniami przemysłowymi opartymi na podsystemie IIO (Industrial I/O), takimi jak PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3-EBZ, AD-FMCOMMS4-EBZ, ARRADIO i AD-FMCOMMS5-EBZ.
  • Zaproponowano eksperymentalne wsparcie dla klasy Custom Buffer, upraszczającej przesyłanie danych między blokami GNU Radio a sprzętowymi akceleratorami opartymi na GPU, FPGA i DSP. Użycie custom_buffer pozwala uniknąć pisania specjalnych bloków do wykorzystania akceleracji po stronie GPU i umożliwia bezpośrednie przenoszenie danych z pierścieniowego bufora GNU Radio do pamięci GPU, uruchamianie rdzeni CUDA i zwracanie wyników do buforów GNU Radio.
  • Infrastruktura do prowadzenia logów została przekształcona na korzystanie z biblioteki spdlog, co zwiększyło wygodę pracy z logami, pozwoliło uniknąć odwołań do iostream i cstdio, zapewniło wsparcie dla wyrażeń libfmt przy formatowaniu ciągów oraz zmodernizowało interfejs programistyczny. Wcześniej używana biblioteka Log4CPP została usunięta z zależności.
  • Zrealizowano przejście na standard C++17 w procesie rozwoju. Biblioteka boost::filesystem została zastąpiona przez std::filesystem.
  • Zwiększono wymagania dotyczące kompilatorów (GCC 9.3, Clang 11, MSVC 1916) oraz zależności (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).
  • Dodano powiązania Python dla bloków RFNoC.
  • W blokach do budowy interfejsu graficznego gr-qtgui dodano wsparcie dla Qt 6.2. W interfejsie graficznym GRC (GNU Radio Companion) dodano opcję „—output” dla bloków hierarchicznych.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster