جهاز فك التشفير فيتربي

يستخدم جهاز فك التشفير Viterbi خوارزمية Viterbi لفك تشفير تدفق البتات الذي تم ترميزه باستخدام رمز التفافي أو رمز شبكي .

توجد خوارزميات أخرى لفك تشفير تدفق البيانات المشفر بالالتفاف (على سبيل المثال، خوارزمية فانو ). تُعد خوارزمية فيتربي الأكثر استهلاكًا للموارد، لكنها تُجري فك التشفير باستخدام أقصى احتمال . تُستخدم غالبًا لفك تشفير الرموز الالتفافية ذات أطوال القيود k≤3، ولكن تُستخدم قيم تصل إلى k=15 عمليًا.

تم تطوير فك تشفير فيتربي بواسطة أندرو جيه. فيتربي ونُشر في ورقة بحثية بعنوان "حدود الخطأ للرموز الالتفافية وخوارزمية فك تشفير مثالية تقاربياً". [ 1 ]

توجد تطبيقات برمجية وأخرى مادية لفك تشفير فيتربي.

يتم استخدام فك تشفير فيتربي في خوارزمية فك تشفير فيتربي التكرارية .

التنفيذ على الأجهزة

إحدى الطرق الشائعة لتنفيذ وحدة فك تشفير فيتربي للأجهزة

يتكون جهاز فك تشفير فيتربي للأجهزة للرموز الأساسية (غير المثقوبة) عادةً من الكتل الرئيسية التالية:

  • وحدة القياس المترية للفرع (BMU)
  • وحدة قياس المسار (PMU)
  • وحدة التتبع (TBU)

وحدة القياس المترية للفرع (BMU)

نموذج لتطبيق وحدة قياس الفرع

تتمثل وظيفة وحدة قياس الفرع في حساب مقاييس الفرع ، وهي عبارة عن مسافات معيارية بين كل رمز ممكن في أبجدية الشفرة والرمز المستلم.

يوجد نوعان من مُفكِّكات فيتربي: مُفكِّكات القرار الصارم ومُفكِّكات القرار المرن. يستقبل مُفكِّك القرار الصارم دفق بتات بسيطًا كمدخل، ويُستخدم مقياس مسافة هامينغ . أما مُفكِّك القرار المرن، فيستقبل دفق بتات يحتوي على معلومات حول موثوقية كل رمز مُستقبَل. على سبيل المثال، في ترميز ثلاثي البتات، يمكن ترميز معلومات الموثوقية هذه كما يلي:

قيمةمعنى
٠٠٠الأقوى0
001قوي نسبياً0
010ضعيف نسبياً0
011الأضعف0
100الأضعف1
101ضعيف نسبياً1
110قوي نسبياً1
111الأقوى1

بالطبع، ليست هذه هي الطريقة الوحيدة لترميز بيانات الموثوقية.

تُستخدم المسافة الإقليدية المربعة كمقياس لفك تشفير القرارات المرنة.

وحدة قياس المسار (PMU)

نموذج لتنفيذ وحدة قياس المسار لفك تشفير محدد K=4

تلخص وحدة قياس المسار مقاييس الفروع للحصول على مقاييس لـ2ك-1{\displaystyle 2^{K-1}}المسارات، حيث K هو طول قيد الكود، والذي يمكن اختيار أحدها في النهاية على أنه الأمثل . في كل دورة ساعة يقوم بها2ك-1{\displaystyle 2^{K-1}}اتخاذ القرارات، مما يؤدي إلى مسارات غير مثالية عن قصد. تُسجل نتائج هذه القرارات في ذاكرة وحدة التتبع.

تتكون العناصر الأساسية لوحدة إدارة الطاقة (PMU) من وحدات ACS (الإضافة والمقارنة والاختيار) . ويتم تحديد طريقة اتصالها فيما بينها بواسطة مخطط الشبكة الخاص بكل كود .

بما أن مقاييس الفروع تكون دائماً0{\displaystyle \geq 0}يجب وجود دائرة إضافية (غير موضحة في الصورة) لمنع عدادات القياس من تجاوز الحد الأقصى. ثمة طريقة بديلة تُغني عن مراقبة نمو قياس المسار، وهي السماح لقياسات المسار بالتدوير؛ لاستخدام هذه الطريقة، من الضروري التأكد من احتواء مُجمِّعات قياس المسار على عدد كافٍ من البتات لمنع تقارب قيمتي "الأفضل" و"الأسوأ" ضمن نطاق 2 (n-1) . تبقى دائرة المقارنة دون تغيير جوهري.

