ترميز هامنج (بالإنجليزية: 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 فهذا يدل ان الكود لم يحصل به أي خطأ خلال الإرسال والاستقبال.

انظر أيضا

عدل

مصادر

عدل