بروتوكول اتصالات FT8 - كيف يعمل

مرحبا يا هابر.

ربما سمع كل من كان مهتمًا قليلاً بالاتصالات اللاسلكية وراديو الهواة عن بروتوكول الاتصالات الرقمية FT8 . ظهر هذا النوع من الاتصال في عام 2017 ، ومنذ ذلك الحين بدأت شعبيته تتزايد فقط.


المصدر: www.qsl.net/w1dyj/FT8٪20for٪20web.pdf

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

قصة


بالنسبة لأولئك البعيدين عن اتصالات الراديو للهواة ، خلفية تاريخية موجزة.

ظهرت أول محطات إذاعية هواة محلية الصنع ، وتم شراؤها لاحقًا ، منذ حوالي 100 عام. كانت الإشارة الوحيدة التي يمكنهم استقبالها ونقلها نغمة بسيطة ، وكان الإرسال يستخدم رمز مورس. بالطبع ، كان من الضروري في السابق تعلم كيفية أخذ CW عن طريق الأذن ، بالمناسبة كانت هذه المهارة مطلوبة لفترة طويلة ليس فقط بين الهواة ، ولكن أيضًا بين المحترفين ، يبدو أنه تم إلغاء مهنة مشغل الراديو في البحرية فقط في الستينيات. بالطبع ، كان هناك بعض الرومانسية في استقبال الإشارات الضعيفة ضد ضوضاء الأثير ، هذه هي الطريقة التي تمكن بها مشغل راديو هام للقرية من منطقة كوستروما في عام 1928 لتلقي إشارة SOS من فريق المنطاد المتعثر Umberto Nobile .

كانت الخطوة التالية هي الاتصال الصوتي - جعل الإرسال الصوتي باستخدام ميكروفون في تعديل النطاق الواحد الاتصال اللاسلكي أكثر ملاءمة. هذه الطريقة لا تزال تستخدم.

وأخيرًا ، في حوالي التسعينيات ، بدأت الاتصالات الرقمية تكتسب شعبية بين مشغلي راديو هام. في هذه الحالة ، تشكل الإشارة (عادة RTTY أو PSK) الكمبيوتر ، ويتواصل العامل مع المراسل باستخدام نوع من الدردشة النصية.



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

لكن احتمالات المعالجة الرقمية نمت ، وأخيرًا ، ظهر بطل مراجعتنا - معيار الاتصال FT8. يُترجم اسم FT8 على شكل فرانكي وتايلور ، تعديل 8-FSK. قام البروفيسور ستيفن فرانكي والفيزيائي الفلكي والحائز على جائزة نوبل جوزيف تايلور بإنشاء بروتوكول مثير للاهتمام وفعال لنقل البيانات.

ميزات FT8:

  • يبلغ طول الرسالة 15 ثانية ، ويتم إرسال الرسائل في فترات زمنية ثابتة ، مما يسهل فك التشفير.
  • يبلغ طول الرسالة 77 بت + CRC 12 بت.
  • تصحيح الخطأ FEC LDPC (174.87).
  • تعديل التردد 8-FSK ، المسافة بين النغمات 6.25Hz.
  • عرض النطاق الترددي 50 هرتز. مع هذا النطاق الضيق ، يمكن تشغيل محطات متعددة وفك تشفيرها في وقت واحد.
  • عتبة فك التشفير -20 ديسيبل.
  • القدرة الاختيارية على العمل تلقائيًا وإرسال الردود تلقائيًا وما إلى ذلك.

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

تبدو لقطة شاشة لبرنامج WSJT-X تدعم FT8 على النحو التالي:


المصدر: 3fs.net.au/ft8-digital-amateur-radio

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

تشفير البت


خذ بعين الاعتبار مثال عملي - نقل عبارة "CQ RA1ABC KO50". هنا CQ هو رمز الاتصال المقبول بشكل عام (مزيد من التفاصيل هنا ) ، RA1ABC هو إشارة مكالمة راديو الهواة ، KO50 هو ما يسمى محدد الشبكة ، والذي يحدد المنطقة التي يبث منها راديو الهواة.

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

const char A0[] = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ+-./?";
const char A1[] = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const char A2[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const char A3[] = "0123456789";

// Check for standard callsign
int i0, i1, i2, i3, i4, i5;
if ((i0 = char_index(A1, c6[0])) >= 0 && (i1 = char_index(A2, c6[1])) >= 0 &&
    (i2 = char_index(A3, c6[2])) >= 0 && (i3 = char_index(A4, c6[3])) >= 0 &&
    (i4 = char_index(A4, c6[4])) >= 0 && (i5 = char_index(A4, c6[5])) >= 0) {
        // This is a standard callsign
        int32_t n28 = i0;
        n28 = n28 * 36 + i1;
        n28 = n28 * 10 + i2;
        n28 = n28 * 27 + i3;
        n28 = n28 * 27 + i4;
        n28 = n28 * 27 + i5;
        printf("Pack28: n28=%d (%04xh)\n", n28, n28);
        return NTOKENS + MAX22 + n28;
}

إن فكرة استبدال الأحرف بالفهارس مهمة هنا ، وهي فعالة بحجم قاموس صغير. ونتيجة لذلك ، ستتم كتابة إشارة النداء "RA1ABC" بالشكل 0BF1C2C1h - لقد أنفقنا 4 بايت بدلاً من 6.

وبالمثل ، يتم كتابة محدد موقع الشبكة "KO50" كرقم 4BFAh 2 بايت. كل هذا ضروري لأن الحد الأقصى لطول الرسالة هو 77 بتة ؛ بالطبع ، يمكن إرسال نص عشوائي وحتى القياس عن بعد ، ولكن مع مراعاة هذه القيود. تم اختيار طول الرسالة 77 بت كحل وسط بين وقت الإرسال (حوالي 13 ثانية ، وهو ليس بهذه السرعة) وسعة المعلومات - يمكن جعل الرسالة أطول ، ولكن بعد ذلك سيتم إرسالها لفترة أطول.

ونتيجة لذلك ، سيتم تحويل جميع رسائل "CQ RA1ABC KO50" الخاصة بنا إلى كتلة البيانات 00 00 00 26 28 9F D4 92 FE 88. كما تمت إضافة CRC 14 بت إليها.

والخطوة التالية هي تحويل رسالة 91 بت إلى ما يسمى كود LDPC (التحقق من التكافؤ منخفض الكثافة) بطول 174 بت - يضيف التكرار المستخدم لتصحيح الأخطاء أثناء الاستقبال. في هذه الخطوة ، يتم تحويل الرسالة إلى 00 00 00 26 28 9F D4 92 FE 8A CA 0C F3 D1 34 33 88 D0 C2 9C 3D CC.

تشفير التردد


كل شيء هنا بسيط للغاية. في هذه الخطوة ، سنقوم بتحويل الرسالة إلى سلسلة من نغمات الترددات المختلفة. كما تعلم ، يمكننا الحصول على 8 نغمات (نوع التعديل FSK-8) ، بعد التحويل نحصل على تسلسل من النموذج 31406520 00000001 15353274 61112745 36563140 65201575 76054515 70523040 61407642 3140652 حيث يكون كل رقم رقم نغمة من 0 إلى 7

. مدة نغمة واحدة هي 0.16 ثانية ، بعد التسلسل الموضح أعلاه ، يمكنك بسهولة إنشاء ملف WAV أو التحكم مباشرة في مُركب التردد في حالة جهاز المرشد المستقل.

يبدو طيف الإشارة المولدة من رسالتنا كما يلي:



بالطبع ، من الأفضل أن تسمع مرة واحدة بدلاً من النظر إلى الطيف ، للأسف ، لا يسمح هابر بإرفاق ملف wav ، ولم نتمكن من العثور على فيديو عادي في youtube مع عرض لصوت FT8. لم يعد هواة الراديو المعاصرين بحاجة للاستماع إلى البث ؛ فالكمبيوتر يفعل ذلك لهم. يمكن العثور على مثال لعملية الراديو هنا:


استنتاج


كما ترون ، FT8 رياضيا هو بروتوكول مثير للاهتمام. النسخ الأصلية لكود مصدر WSJT-X مكتوبة بلغة Fortran ، وما زلت لا أستطيع اكتشافها معهم. يمكن الاطلاع على نسخة منفصلة من التشفير في C ++ على github.com/kgoba/ft8_lib ، وقد تم أخذ مقتطفات الشفرة أعلاه منه. يمكن لأولئك الذين يرغبون أيضًا تنزيل إصدار WSJT-X ، فهو مجاني ، يمكنك تجربته بدون جهاز إرسال ، فقط بطاقة صوت. يمكنك حتى الاستماع إلى ترددات FT8 باستخدام http://websdr.ewi.utwente.nl:8901 وإعادة توجيه الصوت عبر كبل صوتي افتراضي ، بحيث يمكنك مشاهدة البرنامج قيد التشغيل بدون جهاز إرسال واستقبال وبدون إشارة استدعاء r / l.

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

جميع التجارب الناجحة.

All Articles