كيف تحسب كود هامينج

مؤلف: Rachel Coleman
تاريخ الخلق: 27 كانون الثاني 2021
تاريخ التحديث: 17 قد 2024
Anonim
How to send a self-correcting message (Hamming codes)
فيديو: How to send a self-correcting message (Hamming codes)

المحتوى

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

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

الخطوة 1

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


مثال:

1 1 0 1 0 0 1 0 يصبح _ _ 1 _ 1 0 1 _ 0 0 1 0

تظل البتات الأصلية بنفس الترتيب ، ولكن تم نشرها لإدخال بتات التكافؤ.

الخطوة 2

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

إذا كان عدد الآحاد زوجيًا ، فاضبط البت الأول على صفر. خلاف ذلك ، اضبطه على واحد.

مثال:

تحتوي البتات 1 و 3 و 5 و 7 و 9 و 11 من _ _ 1 _ 1 0 1 _ 0 0 1 0 ، _11101 ، على أربعة آحاد. هذا زوجي ، لذلك يتم ضبط البتة الأولى على صفر: 0 _ 1 _ 1 0 1 _ 0 0 1 0

الخطوه 3

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


مثال:

البتة 2: 0 _ 1 _ 1 0 1 _ 0 0 1 0 الشيكات _1 ، 01 ، 01 ، والتي تحتوي على ثلاثة آحاد ، لذلك تم تعيين البت 2 على واحد. البتة 4: _ 0 1 1 1 0 1 _ 0 0 1 0 تتحقق من _101 ، 0 ، التي تحتوي على وحدتين ، لذلك تم تعيين البتة 4 على الصفر. البتة 8: 0 1 1 0 1 0 1 _ 0 0 1 0 تتحقق من _0010 ، والتي تحتوي على واحدة فقط ، لذلك تم تعيين البت 8 على واحد.

لذلك تم ترميز الكلمة كـ 011010110010.

الخطوة 4

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

الخطوة الخامسة

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

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