
محلل إشارات رقمية مبني على Qt، باستخدام نواة Suscan ومكتبة DSP الخاصة بـ Sigutils
SigDigger هو محلل إشارات رقمية حر لأنظمة GNU/Linux و macOS، مصمم لاستخراج المعلومات من إشارات الراديو غير المعروفة. يدعم مجموعة متنوعة من أجهزة SDR عبر SoapySDR، ويسمح بضبط إزالة تشكيل إشارات FSK و PSK و ASK، وفك تشفير الفيديو التناظري، وتحليل الإشارات النبضية، والاستماع إلى قنوات الصوت التناظرية (كل ذلك في الوقت الفعلي).

لم نعد نستنسخ فرع develop. جميع المشاريع الأربعة (SigDigger و SuWidgets و Suscan و Sigutils) تُبقي أحدث التغييرات العاملة في فرع master.
قد ترغب في البدء بإلقاء نظرة على دليل المستخدم.
SigDigger هو أداة بواجهة رسومية تعمل كغلاف لمكتبات المستوى الأدنى مثل Suscan و Sigutils، وبالتالي ستحتاج إلى بناء هذه التبعيات أولاً. إذا كنت تريد تجنب الصداع والبدء في استخدام SigDigger على الفور، جرّب أيًا مما يلي:
تنزيل أحدث نسخة تطويرية كملف AppImage مستقل (لنظام GNU/Linux فقط)
طلب ملف .dmg مخصص (لمستخدمي macOS فقط، يجب عليّ إنشاء هذه الملفات عند الطلب لأنني لا أملك حاليًا أي جهاز Apple وتحتاج بعض التعديلات الصغيرة إلى إجرائها من إصدار إلى آخر)
البناء من المصادر والتثبيت على مستوى النظام (يونكس بشكل عام):
% git clone --recursive https://github.com/BatchDrake/sigutils
% cd sigutils && mkdir -p build && cd build && cmake .. && make && sudo make install && cd ../..
% git clone --recursive https://github.com/BatchDrake/suscan
% cd suscan && mkdir -p build && cd build && cmake .. && make && sudo make install && cd ../..
% git clone https://github.com/BatchDrake/SuWidgets
% cd SuWidgets && qmake6 SuWidgetsLib.pro && make && sudo make install && cd ..
% git clone https://github.com/BatchDrake/SigDigger
% cd SigDigger && qmake6 SigDigger.pro && make && sudo make install && cd ..
دع سكربت blsd يتولى كل هذه التفاصيل نيابةً عنك (GNU/Linux). سيقوم هذا السكربت ببناء SigDigger داخل دليل ضمن دليل العمل الحالي (لن يتم تثبيت أي شيء على مستوى النظام). يمكن وضع هذا الدليل في أي مكان تريده، ويحتوي على سكربت يشغّل SigDigger.
% wget https://actinid.org/blsd
% chmod a+x blsd
% ./blsd
blsd لتحديد الإضافات التي تريد تنزيلها وضمّها مع SigDigger. أسماء الإضافات هي مجرد أسماء المستودعات في حساب GitHub الخاص بي والتي يُسحب منها الكود. أوصي بإضافة AmateurDSN بسبب تعدد استخداماتها، ولكن قد ترغب أيضًا في إلقاء نظرة على APTPlugin و AntSDRPlugin و ZeroMQPlugin.مستخدمو Windows: عذرًا، Windows فوضوي، ولا أملك أجهزة Windows أيضًا، ومن المستحيل حاليًا ضمان نسخ Windows تتضمن جميع تبعيات DLL بطريقة قابلة للتكرار. يمكنك محاولة بنائه من المصدر بنفسك، على الرغم من أنه في هذه الحالة أوصي باتباع الخطوات الواردة في دليل المستخدم
بعد سنوات من التعامل مع برامج SDR، أدركت أن Gqrx يمتلك أفضل واجهة مستخدم بينها جميعًا: بسيطة وفعّالة في آنٍ واحد. كانت الإصدارات السابقة من الواجهة مختلفة بعض الشيء، ولكن بعد الكثير من التصحيح، توصلت إلى استنتاج مفاده أنه سيكون من الأفضل لو حاولت فقط محاكاة البرامج الموجودة (والناجحة)، مما يقلل من منحنى التعلم إلى مجموعة الميزات الجديدة.
قد تلاحظ أن أداة الطيف تبدو مشابهة جدًا لتلك الموجودة في Gqrx. وذلك لأن أداة الطيف هي في الواقع أداة Gqrx مع بعض التعديلات البسيطة (مثل دعم لوحات الألوان القابلة للتهيئة للطيف المائي، أو خلفية OpenGL). حاولت كتابة أداة الطيف المائي الخاصة بي في Suscan وانتهى الأمر بـ Xorg إلى استهلاك المعالج بالكامل، لذلك لم أعد أعيد اختراع العجلة: قررت توسيع أداة Plotter الموجودة في Gqrx لتناسب مجموعة ميزات SigDigger.
بصرف النظر عن تخطيط الواجهة وأداة الرسم، لا يشبه SigDigger Gqrx إلا قليلًا: يعتمد Gqrx على GNU Radio، بينما SigDigger هو واجهة أمامية من Qt5 لـ Suscan. سلاسل معالجة الإشارات الرقمية مختلفة تمامًا ونموذج الخيوط في Suscan محسّن لمجموعة محددة جدًا من المهام.
يعتمد SigDigger على ثلاثة مشاريع مختلفة: Sigutils و Suscan و SuWidgets. تحتاج إلى بناء وتثبيت هذه المشاريع على جهازك قبل تجميع SigDigger.
بعد بناء Sigutils و Suscan بنجاح، يمكنك الآن المتابعة لبناء SuWidgets. SuWidgets هي مكتبة رسومية تعتمد على Qt5/Qt6 وتحتوي على جميع أدوات SigDigger المخصصة. لبنائها، تأكد من تثبيت إطار عمل التطوير Qt5 (>= 5.9) على الأقل على نظامك ثم نفّذ:
% git clone https://github.com/BatchDrake/SuWidgets
% cd SuWidgets
% qmake SuWidgetsLib.pro
% make
% sudo make install
إذا نجحت الخطوات المذكورة أعلاه، فمن المرجح أنك ستنجح أيضًا في بناء SigDigger. لبناء SigDigger، نفّذ:
% git clone https://github.com/BatchDrake/SigDigger
% cd SigDigger
% qmake SigDigger.pro
% make
% sudo make install
ولتشغيل SigDigger، اكتب فقط:
% SigDigger
إذا فشل الأمر أعلاه، فمن المحتمل أن SigDigger قد تم تثبيته في مكان آخر، مثل /opt/SigDigger. في هذه الحالة، يمكنك محاولة تشغيل:
% /opt/SigDigger/bin/SigDigger
يمكنك العثور على إصدارات مجمّعة مسبقًا ضمن تبويب "Releases" في هذا المستودع. في الوقت الحالي، هذه الإصدارات مخصصة لنظام Linux x64 فقط (يُفضّل توزيعات شبيهة بـ Debian) وقد تم اختبارها بشكل ضئيل. على الرغم من أن لدي خططًا لنقل Sigutils و Suscan و SigDigger إلى منصات أخرى، إلا أنني أرغب في الحصول على قاعدة كود مستقرة قبل المضي قدمًا.
من الواضح أن ملاحظاتك ستجعل عملي أسهل. إذا واجهت أي مشاكل في بناء SigDigger أو استخدامه، فلا تتردد في استخدام نظام تتبع الأخطاء الرائع من GitHub. إنه يعمل بشكل جيد جدًا ومن الأسهل بالنسبة لي تتبع المشكلات القائمة.
أتطلع إلى ملاحظاتك! :)
73 de EA1IYR