ما هي مسافة الهلام ، وكيف يمكنني تحديدها لمخطط CRC؟

StackOverflow https://stackoverflow.com/questions/3800788

  •  25-09-2019
  •  | 
  •  

سؤال

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

Code Word 1 = 10110 

يرسل المرسل كلمة الرمز 1 ، وهناك خطأ تم إدخاله ، ويتلقى المتلقي 10100. لذلك ترى أن البت الرابع قد تالفة. هذا من شأنه أن يؤدي إلى مسافة الهامينغ 1 لأن:

Valid Code Word: 10110
Error Code Word: 10100
                 -----
XOR              00010

يؤدي XOR of the STRINGS إلى 1 ، وبالتالي فإن مسافة الهلام هي 1. أفهمها حتى هذه النقطة. ولكن بعد ذلك يسأل الأستاذ:

  • ما هي مسافة الهامينغ لبروتوكول CRC-16 بت القياسي؟
  • ما هي مسافة الهامينغ لبروتوكول CRC-32 بت القياسي؟

أنا مرتبك بعض الشيء ، وكنت أتساءل عما إذا كان شخص ما يمكن أن يساعد. شكرًا.

هل كانت مفيدة؟

المحلول

من المحتمل أنك اكتشفت ذلك الآن ، لكن ما طلبه هو على الأرجح الحد الأدنى لعدد أخطاء بتات البت التي لن يكتشفها رمز CRC. الجواب يعتمد على العرض ، متعدد الحدود وطول الرسالة. على سبيل المثال ، فإن أفضل ما يعتبر CRC-32 متعدد الحدود (0x1EDC6F41) مسافة هشّة 6 أو أفضل لرسائل تصل إلى 5،275 بت (Castaglioni ، Bräuer ، Herrmann: تحسين رموز التكرار الدورية مع 24 و 32 من البتات ، IEEE ، IEEE ، IEEE المعاملات على الاتصالات ، المجلد 41 رقم 6 ، يونيو 1993) مما يعني أنه من الضمان اكتشاف ما يصل إلى 5 بتات مقلوبة في رسالة واحدة تبلغ 5،275 بت أو أقل.

راجع للشغل ، تتضمن كلمة الكود checksum ، لذلك مثالك غير صحيح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top