نموذج لتنفيذ وحدة ACS

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

وحدة التتبع (TBU)

نموذج لتنفيذ وحدة تتبع الأخطاء

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

لاحظ أن التنفيذ الموضح في الصورة يتطلب ترددًا مضاعفًا. توجد بعض الحيل التي تلغي هذا الشرط.

مشاكل التنفيذ

التكميم لفك تشفير القرار المرن

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

تي=شمال02ك،{\displaystyle \,\!T={\sqrt {\frac {N_{0}}{2^{k}}}},}

أينشمال0{\displaystyle N_{0}}هي كثافة طيف قدرة الضوضاء ، و k هو عدد البتات لاتخاذ القرار المرن.

حساب المقياس الإقليدي

المعيار التربيعي (2{\displaystyle \ell _{2}}يمكن تبسيط المسافة بين الرموز المستلمة والرموز الفعلية في أبجدية الشفرة إلى شكل مجموع/فرق خطي، مما يجعلها أقل كثافة حسابية.

لنفترض وجود رمز التفافي من النوع 1/2 ، والذي يُولّد بتين ( 00 ، 01 ، 10 أو 11 ) لكل بت إدخال ( 1 أو 0 ). تُترجم إشارات العودة إلى الصفر هذه إلى شكل لا يعود إلى الصفر كما هو موضح بجانبها.

الأبجدية المشفرةرسم الخرائط المتجهة
٠٠+1، +1
01+1، -1
10-1، +1
11-1، -1

يمكن تمثيل كل رمز مستلم في شكل متجه على النحو التالي: v r = {r 0 , r 1 }، حيث r 0 و r 1 هما قيم قرار مرنة، تشير مقاديرها إلى الموثوقية المشتركة للمتجه المستلم، v r .

يمكن تمثيل كل رمز في أبجدية الشفرة، على نحو مماثل، بواسطة المتجه v i = {±1, ±1}.

الحساب الفعلي لمقياس المسافة الإقليدية هو:

د=(vر-vأنا)2=vر2-2vرvأنا+vأنا2{\displaystyle \,\!D=({\overrightarrow {v_{r}}}-{\overrightarrow {v_{i}}})^{2}={\overrightarrow {v_{r}}}^{2}-2{\overrightarrow {v_{r}}}{\overrightarrow {v_{i}}}+{\overrightarrow {v_{i}}}^{2}}

يمثل كل حد مربع مسافة معيارية، تُشير إلى طاقة الرمز. على سبيل المثال، يمكن حساب طاقة الرمز vᵢ = {±1, ±1} على النحو التالي :

vأنا2=(±1)2+(±1)2=2{\displaystyle \,\!{\overrightarrow {v_{i}}}^{2}=(\pm 1)^{2}+(\pm 1)^{2}=2}

وبالتالي، فإن مصطلح الطاقة لجميع الرموز في أبجدية الشفرة ثابت (عند القيمة ( المُعَيَّرة ) 2).

تقارن عملية الجمع والمقارنة والاختيار ( ACS ) المسافة المترية بين الرمز المستلم ||v r || وأي رمزين في أبجدية الترميز يلتقي مساراهما عند عقدة في الشبكة المقابلة، وهما ||v i (0) || و ||v i (1) || . وهذا يعادل مقارنة

د0=vر2-2vرvأنا0+vأنا02{\displaystyle \,\!D_{0}={\overrightarrow {v_{r}}}^{2}-2{\overrightarrow {v_{r}}}{\overrightarrow {v_{i}^{0}}}+{\overrightarrow {v_{i}^{0}}}^{2}}

و

د1=vر2-2vرvأنا1+vأنا12{\displaystyle \,\!D_{1}={\overrightarrow {v_{r}}}^{2}-2{\overrightarrow {v_{r}}}{\overrightarrow {v_{i}^{1}}}+{\overrightarrow {v_{i}^{1}}}^{2}}

لكن، مما سبق نعلم أن طاقة vᵢ ثابتة (تساوي القيمة المعيارية 2)، وطاقة vᵣ متساوية في الحالتين . وهذا يُختزل المقارنة إلى دالة دنيا بين حدي الضرب النقطي ( الأوسطين ) .

مين(-2vرvأنا0،-2vرvأنا1)=الأعلى(vرvأنا0،vرvأنا1){\displaystyle \,\!\min(-2{\overrightarrow {v_{r}}}{\overrightarrow {v_{i}^{0}}},-2{\overrightarrow {v_{r}}}{\overrightarrow {v_{i}^{1}}})=\max({\overrightarrow {v_{r}}}{\overrightarrow {v_{i}^{0}}},{\overrightarrow {v_{r}}}{\overrightarrow {v_{i}^{1}}})}

بما أن عملية الحد الأدنى على الأعداد السالبة يمكن تفسيرها على أنها عملية الحد الأقصى المكافئة على الكميات الموجبة.

يمكن توسيع كل مصطلح من مصطلحات الضرب النقطي على النحو التالي

الأعلى(±ر0±ر1،±ر0±ر1){\displaystyle \,\!\max(\pm r_{0}\pm r_{1},\pm r_{0}\pm r_{1})}

حيث تعتمد إشارات كل حد على الرموز، vᵢ ( 0) و vᵢ ( 1) ، التي تتم مقارنتها. وبالتالي، يمكن إجراء حساب المسافة المترية الإقليدية التربيعية لحساب مقياس الفرع بعملية جمع/طرح بسيطة.

تتبع الأخطاء

يتمثل النهج العام لتتبع الأخطاء في تجميع مقاييس المسار لمدة تصل إلى خمسة أضعاف طول القيد.(5(ك-1)){\displaystyle (5(K-1))}ابحث عن العقدة ذات التكلفة المتراكمة الأكبر، وابدأ التتبع العكسي من هذه العقدة.

القاعدة العامة الشائعة الاستخدام هي أن يكون عمق الاقتطاع خمسة أضعاف طول القيد (الذاكرة)ك-1{\displaystyle K-1}تكون دقة ( ) لرمز الالتفاف دقيقة فقط لرموز المعدل 1/2. أما بالنسبة لمعدل عشوائي، فإن القاعدة العامة الدقيقة هي2.5(ك-1)1-ر{\displaystyle {\frac {2.5(K-1)}{1-r}}}أينر{\displaystyle r}معدل الترميز . [ 2 ]

ومع ذلك، فإن حساب العقدة التي تراكمت عليها أكبر تكلفة (سواء كانت أكبر أو أصغر مقياس مسار متكامل) يتضمن إيجاد القيم القصوى أو الدنيا لعدة قيم (عادةً2ك-1{\displaystyle 2^{K-1}}) الأرقام، والتي قد تستغرق وقتًا طويلاً عند تنفيذها على أنظمة الأجهزة المدمجة.

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

القيود

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

عند فك تشفير رسالة متضررة بفعل قناة غاوسية جمعية، ينتج عن مُفكِّك فيتربي أخطاء مُجمَّعة في دفعات. [ 3 ] [ 4 ] لا تستطيع رموز تصحيح الأخطاء الفردية وحدها تصحيح هذه الدفعات، لذا يجب تصميم كلٍّ من رمز الالتفاف ومُفكِّك فيتربي بقوة كافية لخفض الأخطاء إلى معدل مقبول، أو استخدام رموز تصحيح دفعات الأخطاء .

رموز مثقوبة

يتم عادةً تنفيذ وحدة فك تشفير فيتربي للأجهزة للرموز المثقوبة على النحو التالي:

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

تنفيذ البرمجيات

تُعد عملية ACS butterfly واحدة من أكثر العمليات استهلاكًا للوقت، والتي يتم تنفيذها عادةً باستخدام لغة التجميع ومجموعة تعليمات مناسبة (مثل SSE2 ) لتسريع وقت فك التشفير.

التطبيقات

تُستخدم خوارزمية فك التشفير فيتربي على نطاق واسع في المجالات التالية:

مراجع

  1. فيتربي، أ. (أبريل 1967). "حدود الخطأ للرموز الالتفافية وخوارزمية فك التشفير المثلى تقاربياً". معاملات IEEE في نظرية المعلومات . 13 (2): 260-269 . doi : 10.1109/tit.1967.1054010 .
  2. ب. مويسون، "قاعدة عمق القطع للرموز الالتفافية"، ورشة عمل نظرية المعلومات والتطبيقات لعام 2008، سان دييغو، كاليفورنيا، 2008، ص 555-557، doi : 10.1109/ITA.2008.4601052 .
  3. ستيفان هوست، رولف يوهانسون، ديمتري ك. زيجانجيرود، كاميل ش. زيجانجيرود، وفيكتور ف. زيابلود. "حول توزيع أطوال انفجارات خطأ الإخراج لفك تشفير فيتربي للرموز الالتفافية" .
  4. كاري، إس جيه؛ هارمون، دبليو دي "حد أقصى لطول انفجار أخطاء فك تشفير فيتربي" .