Iridium: استقبال وفك تشفير كوكبة الأقمار الصناعية في المنزل

مرحبا يا هبر.

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


تغطية شبكة إيريديوم ، صورة ويكيبيديا

بالنسبة لأولئك الذين يرغبون في كيفية عمل هذا ، واصلت تحت الخفض.

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

حديد


لا يوجد شيء جديد هنا ، فقد تم وصف كل شيء في مقال سابق . لقد استخدمت هوائي Active L-Band 1525-1637 Patch Antenna ، والذي يمكن شراؤه مقابل 35 دولارًا ، وجهاز استقبال SDRPlay ، والذي يمكن استبداله بـ RTL SDR V3 ، والذي يكلف أيضًا حوالي 35 دولارًا. وبالتالي ، فإن كل شيء سيكلف أقل من 100 دولار ، وهو بأسعار معقولة جدا.

المجموعة الكاملة للاستقبال تبدو هكذا (صناديق التطابق للقياس):



بعد ذلك ، افتح النافذة (يبلل الزجاج موجات الراديو من هذا النطاق) ، وتوجيه الهوائي إلى السماء ، ويمكنك تلقي إشارة. من المهم ألا تنسى تضمين التحيز في إعدادات جهاز الاستقبال ، كما هو الهوائي نشط ولن يعمل بدون كهرباء. إذا تم كل شيء بشكل صحيح ، على تردد حوالي 1.6 غيغاهرتز ، يجب أن نرى هذه الصورة:



بالمناسبة ، إذا نظرت إلى الطيف بمزيد من التفاصيل ، يمكنك أن ترى بوضوح ميل الخطوط بسبب تأثير دوبلر - تتحرك الأقمار الصناعية في المدار ، ويتغير التردد.



من المثير للاهتمام أن نلاحظ وجود فروق أساسية إلى حد ما بين الإيريديوم وإنمارسات.

أولاً ، تستخدم إنمارسات سواتل مستقرة بالنسبة إلى الأرض تحلق في الفضاء في مدار ثابت بالنسبة للأرض يبلغ ارتفاعه 35786 كيلومتراً. في المقابل ، يستخدم Iridium مقاربة مختلفة - أكثر من 60 قمرا صناعيا تطير في مدارات منخفضة (871 كم) ، تغطي كامل مساحة الأرض (الصورة على KDPV). يسمح ذلك باستخدام هوائيات أكثر إحكاما وغير اتجاهية ، ويعمل مثل هذا النظام بشكل أفضل في المناطق الشمالية ، حيث يكون استقبال الأقمار الصناعية المستقرة بالنسبة إلى الأرض محدودًا. بالمناسبة ، تم حساب عدد أقمار Iridium بحيث يمكن للمشترك في أي لحظة استخدام العديد من الأقمار الصناعية المرئية في السماء.



وثانياً ، يستخدم Iridium نظامًا مختلفًا لنقل البيانات بشكل أساسي - بدلاً من روابط البيانات الثابتة بتردد ثابت ، يتم استخدام حزم رشقات قصيرة ، والتي يمكن رؤيتها في الصورة.

على هذا ، سننهي الجزء "النظري" ، إذا كان كل شيء يعمل ، فقد حان الوقت للانتقال إلى البرنامج.

ناعم


مع وجود برنامج لفك التشفير ، هناك تعقيد "صغير" واحد - يتم كتابته في نظام Linux. ربما هناك طريقة سرية لتجميع مشاريع راديو Gnu ضمن Windows ، لكنني لم أفشل مطلقًا ، باستثناء عدد كبير من الأخطاء. مع نظام Linux ، كل شيء بسيط ويعمل خارج الصندوق ، لكنني أفترض أن معظم القراء ما زالوا مثبتين على نظام Windows. لذلك سنذهب في الاتجاه الآخر - سنقوم بتسجيل الإشارات في HDSDR ، وسوف نبدأ وحدة فك الترميز لمعالجتها من تحت Ubuntu في Windows 10. لحسن الحظ ، توفر 10ka هذه الميزة .

الخطوة 1 تجميع غرام إيريديوم

تحتاج أولاً إلى تنزيل Ubuntu إلى App Store وتثبيت GNU Radio هناك.

في الواقع ليس من الصعب بشكل خاص تجميع وحدة فك ترميز gr-iridium :

git clone https://github.com/muccc/gr-iridium.git cd gr-iridium mkdir build cd build cmake .. make sudo make install sudo ldconfig 

تبدو العملية شيء مثل هذا:



يتطلب وحدة فك الترميز وحدة gr-osmosdr . تتم عملية التجميع وفقًا لنفس المبدأ ، مع اختلاف واحد فقط - نحتاج إلى تعطيل المستقبلات غير الضرورية في هذه الخطوة ، وإلا سنصادف أخطاء التجميع.

 git clone git://git.osmocom.org/gr-osmosdr cd gr-osmosdr mkdir build cd build/ cmake .. -DENABLE_UHD=OFF -DENABLE_RTL=OFF -DENABLE_BLADERF=OFF -DENABLE_FCD=OFF -DENABLE_RFSPACE=OFF -DENABLE_REDPITAYA=OFF -DENABLE_HACKRF=OFF make sudo make install sudo ldconfig 

