Wydanie GNU Radio 3.8.0

Sześć lat od ostatniej znaczącej wersji uformowany wydanie Radio GNU 3.8, bezpłatna platforma cyfrowego przetwarzania sygnałów. GNU Radio to zestaw programów i bibliotek umożliwiających tworzenie dowolnych systemów radiowych, schematów modulacji oraz postaci odbieranych i wysyłanych sygnałów, które są określone w oprogramowaniu, a do przechwytywania i generowania sygnałów wykorzystywane są proste urządzenia sprzętowe. Projekt dystrybuowane przez licencjonowany na licencji GPLv3. Kod większości komponentów GNU Radio jest napisany w Pythonie; części krytyczne dla wydajności i opóźnień są napisane w C++, co pozwala na wykorzystanie pakietu do rozwiązywania problemów w czasie rzeczywistym.

W połączeniu z uniwersalnymi programowalnymi transceiverami, niezależnymi od pasma częstotliwości i rodzaju modulacji sygnału, platforma może służyć do tworzenia urządzeń takich jak stacje bazowe dla sieci GSM, urządzenia do zdalnego odczytu tagów RFID (elektroniczne identyfikatory i przepustki, inteligentne karty sieciowe), odbiorniki GPS, WiFi, odbiorniki i nadajniki radiowe FM, dekodery TV, radary pasywne, analizatory widma itp. Oprócz USRP pakiet może wykorzystywać inne komponenty sprzętowe do przesyłania sygnałów wejściowych i wyjściowych, np. dostępny sterowniki do kart dźwiękowych, tunerów telewizyjnych, urządzeń BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP i S-Mini.

Zawiera także zbiór filtrów, kodeków kanałowych, modułów synchronizacji, demodulatorów, korektorów, kodeków głosowych, dekoderów i innych elementów niezbędnych do tworzenia systemów radiowych. Elementy te można wykorzystać jako elementy składowe do złożenia gotowego systemu, co w połączeniu z możliwością określenia przepływów danych pomiędzy blokami pozwala na projektowanie systemów radiowych nawet bez umiejętności programowania.

Główne zmiany:

  • W rozwoju dokonano przejścia na wykorzystanie standardu C++ 11 i systemu asemblera CMake. Styl kodu jest zgodny z formatem clang;
  • Zależności obejmują MPIR/GMP, Qt5, gsm i codec2. Zaktualizowano wymagania dla wersji zależności CMake, GCC, MSVC, Swig, Boost. Usunięto libusb, Qt4 i CppUnit z zależności;
  • Zapewniona jest kompatybilność z Pythonem 3, następna gałąź GNU Radio 3.8 będzie ostatnią z obsługą Pythona 2;
  • W gnuradio-runtime przetwarzanie wartości ułamkowych znaczników „time” zostało przerobione w kontekście użycia z modułami resamplingu;
  • Do GUI GRC (GNU Radio Companion) dodał opcjonalną obsługę generowania kodu w C++, zamiast XML użyto formatu YAML, usunięto blks2, znacznie ulepszono narzędzia canvas i dodano obsługę zaokrąglonych strzałek;
  • Interfejs graficzny gr-qtgui został przeniesiony z Qt4 do Qt5;
  • gr-utils znacznie ulepszył narzędzie gr_modtool. Narzędzia oparte na PyQwt zostały usunięte;
  • Zakończono obsługę modułów gr-comedi, gr-fcd i gr-wxgui.

    Źródło: opennet.ru

Dodaj komentarz