การเปิดตัว GNU Radio 3.10.0

หลังจากหนึ่งปีของการพัฒนา ได้มีการเปิดตัวแพลตฟอร์มประมวลผลสัญญาณดิจิทัลฟรี GNU Radio 3.10 รุ่นสำคัญใหม่ แพลตฟอร์มดังกล่าวประกอบด้วยชุดโปรแกรมและไลบรารีที่ช่วยให้คุณสร้างระบบวิทยุตามอำเภอใจ รูปแบบการมอดูเลต และรูปแบบของสัญญาณรับและส่งสัญญาณที่ระบุไว้ในซอฟต์แวร์ และอุปกรณ์ฮาร์ดแวร์ที่ง่ายที่สุดใช้ในการจับและสร้างสัญญาณ โครงการนี้เผยแพร่ภายใต้ใบอนุญาต GPLv3 รหัสสำหรับส่วนประกอบส่วนใหญ่ของ GNU Radio เขียนด้วยภาษา Python ส่วนที่มีความสำคัญต่อประสิทธิภาพและเวลาแฝงเขียนด้วยภาษา C++ ซึ่งช่วยให้สามารถใช้แพ็คเกจเมื่อแก้ไขปัญหาแบบเรียลไทม์

เมื่อใช้ร่วมกับเครื่องรับส่งสัญญาณแบบตั้งโปรแกรมได้สากลซึ่งไม่ได้เชื่อมโยงกับย่านความถี่และประเภทของการปรับสัญญาณ แพลตฟอร์มนี้สามารถใช้เพื่อสร้างอุปกรณ์ต่างๆ เช่น สถานีฐานสำหรับเครือข่าย GSM อุปกรณ์สำหรับการอ่านแท็ก RFID จากระยะไกล (ID และบัตรอิเล็กทรอนิกส์ อุปกรณ์อัจฉริยะ การ์ด), เครื่องรับ GPS, WiFi, เครื่องรับและส่งสัญญาณวิทยุ FM, เครื่องถอดรหัสโทรทัศน์, เรดาร์แบบพาสซีฟ, เครื่องวิเคราะห์สเปกตรัม ฯลฯ นอกจาก USRP แล้ว แพ็คเกจยังสามารถใช้ส่วนประกอบฮาร์ดแวร์อื่นๆ สำหรับอินพุตและเอาต์พุตของสัญญาณ เช่น ไดรเวอร์สำหรับการ์ดเสียง, เครื่องรับสัญญาณทีวี, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP และ อุปกรณ์ S มีให้ใช้งาน -Mini

นอกจากนี้ยังรวมถึงคอลเลกชันของตัวกรอง, ตัวแปลงสัญญาณช่องสัญญาณ, โมดูลการซิงโครไนซ์, เดโมดูเลเตอร์, อีควอไลเซอร์, ตัวแปลงสัญญาณเสียง, ตัวถอดรหัสและองค์ประกอบอื่น ๆ ที่จำเป็นในการสร้างระบบวิทยุ องค์ประกอบเหล่านี้สามารถใช้เป็นแบบเอกสารสำเร็จรูปในการประกอบระบบที่เสร็จสมบูรณ์ ซึ่งเมื่อรวมกับความสามารถในการกำหนดกระแสข้อมูลระหว่างบล็อก ทำให้คุณสามารถออกแบบระบบวิทยุได้แม้จะไม่มีทักษะในการเขียนโปรแกรมก็ตาม

การเปลี่ยนแปลงที่สำคัญ:

  • มีการเพิ่มโมดูลใหม่ gr-pdu ซึ่งมีเครื่องมือสำหรับจัดการวัตถุด้วยประเภท PDU (Protocol Data Unit) ซึ่งใช้สำหรับข้อมูลที่ถ่ายโอนระหว่างบล็อก GNU Radio จากโมดูล gr-blocks บล็อก PDU ทั้งหมดได้ถูกย้ายไปยังโมดูล gr-network และ gr-pdu และแทนที่จะเป็น gr-blocks เหลือเลเยอร์ไว้เพื่อให้แน่ใจว่ามีความเข้ากันได้แบบย้อนหลัง ขณะนี้ประเภท Vector PDU พร้อมใช้งานแล้วในเนมสเปซ gr::types และฟังก์ชันสำหรับการจัดการ PDU พร้อมใช้งานแล้วในเนมสเปซ gr::pdu
  • เพิ่มโมดูลใหม่ gr-iio ซึ่งจัดเตรียมเฟรมเวิร์กอินพุต/เอาท์พุตสำหรับการจัดระเบียบการแลกเปลี่ยนข้อมูลระหว่าง GNU Radio และอุปกรณ์อุตสาหกรรมตามระบบย่อย IIO (Industrial I/O) เช่น PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3 -EBZ, โฆษณา -FMCOMMS4-EBZ, ARRADIO และ AD-FMCOMMS5-EBZ
  • มีการเสนอการสนับสนุนการทดลองสำหรับคลาส Custom Buffer ซึ่งช่วยให้การถ่ายโอนข้อมูลระหว่างบล็อก GNU Radio และเครื่องเร่งฮาร์ดแวร์ที่ใช้ GPU, FPGA และ DSP ง่ายขึ้น การใช้ custom_buffer ช่วยให้คุณหลีกเลี่ยงการเขียนบล็อกพิเศษเพื่อเปิดใช้งานการเร่งความเร็วบนฝั่ง GPU และทำให้สามารถย้ายข้อมูลจากบัฟเฟอร์วงแหวน GNU Radio ไปยังหน่วยความจำ GPU ได้โดยตรง เปิดเคอร์เนล CUDA และส่งคืนข้อมูลพร้อมผลลัพธ์ไปยังบัฟเฟอร์ GNU Radio
  • โครงสร้างพื้นฐานการบันทึกได้เปลี่ยนไปใช้ไลบรารี spdlog ซึ่งได้ปรับปรุงการใช้งานของการทำงานกับบันทึก ยกเลิกการเรียก iostream และ cstdio ให้การสนับสนุนนิพจน์ libfmt สำหรับการจัดรูปแบบสตริง และปรับปรุงอินเทอร์เฟซของโปรแกรมให้ทันสมัย ไลบรารี Log4CPP ที่ใช้ก่อนหน้านี้ถูกลบออกจากการอ้างอิงแล้ว
  • มีการเปลี่ยนไปใช้ในการพัฒนามาตรฐาน C++17 แล้ว ไลบรารี boost::filesystem ถูกแทนที่ด้วย std::filesystem
  • ข้อกำหนดที่เพิ่มขึ้นสำหรับคอมไพเลอร์ (GCC 9.3, Clang 11, MSVC 1916) และการพึ่งพา (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)
  • เพิ่มการเชื่อมโยง Python สำหรับบล็อก RFNoC
  • เพิ่มการรองรับ Qt 6.2 ให้กับบล็อกสำหรับการสร้างส่วนต่อประสานกราฟิก gr-qtgui เพิ่มตัวเลือก "--output" สำหรับบล็อกแบบลำดับชั้นใน GRC (GNU Radio Companion) GUI

ที่มา: opennet.ru

เพิ่มความคิดเห็น