ترميز هامنج

ترميز هامنج (بالإنجليزية: hamming code)‏ هو ترميز خطي يستخدم لكشف وتصحيح أخطاء البيانات الرقمية وحفظها، والذي طُور من طرف ريتشارد ويسلي هامنج.[1] هناك إمكانية لاستخدام هامنج كود مع ما يعرف ببت التماثل، واللذان يستخدمان في المرسل والمستقبل لمعرفة إذا ما ما حدث تغير أو خطأ في الكود الرقمي المرسل وتصحيح الخطأ في حال حدوثه، من أجل ضمان وصول البيانات المرسلة بدقة.

ترميز هامينغ الثنائي
سميت باسمريتشارد هامينغ
تصنيف
نوعكود خطي
طول الكتلة2r − 1 حيث r ≥ 2
طول الرسالة2rr − 1
معدل1 − r/(2r − 1)
مسافة3
حجم الالفبائية2
تدوين رياضي[2r − 1, 2rr − 1, 3]2-كود
خصائص
كود مثالي

مثال يبين كيفية استكشاف الخطأ

جدول 1
جدول 2
جدول 3
جدول 4
جدول 5
جدول 6

نفرض ان المرسل سوف يقوم بارسال الكود التالي المكون من 8 بت بمساعدة هامنج كود:

طريقة هامنج كود انه يقوم بارسال بت اضافية تسمى البت المساعدة إلى الكود المرسل في المواقع 32,16,8,4,2,1 إلى اخره على حسب طول الكود المرسل.
على سبيل المثال إذا اراد المرسل إرسال 4 بت يتم إضافة البت المساعدة في الكود في المواقع 1 و2 و4 فيصبح الكود المعدل مكون من 7 بت مثال اخر عند إرسال كود مكون من 8 بت يتم إضافة البت المساعدة في الكود في المواقع 1 و2 و4 و8 فيصبح الكود المعدل مكون من 12 بت كما موضح في الجدول 2.

لاستخراج قيمة البت المساعدة يقوم بتحويل البت التي قيمتها 1 من الكود المرسل إلى نظام عدد ثنائي ثم عمل بوابة اكس أور (XOR)ما بينها وبعدها يتم تعويض الناتج في المواقع 1 و2 و4 و8 كما هو موضح في الجدولين 3 و4.
نفترض أن المستقبل استقبل الكود من غير أخطاء فيقوم المستقبل بمعرفة الخطأ. عن طرق تحويل المواقع التي قيمتها 1 في الكود إلى نظام عدد ثنائي وعمل بوابة (XOR) ما بينها والناتج مع البت المساعدة أيضا عن طريق البوابة اكس اور كما هوموضح في الجدولين 5 و6. وإذا كان الناتج 0 فهذا يدل ان الكود لم يحصل به أي خطأ خلال الإرسال والاستقبال.

انظر أيضا

مصادر

  1. Hamming-Code – Wikipedia [الألمانية]
  • بوابة اتصال عن بعد
  • بوابة علم الحاسوب
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.