ما هي مسافة الهلام ، وكيف يمكنني تحديدها لمخطط CRC؟
-
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 ، لذلك مثالك غير صحيح.