GNU Radyo 3.10.0'ın Yayınlanması

Bir yıllık geliştirme sürecinin ardından, ücretsiz dijital sinyal işleme platformu GNU Radio 3.10'un yeni ve önemli bir sürümü oluşturuldu. Platform, isteğe bağlı radyo sistemleri, modülasyon şemaları ve yazılımda belirtilen alınan ve gönderilen sinyallerin biçimini oluşturmanıza olanak tanıyan bir dizi program ve kitaplık içerir ve sinyalleri yakalamak ve üretmek için en basit donanım aygıtları kullanılır. Proje GPLv3 lisansı altında dağıtılmaktadır. GNU Radio'nun çoğu bileşeninin kodu Python'da yazılmıştır; performans ve gecikme açısından kritik olan parçalar C++ ile yazılmıştır; bu, paketin sorunları gerçek zamanlı olarak çözerken kullanılmasına olanak tanır.

Frekans bandına ve sinyal modülasyonu türüne bağlı olmayan evrensel programlanabilir alıcı-vericilerle birlikte platform, GSM ağları için baz istasyonları, RFID etiketlerinin uzaktan okunmasına yönelik cihazlar (elektronik kimlikler ve geçişler, akıllı kartları), GPS alıcıları, WiFi, FM radyo alıcıları ve vericileri, TV kod çözücüleri, pasif radarlar, spektrum analizörleri vb. USRP'ye ek olarak paket, sinyallerin girişi ve çıkışı için diğer donanım bileşenlerini de kullanabilir; örneğin ses kartları, TV tarayıcıları, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP ve S cihazları mevcuttur -Mini.

Yapı aynı zamanda filtreler, kanal codec bileşenleri, senkronizasyon modülleri, demodülatörler, ekolayzerler, ses codec bileşenleri, kod çözücüler ve radyo sistemleri oluşturmak için gerekli diğer öğelerin bir koleksiyonunu da içerir. Bu öğeler, bloklar arasındaki veri akışlarını belirleme yeteneği ile birleştiğinde, programlama becerileri olmadan bile radyo sistemleri tasarlamanıza olanak tanıyan bitmiş sistem için yapı taşları olarak kullanılabilir.

Ana değişiklikler:

  • GNU Radyo blokları arasında veri aktarımı için kullanılan PDU (Protokol Veri Birimi) türüyle nesnelerin işlenmesine yönelik araçları taşıyan yeni bir gr-pdu modülü eklendi. gr-blocks modülünden tüm PDU blokları gr-network ve gr-pdu modüllerine taşınmış olup, gr-bloklar yerine geriye dönük uyumluluk sağlayacak bir katman bırakılmıştır. Vektör PDU türleri artık gr::types ad alanında mevcuttur ve PDU manipülasyonuna yönelik işlevler artık gr::pdu ad alanında mevcuttur.
  • GNU Radyo ile PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3 gibi IIO (Endüstriyel I/O) alt sistemini temel alan endüstriyel cihazlar arasında veri alışverişini düzenlemek için bir giriş/çıkış çerçevesi sağlayan yeni bir gr-iio modülü eklendi -EBZ, AD -FMCOMMS4-EBZ, ARRADIO ve AD-FMCOMMS5-EBZ.
  • GNU Radyo blokları ile GPU, FPGA ve DSP tabanlı donanım hızlandırıcıları arasındaki veri aktarımını basitleştiren Özel Arabellek sınıfı için deneysel destek önerilmiştir. Custom_buffer kullanmak, GPU tarafında hızlandırmayı etkinleştirmek için özel bloklar yazmaktan kaçınmanıza olanak tanır ve verileri doğrudan GNU Radyo halka arabelleğinden GPU belleğine taşımayı, CUDA çekirdeklerini başlatmayı ve sonuçla birlikte verileri GNU Radyo arabelleklerine döndürmeyi mümkün kılar.
  • Günlük altyapısı, günlüklerle çalışmanın kullanılabilirliğini geliştiren, iostream ve cstdio çağrılarını ortadan kaldıran, dize biçimlendirmesi için libfmt ifadeleri desteği sağlayan ve program arayüzünü modernize eden spdlog kütüphanesini kullanacak şekilde değiştirildi. Daha önce kullanılan Log4CPP kütüphanesi bağımlılık olarak kaldırıldı.
  • C++17 standardının geliştirilmesinde kullanıma geçiş yapılmıştır. boost::filesystem kütüphanesi std::filesystem ile değiştirildi.
  • Derleyiciler (GCC 9.3, Clang 11, MSVC 1916) ve bağımlılıklar (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) için artan gereksinimler pygccxml 2.0.0).
  • RFNoC blokları için Python bağlamaları eklendi.
  • Gr-qtgui grafik arayüzünü oluşturmak için bloklara Qt 6.2 desteği eklendi. GRC (GNU Radio Companion) GUI'sine hiyerarşik bloklar için “--output” seçeneği eklendi.

Kaynak: opennet.ru

Yorum ekle