هناك مأزق مضحك. قيد التشغيل ، حصلت على أخطاء غريبة مثل "c ++: error: / wd4251: لا يوجد مثل هذا الملف أو الدليل". يُظهر بحث google أن هذه الأخطاء مرتبطة بإصدار Windows ، وهو أمر لا يمكن تحقيقه عند التحويل تحت Ubuntu. اتضح ، ربما - بعد طباعة سجل مفصل باستخدام الأمر "make-n" ، وجدت أن محركات أقراص Windows مثبتة افتراضيًا في Ubuntu ، وأن cmake "التقط" هذه الملفات:

 cd /home/dmitrii/Documents/gr-osmosdr-0.1.5/build/lib && /usr/bin/c++ -DBOOST_ALL_DYN_LINK -DHAVE_CONFIG_H=1 -DNOMINMAX -DUSE_SSE2 -Dgnuradio_osmosdr_EXPORTS -I/home/dmitrii/Documents/gr-osmosdr-0.1.5/build/lib -I/home/dmitrii/Documents/gr-osmosdr-0.1.5/include -I/home/dmitrii/Documents/gr-osmosdr-0.1.5/lib -I/home/dmitrii/Documents/gr-osmosdr-0.1.5/lib/file -I/home/dmitrii/Documents/gr-osmosdr-0.1.5/lib/rtl_tcp -I/home/dmitrii/Documents/gr-osmosdr-0.1.5/lib/soapy -isystem "/mnt/c/Program Files/PothosSDR/include" -O3 -DNDEBUG -fPIC -Wall -Wextra -Wno-unused-parameter -Wsign-compare -fvisibility=hidden -fvisibility-inlines-hidden -msse2 /MP /wd4251 /wd4503 -o CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o -c /home/dmitrii/Documents/gr-osmosdr-0.1.5/lib/source_impl.cc 

وبطبيعة الحال ، شفرة المصدر غير متوافقة ولا شيء يجمعها. هذا هو خصوصية العمل مع أوبونتو من تحت ويندوز. الحل بسيط - قم بإلغاء تحميل المجلد ( sudo umount / mnt / c ) ، كرر cmake وابني ، ثم أعده ( sudo mount -t drvfs C: / mnt / c ). ستكون محركات الأقراص المثبتة في متناول يدي عندما نقوم بمعالجة الملفات المسجلة في HDSDR.

الخطوة الأخيرة هي تثبيت مجموعة أدوات Iridium :

 git clone https://github.com/muccc/iridium-toolkit.git 

الآن أصبح كل شيء جاهزًا ، ويمكننا تسجيل إشارات Iridium ومعالجتها.

الخطوة 2 تسجيل إشارة

كل شيء بسيط هنا - افتح HDSDR ، وحدد المنطقة التي يوجد بها المزيد من الإشارات ، وقم بتسجيل سجل حاصل الذكاء. لا تستمر الإشارات في Iridium باستمرار ، ولكن في "الحزم" ، لذلك قد تضطر إلى الانتظار قليلاً. هناك عيب واحد فقط - حجم التسجيل الكبير ، دقيقة واحدة مع عرض النطاق الترددي 2 ميغاهرتز يستغرق حوالي 500 ميغابايت.

أكرر مرة أخرى أنه ضمن نظام Linux "العادي" ، هذا ليس ضروريًا ، ويمكنك بدء تشغيل gr-iridium فورًا باستخدام مستقبل SDR دون وجود سجل وسيط ، لكن هذا لم ينجح في نظام Windows - lsusb لا يرى أجهزة متصلة.

الخطوة 3 تحويل

نتوقف عن التسجيل في HDSDR ، ونتحول إلى Ubuntu في المجلد / mnt / c / Users / XXX / Documents / HDSDR وأدخل الأمر:

 iridium-extractor -c 1619XXXXXX -r 2000000 -f sc16 --offline HDSDR_20200112_110653Z_1619XXXkHz_RF.wav | grep "A:OK" 

هنا HDSDR_20200112_110653Z_1619XXXkkkHz_RF.wav هو الملف الذي سجلناه ، 1619XXXXXX هو تردد التسجيل المركزي و 2،000،000 هو عرض النطاق الترددي لملف wav المسجل. إذا تم كل شيء بشكل صحيح ، يجب أن يظهر شيء مثل هذا:



إذا كانت الحزم غير مرئية ، فلا فائدة من المضي قدمًا ، فأنت بحاجة إلى معرفة الخطأ. إذا كانت السجلات مرئية ، كرر الأمر مرة أخرى ، احفظ النتائج في ملف وقم بمعالجة الملف باستخدام iridium-parser.py:

 iridium-extractor -c 1619XXXXXX -r 2000000 -f sc16 --offline HDSDR_20200112_110653Z_1619XXXkHz_RF.wav | grep "A:OK" > output.bits python iridium-parser.py output.bits > output.parsed 

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

على سبيل المثال ، يمكنك توضيح كيفية الحصول على إحداثيات القمر الصناعي المتطاير من البيانات المسجلة:



من السهل استيراد الإحداثيات إلى خرائط Google ورؤية أنه خلال التسجيل حلّق القمر الصناعي في مكان ما عبر أوسلو (الخط الأحمر):



يمكن العثور على ميزات أدوات Iridium Toolkit الأخرى على صفحة جيثب .

استنتاج


كما ترون ، فإن عملية استقبال الإشارات من الأقمار الصناعية ليست معقدة للغاية ، ومن وجهة نظر دراسة أنظمة الاتصالات ، إنها مهمة للغاية.

للراغبين في دراسة Iridium بمزيد من التفصيل ، بضع مقاطع فيديو (باللغة الإنجليزية):



آمل أن يكون هذا كافيا لفهم أفضل.

كالعادة ، كل التجارب الناجحة.

Source: https://habr.com/ru/post/ar483604/


All Articles