हैमिंग कोड: त्रुटि सुधार उदाहरण

विषय - सूची:

Anonim

एक त्रुटि क्या है?

संचार के दौरान प्रेषित डेटा को दूषित किया जा सकता है। यह बाहरी शोर या अन्य शारीरिक विफलताओं से प्रभावित होने की संभावना है। ऐसी स्थिति में, इनपुट डेटा आउटपुट डेटा के समान नहीं हो सकता है। इस बेमेल को "त्रुटि" के रूप में जाना जाता है।

डेटा त्रुटियों के परिणामस्वरूप महत्वपूर्ण या सुरक्षित डेटा की हानि हो सकती है। डिजिटल सिस्टम में ज्यादातर डेटा ट्रांसफर 'बिट ट्रांसफर' के रूप में होगा। यहां तक ​​कि एक छोटा सा परिवर्तन पूरे सिस्टम के प्रदर्शन को प्रभावित कर सकता है। एक डेटा अनुक्रम में, यदि 1 को 0 में बदल दिया जाता है या 0 को 1 में बदल दिया जाता है, तो इसे "बिट त्रुटि" कहा जाता है।

इस हैमिंग कोड ट्यूटोरियल में, आप सीखेंगे:

  • एक त्रुटि क्या है?
  • त्रुटियों के प्रकार
  • त्रुटि जांच और सुधार क्या है?
  • एक हैमिंग कोड क्या है?
  • हैमिंग कोड का इतिहास
  • हेमिंग कोड का आवेदन:
  • कोडिंग के लाभ
  • हामिंग कोड के नुकसान
  • हमिंग कोड का उपयोग करके एक संदेश को एन्कोड करने की प्रक्रिया
  • एक संदेश को हामिंग कोड में डिक्रिप्ट करने की प्रक्रिया

त्रुटियों के प्रकार

मुख्य रूप से तीन प्रकार की त्रुटि होती है जो प्रेषक से रिसीवर तक डेटा ट्रांसमिशन में होती है।

  • एकल बिट त्रुटियों
  • एकाधिक बिट त्रुटियाँ
  • फटने की त्रुटि

एकल बिट त्रुटियाँ

संपूर्ण डेटा अनुक्रम में एक बिट में किए गए परिवर्तन को "एकल बिट त्रुटि" के रूप में जाना जाता है। हालाँकि, एकल-बिट त्रुटि की घटना सामान्य नहीं है। इसके अलावा, यह त्रुटि केवल एक समानांतर संचार प्रणाली में होती है क्योंकि डेटा एक ही पंक्ति में बिटवाइज़ स्थानांतरित किया जाता है। इसलिए, अधिक संभावना है कि एक एकल पंक्ति शोर हो सकती है।

एकाधिक बिट त्रुटियाँ

डेटा अनुक्रम में, अगर रिसीवर के लिए एक ट्रांसमीटर के डेटा अनुक्रम के दो या अधिक बिट्स में परिवर्तन होता है, तो इसे "एकाधिक बिट त्रुटियों" के रूप में जाना जाता है।

इस प्रकार की त्रुटि ज्यादातर सीरियल और समानांतर प्रकार के डेटा संचार नेटवर्क दोनों में होती है।

फटने का खतरा

डेटा अनुक्रम में बिट्स के सेट का परिवर्तन "फट त्रुटि" के रूप में जाना जाता है। इस प्रकार की डेटा त्रुटि की गणना पहले-बिट परिवर्तन से अंतिम बिट परिवर्तन तक की जाती है।

त्रुटि जांच और सुधार क्या है?

डिजिटल संचार प्रणाली में त्रुटि एक संचार प्रणाली से दूसरे में स्थानांतरित की जाएगी। यदि इन त्रुटियों का पता नहीं लगाया जाता है और ठीक किया जाता है, तो डेटा खो जाएगा। प्रभावी संचार के लिए, सिस्टम डेटा को उच्च सटीकता के साथ स्थानांतरित करना चाहिए। यह पहले त्रुटियों की पहचान करके और उन्हें सुधारने के द्वारा किया जाएगा।

त्रुटि का पता लगाना त्रुटियों का पता लगाने की एक विधि है जो डेटा संचार प्रणाली में एक ट्रांसमीटर से रिसीवर तक प्रेषित डेटा में मौजूद है।

