قانون هامينج في الاتصالات Hamming Code 

اقرأ في هذا المقال


في الأنظمة الرقمية، يمكن أن تتلف البيانات المرسلة للاتصال بسبب الضوضاء الخارجية وأي أعطال مادية أخرى، حيث إذا كانت البيانات المرسلة غير متطابقة مع بيانات الإدخال المحددة، فإنّها تسمى “خطأ” كما يمكن لأخطاء البيانات حذف البيانات الحيوية في الأنظمة الرقمية، وسيكون نقل البيانات على شكل بت “0” و”1″ في الأنظمة الرقمية.

ما هو اكتشاف الأخطاء وتصحيحها في الأنظمة الرقمية؟

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

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

أمّا إذا تم تغيير أي جزء من البت، فيمكن أن يتأثر أداء النظام بأكمله، حيث إذا تم تغيير البت “1” إلى البت “0” أو العكس، فإنّها تسمى خطأ بت، وهناك أنواع مختلفة من الأخطاء مثل أخطاء البت المفرد والأخطاء المتعددة وأخطاء الاندفاع، أمّا تصحيح الخطأ هو تصحيح البيانات المرسلة من المرسل إلى المستقبل حيث يمكن تصحيح الخطأ في نوعين.

أولاً: تصحيح الخطأ العكسي:

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

ثانياً: تصحيح الخطأ إلى الأمام:

إذا وجدت البيانات التي يتلقاها المتلقي الخطأ، فإنّه ينفذ أكواد تصحيح الأخطاء، لتصحيح البيانات واستعادتها تلقائياً، حيث إذا كان هناك “n” عدد من بتات البيانات و”r” عدد من البتات الإضافية، فإنّ مجموعات المعلومات ستكون “2r”.

2r > = n+r+1

أنواع أكواد الكشف عن الخطأ:

أولاً: فحص التكافؤ:

فحص التكافؤ: هو فحص تتم فيه إضافة البت الزائد المسمى بت التكافؤ لجعل عدد البتات زوجياً أو فردياً في حالة التكافؤ الزوجي أو التكافؤ الفردي، ويحسب جهاز الاستقبال عدد البتات “1” في إطار لإضافة بت التكافؤ.

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

ثانياً: فحص التكرار الطولي “LRC”:

عندما يتم تنظيم مجموعة أو كتلة البتات، يمكن استخدام طريقة “LRC” للتحقق من بت التكافؤ في كل إطار، كما يساعد على إرسال مجموعة بتات التكافؤ مع البيانات الأصلية ويتحقق من التكرار.

ثالثاً: فحص التكرار دوري:

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

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

ما هو قانون هامينج؟

رمز هامينج: هو رمز خطي يستخدم في عملية اكتشاف الأخطاء حتى “2-وسيط الأخطاء”، كما أنّه قادر على اكتشاف أخطاء أحادية البت، وفي هذه الطريقة تتم إضافة البتات الزائدة إلى البيانات أو الرسالة بواسطة المرسل لتشفير البيانات، ومن أجل القيام باكتشاف الأخطاء وتصحيحها تتم إضافة هذه البتات الزائدة في مواضع معينة لعملية تصحيح الخطأ.

أساسيات قانون هامينج في الاتصالات Hamming Code:

في عام 1950م، اخترع ريتشارد دبليو هامينغ رموز هامنج لاكتشاف وتصحيح الأخطاء في البيانات، وبعد تطور أجهزة الكمبيوتر ذات الموثوقية العالية، وفر أكواد هامينج لأكواد تصحيح الخطأ “1”، وبعد ذلك عمل على تمديد رموز اكتشاف الخطأ “2”، كما يتم إنشاء أكواد الربط؛ لأنّ فحص التكافؤ لا يمكنه اكتشاف وتصحيح الأخطاء في البيانات.

كما يتم إدخال رموز هامنج إلى أي طول كتلة من البيانات بين البيانات الفعلية وبتات التكرار، وطور مجموعة من الخوارزميات للعمل على مشاكل طرق تصحيح الخطأ، وهذه الرموز مستعملة على نطاق كبير في ذاكرة “ECC”.

  • “ECC” هي اختصار لـ “Error correction code”.

أولاً: عملية ترميز رسالة باستخدام كود هامينج:

  • الخطوة الأولى، هي حساب عدد البتات الزائدة في الرسالة، فعلى سبيل المثال إذا كانت الرسالة تحتوي على “n” عدد من البتات، و”p” هو عدد من البتات الزائدة التي تمت إضافتها إلى الرسالة، فإنّ “np” تشير إلى “n + p + 1” حالات مختلفة، حيث يمثل “n + p” موقع الخطأ في كل موضع بت، و”1″ هو حالة إضافية لا يمثل أي خطأ.
  • الخطوة الثانية، ضع البتات الزائدة في الموضع الدقيق أو الصحيح، كما يتم إدخال بتات “p” في مواضع البت وهي قوة “2” مثل “1” و”2″ و”4″ و”8″ و”16″، كما تدل مواضع البت هذه على أنّها “p1″ أي الموضع 1 و”p2″ أي الموضع 2 و”p3” أي الموضع 4.
  • الخطوة الثالثة، احسب قيم البتات الزائدة عن الحاجة، حيث يتم استخدام بتات التكافؤ لحساب قيم البتات الزائدة عن الحاجة، ويمكن أن تجعل بتات التكافؤ رقم “1” في الرسالة إمّا زوجياً أو فردياً، حيث إذا كان إجمالي عدد 1 في الرسالة متساوياً، فسيتم استخدام التكافؤ، وإذا كان إجمالي عدد 1 في الرسالة فردياً، فسيتم استخدام التكافؤ الفردي.

ثانياً: عملية فك تشفير رسالة في كود هامينج:

  • عد عدد البتات الزائدة عن الحاجة، والصيغة لتشفير الرسالة باستخدام البتات الزائدة هي “2p≥ n + p + 1″
  • تصحيح مواضع كل البتات الزائدة عن الحاجة، ويتم وضع “p” عدد البتات الزائدة في مواضع صغيرة من القوة “2” مثل “1” و”2″ و”4″ و”8″ و”16″ و”32″.
  • فحص التكافؤ أي التكافؤ الفردي والتكافؤ الزوجي، ويتم إيجاد بتات التكافؤ على أساس عدد “1” في بتات البيانات والبتات الزائدة عن الحاجة، فعلى سبيل المثال يُعد تكافؤ “p1” هو “1” و”3″ و”5″ و”7″ و”9″ و”11″، ويُعد تكافؤ “p2” هو “2” و”3″ و”6″ و”7″ و”10″ و”11″، ويُعد تكافؤ “p3” هو “4-7″ و”12-15″ و”20-23”.

مزايا قانون هامينج:

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

عيوب قانون هامينج:

  • يُعد بأنّه الأفضل فقط لتصحيح الخطأ واكتشافه، وذلك إذا كانت هناك أخطاء بت متعددة، فيمكن أن يتلف الكل.
  • يمكن لخوارزمية كود “Hamming” أن تحل أخطاء أحادية البت فقط.

تطبيقات كود هامينج:

  • الحوسبة.
  • ضغط البيانات.
  • حل الألغاز ورموز التربو.
  • البلازما “CAM”.
  • أسلاك محمية.
  • ذاكرة الكمبيوتر.
  • فتح الموصلات.
  • الأنظمة المدمجة والمعالج.

شارك المقالة: