Rilis Radio GNU 3.10.0

Setelah satu tahun pengembangan, rilis signifikan baru dari platform pemrosesan sinyal digital gratis GNU Radio 3.10 telah terbentuk. Platform ini mencakup serangkaian program dan perpustakaan yang memungkinkan Anda membuat sistem radio arbitrer, skema modulasi dan bentuk sinyal yang diterima dan dikirim yang ditentukan dalam perangkat lunak, dan perangkat keras paling sederhana digunakan untuk menangkap dan menghasilkan sinyal. Proyek ini didistribusikan di bawah lisensi GPLv3. Kode untuk sebagian besar komponen GNU Radio ditulis dengan Python; bagian penting untuk kinerja dan latensi ditulis dalam C++, yang memungkinkan paket tersebut digunakan saat menyelesaikan masalah secara real time.

Dikombinasikan dengan transceiver universal yang dapat diprogram yang tidak terikat pada pita frekuensi dan jenis modulasi sinyal, platform ini dapat digunakan untuk membuat perangkat seperti stasiun pangkalan untuk jaringan GSM, perangkat untuk membaca tag RFID jarak jauh (ID dan pass elektronik, smart kartu), penerima GPS, WiFi, penerima dan pemancar radio FM, dekoder TV, radar pasif, penganalisis spektrum, dll. Selain USRP, paket dapat menggunakan komponen perangkat keras lain untuk input dan output sinyal, misalnya driver untuk kartu suara, TV tuner, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP dan Perangkat S tersedia -Mini.

Ini juga mencakup kumpulan filter, codec saluran, modul sinkronisasi, demodulator, equalizer, codec suara, decoder dan elemen lain yang diperlukan untuk membuat sistem radio. Elemen-elemen ini dapat digunakan sebagai blok bangunan untuk merakit sistem yang sudah jadi, yang dikombinasikan dengan kemampuan untuk menentukan aliran data antar blok, memungkinkan Anda merancang sistem radio bahkan tanpa keahlian pemrograman.

Perubahan besar:

  • Modul baru gr-pdu telah ditambahkan, yang membawa alat untuk memanipulasi objek dengan tipe PDU (Protocol Data Unit), digunakan untuk transfer data antar blok Radio GNU. Dari modul gr-blocks, semua blok PDU telah dipindahkan ke modul gr-network dan gr-pdu, dan sebagai ganti gr-blocks, sebuah lapisan telah ditinggalkan untuk memastikan kompatibilitas ke belakang. Tipe vektor PDU kini tersedia di namespace gr::types, dan fungsi untuk manipulasi PDU kini tersedia di namespace gr::pdu.
  • Menambahkan modul baru gr-iio, yang menyediakan kerangka input/output untuk mengatur pertukaran data antara GNU Radio dan perangkat industri berdasarkan subsistem IIO (Industrial I/O), seperti PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3 -EBZ, IKLAN -FMCOMMS4-EBZ, ARRADIO dan IKLAN-FMCOMMS5-EBZ.
  • Dukungan eksperimental untuk kelas Custom Buffer telah diusulkan, yang menyederhanakan transfer data antara blok Radio GNU dan akselerator perangkat keras berdasarkan GPU, FPGA dan DSP. Menggunakan custom_buffer memungkinkan Anda menghindari penulisan blok khusus untuk mengaktifkan akselerasi di sisi GPU dan memungkinkan untuk memindahkan data secara langsung dari buffer ring GNU Radio ke memori GPU, meluncurkan kernel CUDA dan mengembalikan data beserta hasilnya ke buffer GNU Radio.
  • Infrastruktur logging telah dialihkan menggunakan perpustakaan spdlog, yang telah meningkatkan kegunaan bekerja dengan log, menghilangkan panggilan ke iostream dan cstdio, memberikan dukungan untuk ekspresi libfmt untuk pemformatan string, dan memodernisasi antarmuka program. Pustaka Log4CPP yang sebelumnya digunakan telah dihapus sebagai ketergantungan.
  • Transisi untuk menggunakan standar C++17 dalam pengembangan telah dilakukan. Pustaka boost::filesystem telah diganti dengan std::filesystem.
  • Peningkatan persyaratan untuk kompiler (GCC 9.3, Clang 11, MSVC 1916) dan dependensi (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).
  • Menambahkan binding Python untuk blok RFNoC.
  • Dukungan untuk Qt 6.2 telah ditambahkan ke blok untuk membangun antarmuka grafis gr-qtgui. Menambahkan opsi β€œ--output” untuk blok hierarki ke GUI GRC (GNU Radio Companion).

Sumber: opennet.ru

Tambah komentar