यहां, स्रोत से संचारित होने पर, डेटा में जोड़कर, आप इन त्रुटियों को खोजने के लिए अतिरेक कोड का उपयोग कर सकते हैं। इन कोड को "त्रुटि कोड का पता लगाने में त्रुटि" कहा जाता है।

तीन प्रकार के त्रुटि पहचान कोड हैं:

  • समता जाँच
  • चक्रीय अतिरेक जाँच (CRC)
  • अनुदैर्ध्य अतिरेक जाँच (LRC)

समता जाँच:

  • इसे समता जाँच के रूप में भी जाना जाता है।
  • इसमें त्रुटि का पता लगाने के लिए एक लागत प्रभावी तंत्र है।
  • इस तकनीक में, निरर्थक बिट को समता बिट के रूप में जाना जाता है। इसे हर डेटा यूनिट के लिए जोड़ा जाता है। इकाई में कुल 1s की संख्या भी बन जानी चाहिए, जिसे समता बिट के रूप में जाना जाता है।

अनुदैर्ध्य अतिरेक जाँच

इस त्रुटि का पता लगाने की तकनीक में, बिट्स के एक ब्लॉक को सारणीबद्ध प्रारूप में व्यवस्थित किया जाता है। एलआरसी विधि आपको प्रत्येक कॉलम के लिए समता बिट की गणना करने में मदद करती है। मूल डेटा के साथ इस समता का सेट भी भेजा जाता है। समता का ब्लॉक आपको अतिरेक की जांच करने में मदद करता है।

चक्रीय अतिरेक की जाँच

चक्रीय अतिरेक जाँच निरर्थक का एक क्रम है जिसे इकाई के अंत में जोड़ा जाना चाहिए। इसीलिए परिणामी डेटा इकाई को दूसरी, पूर्वनिर्धारित बाइनरी संख्या से विभाज्य होना चाहिए।

गंतव्य पर, आने वाले डेटा को एक ही नंबर से विभाजित करने की आवश्यकता होती है। यदि कोई शेष नहीं है, तो डेटा यूनिट को सही माना जाता है और स्वीकार किया जाता है। अन्यथा, यह इंगित करता है कि ट्रांसमिशन में डेटा यूनिट क्षतिग्रस्त है, और इसलिए इसे अस्वीकार कर दिया जाना चाहिए।

एक हैमिंग कोड क्या है?

हैमिंग कोड एक लाइनर कोड है जो दो तत्काल बिट त्रुटियों के लिए त्रुटि का पता लगाने के लिए उपयोगी है। यह एकल-बिट त्रुटियों में सक्षम है।

हैमिंग कोड में, स्रोत संदेश में अनावश्यक बिट्स जोड़कर संदेश को एन्क्रिप्ट करता है। त्रुटि का पता लगाने और सुधार प्रक्रिया को पूरा करने के लिए इन अनावश्यक बिट्स को ज्यादातर संदेश में कुछ पदों पर डाला और उत्पन्न किया जाता है।

हैमिंग कोड का इतिहास

  • हैमिंग कोड त्रुटियों का पता लगाने के लिए आरडब्ल्यूएमएएमईएम द्वारा निर्मित तकनीक है।
  • हैमिंग कोड को किसी भी लंबाई की डेटा इकाइयों पर लागू किया जाना चाहिए और डेटा और अतिरेक बिट्स के बीच संबंध का उपयोग करता है।
  • उन्होंने त्रुटि-सुधार पद्धति की समस्या पर काम किया और हैमिंग कोड नामक एल्गोरिदम का एक तेजी से शक्तिशाली सरणी विकसित किया।
  • 1950 में, उन्होंने हेमिंग कोड प्रकाशित किया, जो आज ईसीसी मेमोरी जैसे अनुप्रयोगों में व्यापक रूप से उपयोग किया जाता है।

हैमिंग कोड का अनुप्रयोग

हेमिंग कोड का उपयोग करने के कुछ सामान्य अनुप्रयोग यहां दिए गए हैं:

  • उपग्रहों
  • स्मृति
  • मोडेम
  • प्लाज्मा
  • कनेक्टर्स खोलें
  • परिरक्षण तार
  • एंबेडेड प्रोसेसर

कोडिंग के लाभ

  • कोडिंग विधि उन नेटवर्कों पर प्रभावी होती है जहां एकल-बिट त्रुटियों के लिए डेटा स्ट्रीम दी जाती हैं।
  • हमिंग कोड न केवल थोड़ी त्रुटि का पता लगाता है, बल्कि आपको त्रुटि वाले बिट को इंडेंट करने में भी मदद करता है ताकि इसे ठीक किया जा सके।
  • हैमिंग कोड के उपयोग में आसानी कंप्यूटर मेमोरी और एकल-त्रुटि सुधार में उपयोग के लिए उन्हें उपयुक्त बनाती है।

हामिंग कोड के नुकसान

  • एकल-बिट त्रुटि का पता लगाने और सुधार कोड। हालांकि, यदि कई बिट्स की स्थापना त्रुटि है, तो परिणाम एक और बिट में हो सकता है जिसे बदला जाना सही होना चाहिए। यह डेटा को और त्रुटिपूर्ण बना सकता है।
  • हैमिंग कोड एल्गोरिथ्म केवल एकल बिट्स मुद्दों को हल कर सकता है।

हमिंग कोड का उपयोग करके एक संदेश को एन्कोड करने की प्रक्रिया

संदेश भेजने के लिए प्रेषक द्वारा उपयोग की जाने वाली प्रक्रिया में निम्नलिखित तीन चरण शामिल हैं:

  • निरर्थक बिट्स की कुल संख्या की गणना।
  • निरर्थक बिट्स की स्थिति की जाँच करना।
  • अंत में, इन निरर्थक बिट्स के मूल्यों की गणना।

जब उपर्युक्त निरर्थक बिट्स संदेश के भीतर एम्बेडेड होते हैं, तो इसे उपयोगकर्ता को भेजा जाता है।

चरण 1) निरर्थक बिट्स की कुल संख्या की गणना।

मान लें कि संदेश में है:

  • n - डेटा बिट्स की संख्या
  • p - निरर्थक बिट्स की संख्या जो इसमें जोड़ी जाती है ताकि np कम से कम (n + p + 1) अलग-अलग राज्यों को इंगित कर सके।

यहाँ, (n + p) प्रत्येक (n + p) बिट स्थिति में एक त्रुटि के स्थान को दर्शाया गया है और एक अतिरिक्त स्थिति में कोई त्रुटि नहीं है। जैसा कि पी बिट्स 2 पी राज्यों को इंगित कर सकता है , 2 पी को कम से कम बराबर (एन + पी + 1) के बराबर है।

चरण 2) निरर्थक बिट्स को उनकी सही स्थिति में रखना।

पी निरर्थक बिट्स को 2 की शक्तियों के बिट पदों पर रखा जाना चाहिए। उदाहरण के लिए, 1, 2, 4, 8, 16, आदि। उन्हें पी 1 (स्थिति 1 पर), पी 2 (स्थिति 2 पर) के रूप में संदर्भित किया जाता है। , पी 3 (स्थिति 4 पर), आदि।

चरण 3) निरर्थक बिट के मूल्यों की गणना।

निरर्थक बिट्स समता बिट होना चाहिए 1s की संख्या या तो विषम या विषम बनाता है।

समता के दो प्रकार हैं -

  • संदेश में बिट्स की कुल संख्या भी बना दी जाती है, यहां तक ​​कि समता भी कहा जाता है।
  • संदेश में बिट्स की कुल संख्या को विषम बनाया जाता है, इसे विषम समता कहा जाता है।

यहां, सभी निरर्थक बिट, पी 1, को समता के रूप में गणना की जानी चाहिए। इसमें उन सभी बिट स्थितियों को शामिल किया जाना चाहिए जिनके बाइनरी प्रतिनिधित्व में पी 1 की स्थिति को छोड़कर 1 स्थिति में 1 शामिल होना चाहिए।

P1 हर डेटा बिट्स के लिए बिट्स है, जिसमें बाइनरी प्रतिनिधित्व में 1 कम शामिल है, जैसे 1 महत्वपूर्ण (1, 3, 5, 7, 9)

…। )

पी 2 उन डेटा बिट्स के लिए समता बिट है, जिनके बाइनरी प्रतिनिधित्व में स्थिति 2 में 1 सही से शामिल है, 2 लाइक (3, 6, 7, 10, 11) सहित नहीं

…)

P3 उन पदों में हर बिट के लिए समता बिट है जिनके द्विआधारी प्रतिनिधित्व में स्थिति 1 में 1 शामिल है, जिसमें 4 जैसे नहीं हैं (5-7, 12-15,)

…)

एक संदेश को हामिंग कोड में डिक्रिप्ट करने की प्रक्रिया

प्राप्तकर्ता को आने वाले संदेश मिलते हैं जिन्हें त्रुटियों को खोजने और सही करने के लिए पुनर्गणना करने की आवश्यकता होती है।

निम्नलिखित चरणों में किया गया पुनर्गणना प्रक्रिया:

  • निरर्थक बिट्स की संख्या की गिनती।
  • सभी निरर्थक बिट्स की सही स्थिति।
  • समता जांच

चरण 1) निरर्थक बिट्स की संख्या की गिनती

एन्कोडिंग के लिए समान सूत्र का उपयोग कर सकते हैं, निरर्थक बिट्स की संख्या

2 पी 2 एन + पी + 1

यहां, डेटा बिट्स और पी की संख्या निरर्थक बिट्स की संख्या है।

चरण 2) सभी बेमानी बिट्स को सही ढंग से प्रस्तुत करना

यहां, पी एक निरर्थक बिट है जो 2 की शक्तियों के बिट पदों पर स्थित है, उदाहरण के लिए, 1, 2, 4, 8, आदि।

चरण 3) समता जाँच

समानता बिट्स की गणना डेटा बिट्स और निरर्थक बिट्स के आधार पर की जाती है।

p1 = समता (1, 3, 5, 7, 9, 11)

…)

पी 2 = समता (2, 3, 6, 7, 10, 11)

…)

पी 3 = समता (4-7, 12-15, 20-23

…)

सारांश

  • संचार के दौरान प्रेषित डेटा को दूषित किया जा सकता है
  • तीन प्रकार की बिट एरर हैं 1) सिंगल बिट एरर्स 2) मल्टीपल बिट एरर 3) बर्स्ट बिट एरर्स
  • संपूर्ण डेटा अनुक्रम में एक बिट में किए गए परिवर्तन को "एकल बिट त्रुटि" के रूप में जाना जाता है।
  • डेटा अनुक्रम में, अगर रिसीवर के लिए एक ट्रांसमीटर के डेटा अनुक्रम के दो या अधिक बिट्स में परिवर्तन होता है, तो इसे "एकाधिक बिट त्रुटियों" के रूप में जाना जाता है।
  • डेटा अनुक्रम में बिट्स के सेट का परिवर्तन "फट त्रुटि" के रूप में जाना जाता है।
  • त्रुटि का पता लगाना त्रुटियों का पता लगाने की एक विधि है जो डेटा संचार प्रणाली में एक ट्रांसमीटर से रिसीवर तक प्रेषित डेटा में मौजूद है
  • त्रुटि का पता लगाने के तीन प्रकार हैं कोड 1) समानता जाँच 2) चक्रीय अतिरेक जाँच (CRC) 3) अनुदैर्ध्य अतिरेक जाँच (LRC)
  • हैमिंग कोड एक लाइनर कोड है जो दो तत्काल बिट त्रुटियों के लिए त्रुटि का पता लगाने के लिए उपयोगी है। यह एकल-बिट त्रुटियों में सक्षम है।
  • हैमिंग कोड त्रुटियों का पता लगाने के लिए आरडब्ल्यूएमएएमईएम द्वारा निर्मित तकनीक है।
  • हेमिंग कोड का उपयोग करने के सामान्य अनुप्रयोग सैटेलाइट मेमोरी, मॉडेम, एंबेडेड प्रोसेसर आदि हैं।
  • हैमिंग कोड विधि का सबसे बड़ा लाभ नेटवर्क पर प्रभावी है जहां एकल-बिट त्रुटियों के लिए डेटा स्ट्रीम दिए गए हैं।
  • हैमिंग कोड विधि की सबसे बड़ी कमी यह है कि यह केवल सिंगल बिट्स मुद्दों को हल कर सकती है।
  • हम कोड को हैमिंग कोड की मदद से संदेश को एन्क्रिप्ट और डिकोड करने की प्रक्रिया कर सकते हैं।