إصدار راديو جنو 3.10.0

بعد عام من التطوير ، تم تشكيل إصدار جديد هام لمنصة معالجة الإشارات الرقمية المجانية GNU Radio 3.10. تتضمن المنصة مجموعة من البرامج والمكتبات التي تسمح لك بإنشاء أنظمة راديو عشوائية ، وأنظمة تعديل وشكل الإشارات المستلمة والمرسلة التي يتم ضبطها برمجيًا ، وتستخدم أجهزة بسيطة لالتقاط الإشارات وتوليدها. يتم توزيع المشروع بموجب ترخيص GPLv3. تمت كتابة الكود الخاص بمعظم مكونات راديو جنو بلغة بايثون ، الأجزاء المهمة للأداء ووقت الاستجابة مكتوبة بلغة C ++ ، مما يسمح باستخدام الحزمة عند حل المشكلات في الوقت الفعلي.

بالاقتران مع أجهزة الإرسال والاستقبال العالمية القابلة للبرمجة غير المرتبطة بنطاق التردد ونوع تعديل الإشارة ، يمكن استخدام النظام الأساسي لإنشاء أجهزة مثل المحطات الأساسية لشبكات GSM وأجهزة للقراءة عن بُعد لعلامات RFID (الشهادات والممرات الإلكترونية والبطاقات الذكية ) ، مستقبلات GPS ، WiFi ، مستقبلات راديو FM وأجهزة الإرسال ، أجهزة فك تشفير التلفزيون ، الرادارات المنفعلة ، أجهزة تحليل الطيف ، إلخ. بالإضافة إلى USRP ، يمكن للحزمة استخدام مكونات الأجهزة الأخرى لإدخال الإشارة وإخراجها ، على سبيل المثال ، تتوفر برامج التشغيل لبطاقات الصوت ، وموالفات التلفزيون ، وأجهزة BladeRF ، و Myriad-RF ، و HackRF ، و UmTRX ، و Softrock ، و Comedi ، و Funcube ، و FMCOMMS ، USRP و S-Mini.

تتضمن البنية أيضًا مجموعة من المرشحات ، ومكودات القنوات ، ووحدات المزامنة ، ومزيلات التشكيل ، والمعادلات ، ومشفرات الصوت ، ومفككات التشفير ، والعناصر الأخرى اللازمة لإنشاء أنظمة راديوية. يمكن استخدام هذه العناصر كوحدات بناء للنظام النهائي ، والتي تتيح لك ، جنبًا إلى جنب مع القدرة على تحديد تدفق البيانات بين الكتل ، تصميم أنظمة الراديو حتى بدون مهارات البرمجة.

التغييرات الرئيسية:

  • تمت إضافة وحدة gr-pdu جديدة ، والتي توفر أدوات لمعالجة الكائنات باستخدام نوع PDU (وحدة بيانات البروتوكول) المستخدمة للبيانات المنقولة بين كتل راديو GNU. من وحدة gr-block ، تم نقل جميع وحدات PDU إلى وحدات gr-network و gr-pdu ، وتم ترك طبقة بدلاً من كتل gr لضمان التوافق مع الإصدارات السابقة. تتوفر أنواع Vector PDU الآن في مساحة الاسم gr :: type ووظائف معالجة PDU في مساحة الاسم gr :: pdu.
  • تمت إضافة وحدة gr-iio جديدة توفر إطار عمل I / O لتنظيم تبادل البيانات بين راديو GNU والأجهزة الصناعية على أساس النظام الفرعي IIO (Industrial I / O) ، مثل PlutoSDR و AD-FMCOMMS2-EBZ و AD- FMCOMMS3-EBZ و AD-FMCOMMS4-EBZ و ARRADIO و AD-FMCOMMS5-EBZ.
  • تم اقتراح دعم تجريبي لفئة Custom Buffer ، مما يبسط نقل البيانات بين كتل راديو GNU ومسرعات الأجهزة على أساس GPU و FPGA و DSP. يتجنب استخدام custom_buffer كتابة الكتل الخاصة لتمكين التسريع على جانب GPU ويجعل من الممكن نقل البيانات مباشرة من المخزن المؤقت لحلقة راديو GNU إلى ذاكرة GPU وتشغيل نوى CUDA وإرجاع البيانات مع النتيجة إلى مخازن راديو GNU.
  • تم نقل البنية التحتية للتسجيل لاستخدام مكتبة 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).

المصدر: opennet.ru

إضافة تعليق