त्रुटि संसूचन और सुधार: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 2: Line 2:
{{distinguish|Error handling}}
{{distinguish|Error handling}}
{{about|computing|knowledge|Fact-checking|and|Problem solving}}
{{about|computing|knowledge|Fact-checking|and|Problem solving}}
{{More citations needed|article|date=August 2008}}
{{More citations needed|आलेख|date=अगस्त 2008}}
 


कंप्यूटर विज्ञान और दूरसंचार में अनुप्रयोगों के साथ सूचना सिद्धांत और कोडिंग सिद्धांत में, त्रुटि का पता लगाने और सुधार (ईडीएसी) या त्रुटि नियंत्रण ऐसी तकनीकें हैं जो अविश्वसनीय संचार चैनलों पर डिजिटल डेटा के विश्वसनीय वितरण को सक्षम करती हैं। कई संचार चैनल चैनल शोर के अधीन हैं, और इस प्रकार स्रोत से रिसीवर तक संचरण के दौरान त्रुटियां पेश की जा सकती हैं। त्रुटि का पता लगाने की तकनीक ऐसी त्रुटियों का पता लगाने की अनुमति देती है, जबकि त्रुटि सुधार कई मामलों में मूल डेटा के पुनर्निर्माण को सक्षम बनाता है।
कंप्यूटर विज्ञान और दूरसंचार में अनुप्रयोगों के साथ सूचना सिद्धांत और कोडिंग सिद्धांत में, त्रुटि का पता लगाने और सुधार (ईडीएसी) या त्रुटि नियंत्रण ऐसी तकनीकें हैं जो अविश्वसनीय संचार चैनलों पर डिजिटल डेटा के विश्वसनीय वितरण को सक्षम करती हैं। कई संचार चैनल चैनल शोर के अधीन हैं, और इस प्रकार स्रोत से रिसीवर तक संचरण के दौरान त्रुटियां पेश की जा सकती हैं। त्रुटि का पता लगाने की तकनीक ऐसी त्रुटियों का पता लगाने की अनुमति देती है, जबकि त्रुटि सुधार कई मामलों में मूल डेटा के पुनर्निर्माण को सक्षम बनाता है।
Line 14: Line 13:
शास्त्रीय पुरातनता में, हिब्रू बाइबिल के प्रतिवादियों को उनके काम के लिए विक्षनरी की संख्या के अनुसार भुगतान किया गया था: स्टिच (कविता की पंक्तियां)। चूँकि बाइबल की गद्य पुस्तकें शायद ही कभी टाँके में लिखी जाती थीं, नकल करने वालों को, काम की मात्रा का अनुमान लगाने के लिए, अक्षरों को गिनना पड़ता था।<ref name="Jewish">{{cite encyclopedia |url=http://www.jewishencyclopedia.com/articles/10465-masorah |encyclopedia=Jewish Encyclopedia |article=Masorah}}</ref> इससे बाद की प्रतियों के उत्पादन के साथ पाठ के प्रसारण में सटीकता सुनिश्चित करने में भी मदद मिली।<ref>{{cite book |last1=Pratico |first1=Gary D. |last2=Pelt |first2=Miles V. Van |title=Basics of Biblical Hebrew Grammar: Second Edition |date=2009 |publisher=Zondervan |isbn=978-0-310-55882-8 |url=https://www.google.com/books?id=p3FIoT0s3yYC&pg=PT448}}</ref><ref>{{cite book |last1=Mounce |first1=William D. |title=Greek for the Rest of Us: Using Greek Tools Without Mastering Biblical Languages |date=2007 |publisher=Zondervan |isbn=978-0-310-28289-1 |page=289 |url=https://www.google.com/books?id=AF-5ptJ0l2gC&pg=PA289}}</ref> 7वीं और 10वीं शताब्दी के बीच एक मासोरेट्स ने पवित्र पाठ के सटीक पुनरुत्पादन को सुनिश्चित करने के लिए मासोरेटिक टेक्स्ट # न्यूमेरिकल मसोरा बनाने के लिए इसे औपचारिक और विस्तारित किया। इसमें एक पंक्ति, खंड, पुस्तक और पुस्तकों के समूहों में शब्दों की संख्या, एक पुस्तक के मध्य स्टिच को ध्यान में रखते हुए, शब्द उपयोग के आँकड़े और कमेंट्री शामिल थे।<ref name="Jewish" />मानक ऐसे बन गए कि टोरा स्क्रॉल में एक भी अक्षर में विचलन को अस्वीकार्य माना जाता था।<ref>[[Mishneh Torah]], Tefillin, Mezuzah, and Sefer Torah, 1:2. Example English translation: {{cite book |title=The Rambam's Mishneh Torah |author=[[Eliyahu Touger]] |publisher=[[Moznaim Publishing Corporation]] |url=https://www.chabad.org/library/article_cdo/aid/925417/jewish/Tefillin-Mezuzah-and-Sefer-Torah-Chapter-One.htm}}</ref> उनकी त्रुटि सुधार पद्धति की प्रभावशीलता को 1947-1956 में मृत सागर स्क्रॉल की खोज द्वारा प्रदर्शित सदियों के माध्यम से प्रतिलिपि बनाने की सटीकता से सत्यापित किया गया था, जो 150 ईसा पूर्व-75 सीई से डेटिंग है।<ref>{{cite book |author=Brian M. Fagan |title=[[The Oxford Companion to Archaeology]] |section=Dead Sea Scrolls |publisher=[[Oxford University Press]] |date=5 December 1996 |isbn=0195076184}}</ref>
शास्त्रीय पुरातनता में, हिब्रू बाइबिल के प्रतिवादियों को उनके काम के लिए विक्षनरी की संख्या के अनुसार भुगतान किया गया था: स्टिच (कविता की पंक्तियां)। चूँकि बाइबल की गद्य पुस्तकें शायद ही कभी टाँके में लिखी जाती थीं, नकल करने वालों को, काम की मात्रा का अनुमान लगाने के लिए, अक्षरों को गिनना पड़ता था।<ref name="Jewish">{{cite encyclopedia |url=http://www.jewishencyclopedia.com/articles/10465-masorah |encyclopedia=Jewish Encyclopedia |article=Masorah}}</ref> इससे बाद की प्रतियों के उत्पादन के साथ पाठ के प्रसारण में सटीकता सुनिश्चित करने में भी मदद मिली।<ref>{{cite book |last1=Pratico |first1=Gary D. |last2=Pelt |first2=Miles V. Van |title=Basics of Biblical Hebrew Grammar: Second Edition |date=2009 |publisher=Zondervan |isbn=978-0-310-55882-8 |url=https://www.google.com/books?id=p3FIoT0s3yYC&pg=PT448}}</ref><ref>{{cite book |last1=Mounce |first1=William D. |title=Greek for the Rest of Us: Using Greek Tools Without Mastering Biblical Languages |date=2007 |publisher=Zondervan |isbn=978-0-310-28289-1 |page=289 |url=https://www.google.com/books?id=AF-5ptJ0l2gC&pg=PA289}}</ref> 7वीं और 10वीं शताब्दी के बीच एक मासोरेट्स ने पवित्र पाठ के सटीक पुनरुत्पादन को सुनिश्चित करने के लिए मासोरेटिक टेक्स्ट # न्यूमेरिकल मसोरा बनाने के लिए इसे औपचारिक और विस्तारित किया। इसमें एक पंक्ति, खंड, पुस्तक और पुस्तकों के समूहों में शब्दों की संख्या, एक पुस्तक के मध्य स्टिच को ध्यान में रखते हुए, शब्द उपयोग के आँकड़े और कमेंट्री शामिल थे।<ref name="Jewish" />मानक ऐसे बन गए कि टोरा स्क्रॉल में एक भी अक्षर में विचलन को अस्वीकार्य माना जाता था।<ref>[[Mishneh Torah]], Tefillin, Mezuzah, and Sefer Torah, 1:2. Example English translation: {{cite book |title=The Rambam's Mishneh Torah |author=[[Eliyahu Touger]] |publisher=[[Moznaim Publishing Corporation]] |url=https://www.chabad.org/library/article_cdo/aid/925417/jewish/Tefillin-Mezuzah-and-Sefer-Torah-Chapter-One.htm}}</ref> उनकी त्रुटि सुधार पद्धति की प्रभावशीलता को 1947-1956 में मृत सागर स्क्रॉल की खोज द्वारा प्रदर्शित सदियों के माध्यम से प्रतिलिपि बनाने की सटीकता से सत्यापित किया गया था, जो 150 ईसा पूर्व-75 सीई से डेटिंग है।<ref>{{cite book |author=Brian M. Fagan |title=[[The Oxford Companion to Archaeology]] |section=Dead Sea Scrolls |publisher=[[Oxford University Press]] |date=5 December 1996 |isbn=0195076184}}</ref>
त्रुटि सुधार कोड के आधुनिक विकास का श्रेय 1947 में रिचर्ड हैमिंग को दिया जाता है।<ref name=Thompson>{{citation|first=Thomas M.|last=Thompson|title=From Error-Correcting Codes through Sphere Packings to Simple Groups|publisher=The Mathematical Association of America|year=1983|series=The Carus Mathematical Monographs (#21)|isbn=0-88385-023-0|page=vii}}</ref> हैमिंग कोड का विवरण | हैमिंग का कोड क्लाउड शैनन के ए मैथमैटिकल थ्योरी ऑफ कम्युनिकेशन में दिखाई दिया<ref>{{citation|first=C.E.|last=Shannon|title=A Mathematical Theory of Communication|journal=Bell System Technical Journal|volume=27|issue=3|pages=379–423|year=1948|doi=10.1002/j.1538-7305.1948.tb01338.x|pmid=9230594|hdl=10338.dmlcz/101429|hdl-access=free}}</ref> और मार्सेल जेई गोले द्वारा जल्दी से सामान्यीकृत किया गया था।<ref>{{citation|first=Marcel J. E.|last=Golay|title=Notes on Digital Coding|journal=Proc.I.R.E. (I.E.E.E.)|volume=37|year=1949|page=657}}</ref>
त्रुटि सुधार कोड के आधुनिक विकास का श्रेय 1947 में रिचर्ड हैमिंग को दिया जाता है।<ref name=Thompson>{{citation|first=Thomas M.|last=Thompson|title=From Error-Correcting Codes through Sphere Packings to Simple Groups|publisher=The Mathematical Association of America|year=1983|series=The Carus Mathematical Monographs (#21)|isbn=0-88385-023-0|page=vii}}</ref> हैमिंग कोड का विवरण | हैमिंग का कोड क्लाउड शैनन के ए मैथमैटिकल थ्योरी ऑफ कम्युनिकेशन में दिखाई दिया<ref>{{citation|first=C.E.|last=Shannon|title=A Mathematical Theory of Communication|journal=Bell System Technical Journal|volume=27|issue=3|pages=379–423|year=1948|doi=10.1002/j.1538-7305.1948.tb01338.x|pmid=9230594|hdl=10338.dmlcz/101429|hdl-access=free}}</ref> और मार्सेल जेई गोले द्वारा जल्दी से सामान्यीकृत किया गया था।<ref>{{citation|first=Marcel J. E.|last=Golay|title=Notes on Digital Coding|journal=Proc.I.R.E. (I.E.E.E.)|volume=37|year=1949|page=657}}</ref>
== परिचय ==
== परिचय ==
सभी त्रुटि-पहचान और सुधार योजनाएं एक संदेश में कुछ अतिरेक (सूचना सिद्धांत) (यानी, कुछ अतिरिक्त डेटा) जोड़ती हैं, जिसका उपयोग रिसीवर वितरित संदेश की स्थिरता की जांच करने के लिए कर सकते हैं, और डेटा को पुनर्प्राप्त करने के लिए जो दूषित होने के लिए निर्धारित किया गया है। त्रुटि-पहचान और सुधार योजनाएं या तो व्यवस्थित कोड या गैर-व्यवस्थित हो सकती हैं। एक व्यवस्थित योजना में, ट्रांसमीटर मूल डेटा भेजता है, और एक निश्चित संख्या में चेक बिट्स (या समता डेटा) संलग्न करता है, जो कुछ नियतात्मक एल्गोरिथ्म द्वारा डेटा बिट्स से प्राप्त होते हैं। यदि केवल त्रुटि का पता लगाने की आवश्यकता है, तो एक रिसीवर केवल प्राप्त डेटा बिट्स पर समान एल्गोरिदम लागू कर सकता है और प्राप्त चेक बिट्स के साथ इसके आउटपुट की तुलना कर सकता है; यदि मान मेल नहीं खाते हैं, तो ट्रांसमिशन के दौरान किसी बिंदु पर एक त्रुटि हुई है। एक सिस्टम में जो एक गैर-व्यवस्थित कोड का उपयोग करता है, मूल संदेश एक एन्कोडेड संदेश में बदल जाता है जिसमें समान जानकारी होती है और इसमें मूल संदेश के रूप में कम से कम कई बिट्स होते हैं।
सभी त्रुटि-पहचान और सुधार योजनाएं एक संदेश में कुछ अतिरेक (सूचना सिद्धांत) (यानी, कुछ अतिरिक्त डेटा) जोड़ती हैं, जिसका उपयोग रिसीवर वितरित संदेश की स्थिरता की जांच करने के लिए कर सकते हैं, और डेटा को पुनर्प्राप्त करने के लिए जो दूषित होने के लिए निर्धारित किया गया है। त्रुटि-पहचान और सुधार योजनाएं या तो व्यवस्थित कोड या गैर-व्यवस्थित हो सकती हैं। एक व्यवस्थित योजना में, ट्रांसमीटर मूल डेटा भेजता है, और एक निश्चित संख्या में चेक बिट्स (या समता डेटा) संलग्न करता है, जो कुछ नियतात्मक एल्गोरिथ्म द्वारा डेटा बिट्स से प्राप्त होते हैं। यदि केवल त्रुटि का पता लगाने की आवश्यकता है, तो एक रिसीवर केवल प्राप्त डेटा बिट्स पर समान एल्गोरिदम लागू कर सकता है और प्राप्त चेक बिट्स के साथ इसके आउटपुट की तुलना कर सकता है; यदि मान मेल नहीं खाते हैं, तो ट्रांसमिशन के दौरान किसी बिंदु पर एक त्रुटि हुई है। एक सिस्टम में जो एक गैर-व्यवस्थित कोड का उपयोग करता है, मूल संदेश एक एन्कोडेड संदेश में बदल जाता है जिसमें समान जानकारी होती है और इसमें मूल संदेश के रूप में कम से कम कई बिट्स होते हैं।
Line 27: Line 24:
  |s2cid=17499858 |journal=International Journal of Advanced Research in Computer Science and Software Engineering |volume=2 |issue=11  
  |s2cid=17499858 |journal=International Journal of Advanced Research in Computer Science and Software Engineering |volume=2 |issue=11  
  }}</ref>
  }}</ref>
=== स्वचालित दोहराने का अनुरोध ===
=== स्वचालित दोहराने का अनुरोध ===
ऑटोमैटिक रिपीट रिक्वेस्ट (एआरक्यू) डेटा ट्रांसमिशन के लिए एक एरर कंट्रोल मेथड है जो विश्वसनीय डेटा ट्रांसमिशन प्राप्त करने के लिए एरर-डिटेक्शन कोड, पावती और / या नकारात्मक पावती संदेशों और टाइमआउट (कंप्यूटिंग) का उपयोग करता है। एक पावती एक संदेश है जो प्राप्तकर्ता द्वारा यह इंगित करने के लिए भेजा जाता है कि उसने सही ढंग से एक फ़्रेम (नेटवर्किंग) प्राप्त किया है।
ऑटोमैटिक रिपीट रिक्वेस्ट (एआरक्यू) डेटा ट्रांसमिशन के लिए एक एरर कंट्रोल मेथड है जो विश्वसनीय डेटा ट्रांसमिशन प्राप्त करने के लिए एरर-डिटेक्शन कोड, पावती और / या नकारात्मक पावती संदेशों और टाइमआउट का उपयोग करता है। एक पावती एक संदेश है जो प्राप्तकर्ता द्वारा यह इंगित करने के लिए भेजा जाता है कि उसे सही ढंग से एक डेटा फ्रेम प्राप्त हुआ है।


आमतौर पर, जब ट्रांसमीटर को टाइमआउट होने से पहले पावती प्राप्त नहीं होती है (यानी, डेटा फ्रेम भेजने के बाद उचित समय के भीतर), यह फ्रेम को तब तक फिर से भेजता है जब तक कि यह सही ढंग से प्राप्त नहीं हो जाता है या त्रुटि पूर्व निर्धारित संख्या से परे बनी रहती है। .
आमतौर पर, जब ट्रांसमीटर को समय समाप्त होने से पहले पावती प्राप्त नहीं होती है (यानी, डेटा फ़्रेम भेजने के बाद उचित समय के भीतर), यह फ्रेम को तब तक फिर से प्रसारित करता है जब तक कि यह या तो सही ढंग से प्राप्त नहीं हो जाता है या त्रुटि पूर्व निर्धारित संख्या से अधिक होने तक बनी रहती है।


तीन प्रकार के एआरक्यू प्रोटोकॉल स्टॉप-एंड-वेट एआरक्यू, गो-बैक-एन एआरक्यू और सेलेक्टिव रिपीट एआरक्यू हैं।
तीन प्रकार के एआरक्यू प्रोटोकॉल स्टॉप-एंड-वेट एआरक्यू, गो-बैक-एन एआरक्यू और सेलेक्टिव रिपीट एआरक्यू हैं।


एआरक्यू उपयुक्त है यदि संचार चैनल में अलग-अलग या अज्ञात चैनल क्षमता है, जैसे कि इंटरनेट पर मामला है। हालांकि, एआरक्यू को एक बैकवर्ड चैनल की उपलब्धता की आवश्यकता होती है, जिसके परिणामस्वरूप संभावित रूप से रिट्रांसमिशन के कारण विलंबता (इंजीनियरिंग) बढ़ जाती है, और रीट्रांसमिशन के लिए बफर और टाइमर के रखरखाव की आवश्यकता होती है, जो नेटवर्क की भीड़ के मामले में सर्वर पर और समग्र रूप से दबाव डाल सकता है। नेटवर्क क्षमता।<ref name="reliable-erasure-code">A. J. McAuley, ''Reliable Broadband Communication Using a Burst Erasure Correcting Code'', ACM SIGCOMM, 1990.</ref>
एआरक्यू उपयुक्त है यदि संचार चैनल में भिन्न या अज्ञात क्षमता है, जैसा कि इंटरनेट पर होता है। हालांकि, एआरक्यू को एक बैक चैनल की उपलब्धता की आवश्यकता होती है, जिसके परिणामस्वरूप संभावित रूप से रिट्रांसमिशन के कारण विलंबता बढ़ जाती है, और रीट्रांसमिशन के लिए बफर और टाइमर के रखरखाव की आवश्यकता होती है, जो नेटवर्क भीड़ के मामले में सर्वर और समग्र नेटवर्क क्षमता पर दबाव डाल सकता है।<ref name="reliable-erasure-code">A. J. McAuley, ''Reliable Broadband Communication Using a Burst Erasure Correcting Code'', ACM SIGCOMM, 1990.</ref>
 
उदाहरण के लिए, एआरक्यू का उपयोग एआरक्यू-ई के रूप में शॉर्टवेव रेडियो डेटा लिंक पर किया जाता है, या एआरक्यू-एम के रूप में मल्टीप्लेक्सिंग के साथ जोड़ा जाता है।
उदाहरण के लिए, एआरक्यू का उपयोग एआरक्यू-ई के रूप में शॉर्टवेव रेडियो डेटा लिंक पर किया जाता है, या एआरक्यू-एम के रूप में मल्टीप्लेक्सिंग के साथ जोड़ा जाता है।


=== अग्रेषित त्रुटि सुधार ===
=== अग्रेषित त्रुटि सुधार ===
फॉरवर्ड एरर करेक्शन (FEC) एक संदेश में रिडंडेंसी (सूचना सिद्धांत) जैसे त्रुटि-सुधार कोड (ECC) को जोड़ने की एक प्रक्रिया है ताकि इसे एक रिसीवर द्वारा पुनर्प्राप्त किया जा सके, भले ही कई त्रुटियां (क्षमता तक) कोड का उपयोग किया जा रहा है) या तो ट्रांसमिशन की प्रक्रिया के दौरान या स्टोरेज पर पेश किए जाते हैं। चूंकि रिसीवर को डेटा के पुन: प्रेषण के लिए प्रेषक से पूछने की आवश्यकता नहीं होती है, आगे त्रुटि सुधार में बैकचैनल की आवश्यकता नहीं होती है। त्रुटि-सुधार कोड का उपयोग भौतिक परत में किया जाता है | निचली परत संचार जैसे सेलुलर नेटवर्क, उच्च गति फाइबर-ऑप्टिक संचार और वाई-फाई,<ref>{{cite journal |last1=Shah |first1=Pradeep M. |last2=Vyavahare |first2=Prakash D. |last3=Jain |first3=Anjana |title=Modern error correcting codes for 4G and beyond: Turbo codes and LDPC codes |journal=2015 Radio and Antenna Days of the Indian Ocean (RADIO) |date=September 2015 |pages=1–2 |doi=10.1109/RADIO.2015.7323369 |isbn=978-9-9903-7339-4 |s2cid=28885076 |url=https://www.researchgate.net/publication/301611980 |access-date=22 May 2022}}</ref><ref>{{cite journal |title=IEEE SA - IEEE 802.11ac-2013 |journal=IEEE Standards Association |url=https://standards.ieee.org/ieee/802.11ac/4473/ |language=en}}</ref> साथ ही फ्लैश मेमोरी, हार्ड डिस्क और ईसीसी मेमोरी जैसे मीडिया में विश्वसनीय भंडारण के लिए।<ref>{{cite web |title=Transition to Advanced Format 4K Sector Hard Drives {{!}} Seagate US |url=https://www.seagate.com/sg/en/tech-insights/advanced-format-4k-sector-hard-drives-master-ti/ |website=Seagate.com |access-date=22 May 2022 |language=en-us}}</ref>
फॉरवर्ड एरर करेक्शन (FEC) एक संदेश में एक त्रुटि-सुधार कोड (ECC) जैसे अनावश्यक डेटा जोड़ने की एक प्रक्रिया है ताकि इसे एक रिसीवर द्वारा पुनर्प्राप्त किया जा सके, भले ही कई त्रुटियां (प्रयुक्त कोड की क्षमता तक) पेश की गई हों, या तो ट्रांसमिशन की प्रक्रिया के दौरान या स्टोरेज पर। चूंकि रिसीवर को प्रेषक को डेटा के पुन: प्रेषण के लिए नहीं पूछना पड़ता है, इसलिए आगे की त्रुटि सुधार में बैकचैनल की आवश्यकता नहीं होती है। त्रुटि-सुधार कोड का उपयोग निचली-परत संचार में किया जाता है जैसे सेल्युलर नेटवर्क, हाई-स्पीड फाइबर-ऑप्टिक संचार और वाई-फाई,<ref>{{cite journal |last1=Shah |first1=Pradeep M. |last2=Vyavahare |first2=Prakash D. |last3=Jain |first3=Anjana |title=Modern error correcting codes for 4G and beyond: Turbo codes and LDPC codes |journal=2015 Radio and Antenna Days of the Indian Ocean (RADIO) |date=September 2015 |pages=1–2 |doi=10.1109/RADIO.2015.7323369 |isbn=978-9-9903-7339-4 |s2cid=28885076 |url=https://www.researchgate.net/publication/301611980 |access-date=22 May 2022}}</ref><ref>{{cite journal |title=IEEE SA - IEEE 802.11ac-2013 |journal=IEEE Standards Association |url=https://standards.ieee.org/ieee/802.11ac/4473/ |language=en}}</ref> और साथ ही मीडिया में विश्वसनीय भंडारण जैसे फ्लैश मेमोरी, हार्ड डिस्क और रैम।<ref>{{cite web |title=Transition to Advanced Format 4K Sector Hard Drives {{!}} Seagate US |url=https://www.seagate.com/sg/en/tech-insights/advanced-format-4k-sector-hard-drives-master-ti/ |website=Seagate.com |access-date=22 May 2022 |language=en-us}}</ref>
त्रुटि-सुधार कोड आमतौर पर दृढ़ कोड और ब्लॉक कोड के बीच प्रतिष्ठित होते हैं:
 
* कनवल्शनल कोड को बिट-बाय-बिट आधार पर प्रोसेस किया जाता है। वे हार्डवेयर में कार्यान्वयन के लिए विशेष रूप से उपयुक्त हैं, और Viterbi डिकोडर अधिकतम संभावना डिकोडिंग की अनुमति देता है।
त्रुटि-सुधार करने वाले कोड आमतौर पर दृढ़ कोड और ब्लॉक कोड के बीच प्रतिष्ठित होते हैं:
* ब्लॉक कोड को ब्लॉक (दूरसंचार) | ब्लॉक-दर-ब्लॉक आधार पर संसाधित किया जाता है। ब्लॉक कोड के शुरुआती उदाहरण दोहराव कोड, हैमिंग कोड और बहुआयामी समता-जांच कोड हैं। उनके बाद कई कुशल कोड थे, रीड-सोलोमन कोड उनके वर्तमान व्यापक उपयोग के कारण सबसे उल्लेखनीय हैं। टर्बो कोड और लो-डेंसिटी पैरिटी-चेक कोड (LDPC) अपेक्षाकृत नए निर्माण हैं जो लगभग :Category:Capacity-approaching codes प्रदान कर सकते हैं।
* कनवॉल्यूशनल कोड को बिट-बाय-बिट आधार पर प्रोसेस किया जाता है। वे हार्डवेयर में कार्यान्वयन के लिए विशेष रूप से उपयुक्त हैं, और विटरबी डिकोडर इष्टतम डिकोडिंग की अनुमति देता है।
* ब्लॉक कोड ब्लॉक-दर-ब्लॉक आधार पर संसाधित होते हैं। ब्लॉक कोड के प्रारंभिक उदाहरण पुनरावृत्ति कोड, हैमिंग कोड और बहुआयामी समता-चेक कोड हैं। उनके बाद कई कुशल कोड थे, रीड-सोलोमन कोड उनके वर्तमान व्यापक उपयोग के कारण सबसे उल्लेखनीय थे। टर्बो कोड और लो-डेंसिटी पैरिटी-चेक कोड (एलडीपीसी) अपेक्षाकृत नए निर्माण हैं जो लगभग इष्टतम दक्षता प्रदान कर सकते हैं।


शैनन का प्रमेय आगे त्रुटि सुधार में एक महत्वपूर्ण प्रमेय है, और अधिकतम सूचना दर का वर्णन करता है जिस पर एक चैनल पर विश्वसनीय संचार संभव है जिसमें एक निश्चित त्रुटि संभावना या सिग्नल-टू-शोर अनुपात (एसएनआर) है। यह सख्त ऊपरी सीमा चैनल क्षमता के संदर्भ में व्यक्त की जाती है। अधिक विशेष रूप से, प्रमेय कहता है कि ऐसे कोड मौजूद हैं जैसे कि एन्कोडिंग लंबाई बढ़ने के साथ एक चैनल मॉडल पर त्रुटि की संभावना को मनमाने ढंग से छोटा बनाया जा सकता है, बशर्ते कि कोड दर चैनल क्षमता से छोटी हो। कोड दर को k स्रोत प्रतीकों और n एन्कोडेड प्रतीकों के अंश k/n के रूप में परिभाषित किया गया है।
शैनन की प्रमेय आगे की त्रुटि सुधार में एक महत्वपूर्ण प्रमेय है, और अधिकतम सूचना दर का वर्णन करता है जिस पर एक चैनल पर विश्वसनीय संचार संभव है जिसमें एक निश्चित त्रुटि संभावना या सिग्नल-टू-शोर अनुपात (एसएनआर) है। यह सख्त ऊपरी सीमा चैनल क्षमता के संदर्भ में अभिव्यक्त की जाती है। अधिक विशेष रूप से, प्रमेय कहता है कि कोड मौजूद हैं जैसे कि बढ़ती एन्कोडिंग लंबाई के साथ एक असतत मेमोरीलेस चैनल पर त्रुटि की संभावना को मनमाने ढंग से छोटा किया जा सकता है, बशर्ते कोड दर चैनल क्षमता से कम हो। कोड दर को के स्रोत प्रतीकों और एन एन्कोडेड प्रतीकों के अंश के / एन के रूप में परिभाषित किया गया है।


अनुमत वास्तविक अधिकतम कोड दर उपयोग किए गए त्रुटि-सुधार कोड पर निर्भर करता है, और कम हो सकता है। ऐसा इसलिए है क्योंकि शैनन का प्रमाण केवल अस्तित्वगत प्रकृति का था, और यह नहीं दिखाता कि ऐसे कोड कैसे बनाए जाएं जो दोनों इष्टतम हों और जिनमें बहुपद समय एन्कोडिंग और डिकोडिंग एल्गोरिदम हों।
अनुमत वास्तविक अधिकतम कोड दर उपयोग किए गए त्रुटि-सुधार कोड पर निर्भर करता है, और कम हो सकता है। ऐसा इसलिए है क्योंकि शैनन का प्रमाण केवल अस्तित्वगत प्रकृति का था, और यह नहीं दिखाया कि ऐसे कोड कैसे बनाए जाएं जो इष्टतम हों और कुशल एन्कोडिंग और डिकोडिंग एल्गोरिदम हों।


=== हाइब्रिड योजनाएं ===
=== हाइब्रिड योजनाएं ===
{{Main|Hybrid ARQ}}
{{Main|Hybrid ARQ}}
हाइब्रिड एआरक्यू एआरक्यू और फॉरवर्ड एरर करेक्शन का एक संयोजन है। दो बुनियादी दृष्टिकोण हैं:<ref name="reliable-erasure-code" />* संदेश हमेशा FEC समता डेटा (और त्रुटि-पहचान अतिरेक) के साथ प्रेषित होते हैं। एक रिसीवर समता जानकारी का उपयोग करके एक संदेश को डीकोड करता है, और एआरक्यू का उपयोग करके पुन: प्रेषण का अनुरोध करता है, यदि समता डेटा सफल डिकोडिंग के लिए पर्याप्त नहीं था (एक असफल अखंडता जांच के माध्यम से पहचाना गया)।
हाइब्रिड एआरक्यू एआरक्यू और फॉरवर्ड एरर करेक्शन का मेल है। दो बुनियादी दृष्टिकोण हैं:<ref name="reliable-erasure-code" />
* संदेश समता डेटा के बिना प्रसारित किए जाते हैं (केवल त्रुटि-पहचान जानकारी के साथ)। यदि कोई रिसीवर किसी त्रुटि का पता लगाता है, तो वह एआरक्यू का उपयोग करके ट्रांसमीटर से एफईसी जानकारी का अनुरोध करता है, और इसका उपयोग मूल संदेश के पुनर्निर्माण के लिए करता है।
* संदेशों को हमेशा FEC समता डेटा (और त्रुटि-पहचान अतिरेक) के साथ प्रेषित किया जाता है। एक रिसीवर समता जानकारी का उपयोग करके एक संदेश को डीकोड करता है, और केवल एआरक्यू का उपयोग करके पुन: प्रेषण का अनुरोध करता है, यदि समता डेटा सफल डिकोडिंग के लिए पर्याप्त नहीं था (एक असफल अखंडता जांच के माध्यम से पहचाना गया)।
 
*संदेश समता डेटा के बिना प्रेषित होते हैं (केवल त्रुटि-पहचान जानकारी के साथ)। यदि कोई रिसीवर किसी त्रुटि का पता लगाता है, तो वह एआरक्यू का उपयोग करके ट्रांसमीटर से एफईसी जानकारी का अनुरोध करता है, और मूल संदेश को फिर से बनाने के लिए इसका उपयोग करता है।
फाउंटेन कोड का उपयोग करते समय बाद वाला दृष्टिकोण बाइनरी इरेज़र चैनल पर विशेष रूप से आकर्षक होता है।
<!-- Combined two somewhat redundant sections
== Types ==
Error correction may generally be realized in two different ways:
* ''[[Automatic repeat request]] (ARQ)'' (sometimes also referred to as ''backward error correction''): This is an error control technique whereby an error detection scheme is combined with requests for retransmission of corrupted data. Every block of data received is checked using the error detection code used, and if the check fails, retransmission of the data is requested – this may be done repeatedly, until the data can be verified.
* ''[[Forward error correction]] (FEC)'': The sender encodes the data using an ''error-correcting code (ECC)'' prior to transmission. The additional information (redundancy) added by the code is used by the receiver to recover the original data in the case of corruption.
ARQ and FEC may be combined such that minor errors are corrected without retransmission, and major errors are corrected via a request for retransmission: this is called ''[[hybrid automatic repeat request]] (HARQ)''.
-->
 


रेटलेस इरेज़र कोड का उपयोग करते समय इरेज़र चैनल पर बाद वाला दृष्टिकोण विशेष रूप से आकर्षक होता है।
== एरर डिटेक्शन स्कीम्स ==
== एरर डिटेक्शन स्कीम्स ==
एक उपयुक्त हैश फ़ंक्शन (या विशेष रूप से, एक चेकसम, चक्रीय अतिरेक जाँच या अन्य एल्गोरिथम) का उपयोग करके त्रुटि का पता लगाना सबसे अधिक महसूस किया जाता है। एक हैश फ़ंक्शन एक संदेश में एक निश्चित-लंबाई वाला टैग जोड़ता है, जो रिसीवर को टैग की पुन: गणना करके और प्रदान किए गए संदेश के साथ तुलना करके वितरित संदेश को सत्यापित करने में सक्षम बनाता है।
एक उपयुक्त हैश फ़ंक्शन (या विशेष रूप से, एक चेकसम, चक्रीय अतिरेक जाँच या अन्य एल्गोरिथम) का उपयोग करके त्रुटि का पता लगाना सबसे आम है। एक हैश फ़ंक्शन एक संदेश में एक निश्चित-लंबाई का टैग जोड़ता है, जो रिसीवर को टैग को पुनः कंप्यूट करके और प्रदान किए गए एक के साथ तुलना करके वितरित संदेश को सत्यापित करने में सक्षम बनाता है।


विभिन्न हैश फ़ंक्शन डिज़ाइनों की एक विशाल विविधता मौजूद है। हालांकि, कुछ विशेष प्रकार की त्रुटियों का पता लगाने के लिए उनकी सादगी या उनकी उपयुक्तता के कारण विशेष रूप से व्यापक उपयोग के हैं (उदाहरण के लिए, बर्स्ट त्रुटियों का पता लगाने में चक्रीय अतिरेक जांच का प्रदर्शन)।
विभिन्न हैश फ़ंक्शन डिज़ाइनों की एक विस्तृत विविधता मौजूद है। हालांकि, कुछ विशेष प्रकार की त्रुटियों का पता लगाने के लिए उनकी सादगी या उनकी उपयुक्तता के कारण विशेष रूप से व्यापक उपयोग के हैं (उदाहरण के लिए, फट त्रुटियों का पता लगाने में चक्रीय अतिरेक जांच का प्रदर्शन)।


=== न्यूनतम दूरी कोडिंग ===
=== न्यूनतम दूरी कोडिंग ===
न्यूनतम दूरी कोडिंग के आधार पर एक यादृच्छिक-त्रुटि-सुधार कोड पता लगाने योग्य त्रुटियों की संख्या पर सख्त गारंटी प्रदान कर सकता है, लेकिन यह प्रीइमेज हमले के खिलाफ सुरक्षा नहीं कर सकता है।
न्यूनतम दूरी कोडिंग के आधार पर एक यादृच्छिक-त्रुटि-सुधार कोड पता लगाने योग्य त्रुटियों की संख्या पर सख्त गारंटी प्रदान कर सकता है, लेकिन यह प्रीइमेज हमले के विरुद्ध सुरक्षा नहीं कर सकता है।


=== दोहराव कोड ===
=== दोहराव कोड ===
एक दोहराव कोड एक कोडिंग योजना है जो त्रुटि मुक्त संचार प्राप्त करने के लिए एक चैनल में बिट्स को दोहराती है। प्रेषित किए जाने वाले डेटा की एक धारा को देखते हुए, डेटा को बिट्स के ब्लॉक में विभाजित किया जाता है। प्रत्येक ब्लॉक को कुछ पूर्व निर्धारित संख्या में बार प्रेषित किया जाता है। उदाहरण के लिए, बिट पैटर्न 1011 भेजने के लिए, चार-बिट ब्लॉक को तीन बार दोहराया जा सकता है, इस प्रकार 1011 1011 1011 का उत्पादन होता है। यदि यह बारह-बिट पैटर्न 1010 1011 1011 के रूप में प्राप्त हुआ था - जहां पहला ब्लॉक अन्य दो के विपरीत है - एक त्रुटि हुई है।
पुनरावृत्ति कोड एक कोडिंग योजना है जो त्रुटि-मुक्त संचार प्राप्त करने के लिए पूरे चैनल में बिट्स को दोहराती है। संचारित होने वाले डेटा की एक धारा को देखते हुए, डेटा को बिट्स के ब्लॉक में विभाजित किया जाता है। प्रत्येक ब्लॉक कुछ पूर्व निर्धारित संख्या में प्रसारित होता है। उदाहरण के लिए, बिट पैटर्न "1011" भेजने के लिए, चार-बिट ब्लॉक को तीन बार दोहराया जा सकता है, इस प्रकार "1011 1011 1011" का उत्पादन किया जा सकता है। यदि यह बारह-बिट पैटर्न "1010 1011 1011" के रूप में प्राप्त हुआ था - जहां पहला ब्लॉक अन्य दो के विपरीत है - एक त्रुटि उत्पन्न हुई है।


एक दोहराव कोड बहुत अक्षम है, और यदि त्रुटि प्रत्येक समूह के लिए एक ही स्थान पर होती है (उदाहरण के लिए, पिछले उदाहरण में 1010 1010 1010 सही के रूप में पाया जाएगा) तो समस्याओं के लिए अतिसंवेदनशील हो सकता है। दोहराव कोड का लाभ यह है कि वे अत्यंत सरल हैं, और वास्तव में संख्या स्टेशनों के कुछ प्रसारणों में उपयोग किए जाते हैं।<ref>{{cite web
एक पुनरावृत्ति कोड बहुत अक्षम है, और यदि प्रत्येक समूह के लिए ठीक उसी स्थान पर त्रुटि होती है (उदाहरण के लिए, "1010 1010 1010" पिछले उदाहरण में सही के रूप में पाया जाएगा) तो समस्याओं के लिए अतिसंवेदनशील हो सकता है। दोहराव कोड का लाभ यह है कि वे बेहद सरल हैं, और वास्तव में नंबर स्टेशनों के कुछ प्रसारणों में उपयोग किए जाते हैं।<ref>{{cite web
|url=http://www.cisquet.nl/numbers.htm
|url=http://www.cisquet.nl/numbers.htm
|title=Numbers (and other mysterious) stations
|title=Numbers (and other mysterious) stations
Line 87: Line 76:
|title=Mysterious Russian 'Numbers Station' Changes Broadcast After 20 Years
|title=Mysterious Russian 'Numbers Station' Changes Broadcast After 20 Years
}}</ref>
}}</ref>
=== समता बिट ===
=== समता बिट ===
{{Main|Parity bit}}
{{Main|Parity bit}}
एक समता बिट एक बिट है जिसे स्रोत बिट्स के समूह में जोड़ा जाता है ताकि यह सुनिश्चित हो सके कि परिणाम में सेट बिट्स (यानी, मान 1 के साथ बिट्स) की संख्या सम या विषम है। यह एक बहुत ही सरल योजना है जिसका उपयोग आउटपुट में त्रुटियों की एकल या किसी अन्य विषम संख्या (यानी, तीन, पांच, आदि) का पता लगाने के लिए किया जा सकता है। फ़्लिप किए गए बिट्स की एक सम संख्या समता बिट को सही दिखाएगी, भले ही डेटा गलत हो।
एक समता बिट एक बिट है जिसे स्रोत बिट्स के समूह में जोड़ा जाता है ताकि यह सुनिश्चित किया जा सके कि परिणाम में सेट बिट्स (यानी, मान 1 के साथ बिट्स) की संख्या सम या विषम है। यह एक बहुत ही सरल योजना है जिसका उपयोग आउटपुट में त्रुटियों के एकल या किसी अन्य विषम संख्या (अर्थात, तीन, पांच, आदि) का पता लगाने के लिए किया जा सकता है। फ़्लिप किए गए बिट्स की एक सम संख्या समता बिट को सही बना देगी, भले ही डेटा गलत हो।


भेजे गए प्रत्येक शब्द में जोड़े गए समता बिट्स को अनुप्रस्थ अतिरेक जाँच कहा जाता है, जबकि शब्दों की एक धारा के अंत में जोड़े जाने वाले को अनुदैर्ध्य अतिरेक जाँच कहा जाता है। उदाहरण के लिए, यदि एम-बिट शब्दों की श्रृंखला में से प्रत्येक में एक समता बिट जोड़ा गया है, यह दर्शाता है कि उस शब्द में एक विषम या सम संख्या थी, तो उसमें एकल त्रुटि वाले किसी भी शब्द का पता लगाया जाएगा। हालांकि, यह पता नहीं चलेगा कि शब्द में त्रुटि कहां है। यदि, इसके अलावा, n शब्दों की प्रत्येक धारा के बाद एक समता राशि भेजी जाती है, जिनमें से प्रत्येक बिट यह दर्शाता है कि सबसे हाल के समूह में भेजी गई उस बिट-स्थिति में एक विषम या सम संख्या थी, तो त्रुटि की सटीक स्थिति निर्धारित किया जा सकता है और त्रुटि को ठीक किया जा सकता है। यह विधि केवल प्रभावी होने की गारंटी है, हालांकि, यदि n शब्दों के प्रत्येक समूह में 1 से अधिक त्रुटि नहीं है। अधिक त्रुटि सुधार बिट्स के साथ, अधिक त्रुटियों का पता लगाया जा सकता है और कुछ मामलों में ठीक किया जा सकता है।
भेजे गए प्रत्येक "शब्द" में जोड़े गए समता बिट्स को अनुप्रस्थ अतिरेक जाँच कहा जाता है, जबकि "शब्दों" की एक धारा के अंत में जोड़े जाने वाले अनुदैर्ध्य अतिरेक जाँच कहलाते हैं। उदाहरण के लिए, यदि एम-बिट "शब्दों" की प्रत्येक श्रृंखला में एक समता बिट जोड़ा गया है, यह दिखाते हुए कि उस शब्द में एक विषम या सम संख्या थी, इसमें एक त्रुटि वाला कोई भी शब्द खोजा जाएगा। हालांकि यह पता नहीं चल पाएगा कि शब्द में कहां गलती है। यदि, इसके अलावा, n शब्दों की प्रत्येक धारा के बाद एक समता योग भेजा जाता है, जिनमें से प्रत्येक बिट दिखाता है कि क्या उस बिट-स्थिति में सबसे हाल के समूह में भेजे गए विषम या सम संख्या वाले थे, त्रुटि की सही स्थिति का निर्धारण किया जा सकता है और त्रुटि को ठीक किया जा सकता है। हालाँकि, इस विधि के प्रभावी होने की गारंटी तभी दी जाती है, जब n शब्दों के प्रत्येक समूह में 1 से अधिक त्रुटि न हो। अधिक त्रुटि सुधार बिट्स के साथ, अधिक त्रुटियों का पता लगाया जा सकता है और कुछ मामलों में उन्हें ठीक किया जा सकता है।


अन्य बिट-ग्रुपिंग तकनीकें भी हैं।
अन्य बिट-समूहीकरण तकनीकें भी हैं।


=== चेकसम ===
=== चेकसम ===
{{Main|Checksum}}
{{Main|Checksum}}
एक संदेश का चेकसम एक निश्चित शब्द लंबाई (जैसे, बाइट मान) के संदेश कोड शब्दों का एक मॉड्यूलर अंकगणितीय योग है। अनजाने में सभी-शून्य संदेशों का पता लगाने के लिए ट्रांसमिशन से पहले ओन्स के पूरक | वाले-पूरक ऑपरेशन के माध्यम से योग को नकारा जा सकता है।
संदेश का चेकसम एक निश्चित शब्द लंबाई (जैसे, बाइट मान) के संदेश कोड शब्दों का एक मॉड्यूलर अंकगणितीय योग है। अनजाने में सभी शून्य संदेशों का पता लगाने के लिए संचरण से पहले एक-पूरक ऑपरेशन के माध्यम से योग को अस्वीकार किया जा सकता है।


चेकसम योजनाओं में समता बिट्स, चेक अंक और अनुदैर्ध्य अतिरेक जांच शामिल हैं। कुछ चेकसम योजनाएं, जैसे कि डैम एल्गोरिथम, लुहन एल्गोरिथम, और वेरहोफ एल्गोरिथम, विशेष रूप से उन त्रुटियों का पता लगाने के लिए डिज़ाइन की गई हैं जो आम तौर पर पहचान संख्या लिखने या याद रखने में मनुष्यों द्वारा पेश की जाती हैं।
चेकसम योजनाओं में समता बिट्स, चेक अंक और देशांतरीय अतिरेक जांच शामिल हैं। कुछ चेकसम योजनाएं, जैसे कि डैम एल्गोरिथम, लुहन एल्गोरिथम, और वेरहोफ एल्गोरिथम, विशेष रूप से उन त्रुटियों का पता लगाने के लिए डिज़ाइन की गई हैं जो आम तौर पर पहचान संख्या लिखने या याद रखने में मनुष्यों द्वारा शुरू की गई हैं।


=== चक्रीय अतिरेक जाँच ===
=== चक्रीय अतिरेक जाँच ===
{{Main|Cyclic redundancy check}}
{{Main|Cyclic redundancy check}}
एक चक्रीय अतिरेक जांच (सीआरसी) एक गैर-सुरक्षित हैश फ़ंक्शन है जिसे कंप्यूटर नेटवर्क में डिजिटल डेटा में आकस्मिक परिवर्तनों का पता लगाने के लिए डिज़ाइन किया गया है। यह दुर्भावनापूर्ण रूप से शुरू की गई त्रुटियों का पता लगाने के लिए उपयुक्त नहीं है। यह एक जनरेटर बहुपद के विनिर्देशन की विशेषता है, जिसका उपयोग एक परिमित क्षेत्र में बहुपद लंबे विभाजन में भाजक के रूप में किया जाता है, इनपुट डेटा को लाभांश के रूप में लेते हुए। शेष परिणाम बन जाता है।
एक चक्रीय अतिरेक जाँच (सीआरसी) एक गैर-सुरक्षित हैश फ़ंक्शन है जिसे कंप्यूटर नेटवर्क में डिजिटल डेटा में आकस्मिक परिवर्तन का पता लगाने के लिए डिज़ाइन किया गया है। यह दुर्भावनापूर्ण रूप से प्रस्तुत त्रुटियों का पता लगाने के लिए उपयुक्त नहीं है। यह एक जनरेटर बहुपद के विनिर्देशन द्वारा विशेषता है, जिसका उपयोग एक परिमित क्षेत्र पर बहुपद लंबे विभाजन में भाजक के रूप में किया जाता है, इनपुट डेटा को लाभांश के रूप में लेते हुए। शेष परिणाम बन जाता है।


CRC में ऐसे गुण होते हैं जो इसे बर्स्ट त्रुटियों का पता लगाने के लिए उपयुक्त बनाते हैं। सीआरसी हार्डवेयर में लागू करना विशेष रूप से आसान है और इसलिए आमतौर पर कंप्यूटर नेटवर्क और स्टोरेज डिवाइस जैसे हार्ड डिस्क ड्राइव में उपयोग किया जाता है।
एक सीआरसी में ऐसे गुण होते हैं जो इसे फटने वाली त्रुटियों का पता लगाने के लिए उपयुक्त बनाते हैं। सीआरसी विशेष रूप से हार्डवेयर में लागू करने में आसान होते हैं और इसलिए आमतौर पर कंप्यूटर नेटवर्क और हार्ड डिस्क ड्राइव जैसे स्टोरेज डिवाइस में उपयोग किए जाते हैं।


समता बिट को विशेष-केस 1-बिट सीआरसी के रूप में देखा जा सकता है।
समता बिट को विशेष-केस 1-बिट सीआरसी के रूप में देखा जा सकता है।
Line 113: Line 100:
=== क्रिप्टोग्राफिक हैश फ़ंक्शन ===
=== क्रिप्टोग्राफिक हैश फ़ंक्शन ===
{{Main|Cryptographic hash function}}
{{Main|Cryptographic hash function}}
क्रिप्टोग्राफिक हैश फ़ंक्शन का आउटपुट, जिसे संदेश डाइजेस्ट के रूप में भी जाना जाता है, डेटा अखंडता के बारे में मजबूत आश्वासन प्रदान कर सकता है, चाहे डेटा में परिवर्तन आकस्मिक हो (जैसे, ट्रांसमिशन त्रुटियों के कारण) या दुर्भावनापूर्ण रूप से पेश किया गया हो। डेटा में किसी भी संशोधन का पता बेमेल हैश मान के माध्यम से लगाया जाएगा। इसके अलावा, कुछ हैश मान दिए जाने पर, कुछ इनपुट डेटा (दिए गए एक के अलावा) को ढूंढना आम तौर पर संभव नहीं है जो समान हैश मान प्राप्त करेगा। यदि कोई हमलावर न केवल संदेश बल्कि हैश मान को भी बदल सकता है, तो अतिरिक्त सुरक्षा के लिए एक कुंजी हैश या संदेश प्रमाणीकरण कोड (मैक) का उपयोग किया जा सकता है। कुंजी को जाने बिना, हमलावर के लिए संशोधित संदेश के लिए सही कुंजी वाले हैश मान की आसानी से या आसानी से गणना करना संभव नहीं है।
क्रिप्टोग्राफ़िक हैश फ़ंक्शन का आउटपुट, जिसे संदेश डाइजेस्ट के रूप में भी जाना जाता है, डेटा अखंडता के बारे में मजबूत आश्वासन प्रदान कर सकता है, चाहे डेटा के परिवर्तन आकस्मिक हों (उदाहरण के लिए, ट्रांसमिशन त्रुटियों के कारण) या दुर्भावनापूर्ण रूप से पेश किए गए हों। डेटा में किसी भी संशोधन का पता बेमेल हैश मान के माध्यम से लगाया जा सकता है। इसके अलावा, कुछ हैश मान दिए जाने पर, कुछ इनपुट डेटा (दिए गए एक के अलावा) को ढूंढना आम तौर पर संभव नहीं है जो समान हैश मान उत्पन्न करेगा। यदि कोई हमलावर न केवल संदेश बल्कि हैश मान को भी बदल सकता है, तो अतिरिक्त सुरक्षा के लिए एक की हैश या संदेश प्रमाणीकरण कोड (मैक) का उपयोग किया जा सकता है। कुंजी को जाने बिना, हमलावर के लिए आसानी से या आसानी से संशोधित संदेश के लिए सही कुंजी वाले हैश मान की गणना करना संभव नहीं है।


=== त्रुटि सुधार कोड ===
=== त्रुटि सुधार कोड ===
{{Main|Error correction code}}
{{Main|Error correction code}}
किसी भी त्रुटि-सुधार कोड का उपयोग त्रुटि का पता लगाने के लिए किया जा सकता है। न्यूनतम हैमिंग दूरी वाला एक कोड, d, एक कोड वर्ड में d-1 त्रुटियों तक का पता लगा सकता है। त्रुटि का पता लगाने के लिए न्यूनतम-दूरी-आधारित त्रुटि-सुधार कोड का उपयोग करना उपयुक्त हो सकता है यदि त्रुटियों की न्यूनतम संख्या का पता लगाने की एक सख्त सीमा वांछित हो।
त्रुटि का पता लगाने के लिए किसी भी त्रुटि-सुधार कोड का उपयोग किया जा सकता है। न्यूनतम हैमिंग दूरी वाला कोड, d, एक कोड वर्ड में d-1 त्रुटियों तक का पता लगा सकता है। त्रुटि का पता लगाने के लिए न्यूनतम-दूरी-आधारित त्रुटि-सुधार कोड का उपयोग करना उपयुक्त हो सकता है यदि पता लगाने के लिए त्रुटियों की न्यूनतम संख्या पर एक सख्त सीमा वांछित है।


न्यूनतम हैमिंग दूरी d = 2 वाले कोड त्रुटि-सुधार करने वाले कोड के अपक्षयी मामले हैं, और एकल त्रुटियों का पता लगाने के लिए उपयोग किया जा सकता है। समता बिट एकल-त्रुटि-पहचान कोड का एक उदाहरण है।
न्यूनतम हैमिंग दूरी d = 2 वाले कोड त्रुटि-सुधार कोड के पतित मामले हैं, और एकल त्रुटियों का पता लगाने के लिए उपयोग किया जा सकता है। समता बिट एकल-त्रुटि-पता लगाने वाले कोड का एक उदाहरण है।


== अनुप्रयोग ==
== अनुप्रयोग ==
कम विलंबता की आवश्यकता वाले एप्लिकेशन (जैसे टेलीफोन वार्तालाप) स्वचालित दोहराव अनुरोध (एआरक्यू) का उपयोग नहीं कर सकते हैं; उन्हें फॉरवर्ड एरर करेक्शन (FEC) का उपयोग करना चाहिए। जब तक एआरक्यू सिस्टम एक त्रुटि का पता लगाता है और उसे फिर से प्रसारित करता है, तब तक फिर से भेजा गया डेटा प्रयोग करने योग्य होने के लिए बहुत देर से पहुंचेगा।
कम विलंबता की आवश्यकता वाले एप्लिकेशन (जैसे टेलीफोन वार्तालाप) स्वचालित दोहराव अनुरोध (ARQ) का उपयोग नहीं कर सकते हैं; उन्हें फॉरवर्ड एरर करेक्शन (FEC) का इस्तेमाल करना चाहिए। जब तक एक एआरक्यू सिस्टम एक त्रुटि का पता लगाता है और इसे फिर से प्रसारित करता है, तब तक फिर से भेजा गया डेटा प्रयोग करने योग्य होने के लिए बहुत देर से आएगा।


ऐसे अनुप्रयोग जहां ट्रांसमीटर सूचना भेजते ही तुरंत भूल जाता है (जैसे कि अधिकांश टेलीविजन कैमरे) एआरक्यू का उपयोग नहीं कर सकते हैं; उन्हें FEC का उपयोग करना चाहिए क्योंकि जब कोई त्रुटि होती है, तो मूल डेटा अब उपलब्ध नहीं होता है।
ऐसे अनुप्रयोग जहां ट्रांसमीटर सूचना भेजते ही तुरंत भूल जाता है (जैसे कि अधिकांश टेलीविजन कैमरे) ARQ का उपयोग नहीं कर सकते हैं; उन्हें FEC का उपयोग अवश्य करना चाहिए क्योंकि जब कोई त्रुटि होती है, तो मूल डेटा अब उपलब्ध नहीं होता है।


एआरक्यू का उपयोग करने वाले अनुप्रयोगों में एक वापसी चैनल होना चाहिए; बिना रिटर्न चैनल वाले एप्लिकेशन एआरक्यू का उपयोग नहीं कर सकते हैं।
अनुप्रयोग जो ARQ का उपयोग करते हैं, उनके पास एक वापसी चैनल होना चाहिए; बिना वापसी चैनल वाले एप्लिकेशन ARQ का उपयोग नहीं कर सकते।
 
एफईसी के साथ अचूक त्रुटियों की संभावना के कारण जिन अनुप्रयोगों को बेहद कम त्रुटि दर (जैसे डिजिटल मनी ट्रांसफर) की आवश्यकता होती है, उन्हें एआरक्यू का उपयोग करना चाहिए।
 
विश्वसनीयता और निरीक्षण इंजीनियरिंग भी त्रुटि-सुधार कोड के सिद्धांत का उपयोग करते हैं।<ref>{{cite journal |url=http://www.eng.tau.ac.il/~bengal/SCI_paper.pdf|journal=IIE Transactions |title=Self-correcting inspection procedure under inspection errors |author1=Ben-Gal I. |author2=Herer Y. |author3=Raz T. |publisher=IIE Transactions on Quality and Reliability, 34(6), pp. 529-540. |year=2003 |access-date=2014-01-10 |archive-url=https://web.archive.org/web/20131013171945/http://www.eng.tau.ac.il/~bengal/SCI_paper.pdf |archive-date=2013-10-13 |url-status=dead }}</ref>


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


विश्वसनीयता और निरीक्षण इंजीनियरिंग भी त्रुटि-सुधार करने वाले कोड के सिद्धांत का उपयोग करते हैं।<ref>{{cite journal |url=http://www.eng.tau.ac.il/~bengal/SCI_paper.pdf|journal=IIE Transactions |title=Self-correcting inspection procedure under inspection errors |author1=Ben-Gal I. |author2=Herer Y. |author3=Raz T. |publisher=IIE Transactions on Quality and Reliability, 34(6), pp. 529-540. |year=2003 |access-date=2014-01-10 |archive-url=https://web.archive.org/web/20131013171945/http://www.eng.tau.ac.il/~bengal/SCI_paper.pdf |archive-date=2013-10-13 |url-status=dead }}</ref>
=== इंटरनेट ===
=== इंटरनेट ===
एक विशिष्ट टीसीपी/आईपी स्टैक में, त्रुटि नियंत्रण कई स्तरों पर किया जाता है:
एक सामान्य टीसीपी/आईपी स्टैक में, त्रुटि नियंत्रण कई स्तरों पर किया जाता है:
* प्रत्येक ईथरनेट फ्रेम चक्रीय अतिरेक जांच का उपयोग करता है | CRC-32 त्रुटि का पता लगाने। पता की गई त्रुटियों वाले फ़्रेम को रिसीवर हार्डवेयर द्वारा त्याग दिया जाता है।
* प्रत्येक ईथरनेट फ्रेम CRC-32 त्रुटि का पता लगाने का उपयोग करता है। पता लगाई गई त्रुटियों वाले फ़्रेमों को रिसीवर हार्डवेयर द्वारा हटा दिया जाता है।
* IPv4 हेडर में एक IPv4 हेडर चेकसम होता है जो हेडर की सामग्री की सुरक्षा करता है। गलत चेकसम वाले नेटवर्क पैकेट को नेटवर्क के भीतर या रिसीवर पर गिरा दिया जाता है।
* IPv4 हेडर में हेडर की सामग्री की सुरक्षा के लिए चेकसम होता है। गलत चेकसम वाले पैकेट नेटवर्क के अंदर या रिसीवर के पास छोड़ दिए जाते हैं।
* नेटवर्क रूटिंग में प्रोसेसिंग लागत को कम करने के लिए चेकसम को IPv6 हेडर से हटा दिया गया था और क्योंकि वर्तमान लिंक लेयर तकनीक को पर्याप्त त्रुटि का पता लगाने के लिए माना जाता है (RFC 3819 भी देखें)।
* नेटवर्क रूटिंग में प्रोसेसिंग लागत को कम करने के लिए चेकसम को IPv6 हेडर से हटा दिया गया था और क्योंकि वर्तमान लिंक लेयर तकनीक को पर्याप्त त्रुटि पहचान प्रदान करने के लिए माना जाता है (RFC 3819 भी देखें)।
* उपयोगकर्ता डेटाग्राम प्रोटोकॉल में यूडीपी और आईपी हेडर में पेलोड और एड्रेसिंग जानकारी को कवर करने वाला एक वैकल्पिक चेकसम है। गलत चेकसम वाले पैकेट नेटवर्क स्टैक द्वारा त्याग दिए जाते हैं। चेकसम IPv4 के तहत वैकल्पिक है और IPv6 के तहत आवश्यक है। जब छोड़ा जाता है, तो यह माना जाता है कि डेटा-लिंक परत त्रुटि सुरक्षा का वांछित स्तर प्रदान करती है।
* यूडीपी के पास एक वैकल्पिक चेकसम है जो यूडीपी और आईपी हेडर में पेलोड और एड्रेसिंग जानकारी को कवर करता है। गलत चेकसम वाले पैकेट्स को नेटवर्क स्टैक द्वारा छोड़ दिया जाता है। IPv4 के तहत चेकसम वैकल्पिक है और IPv6 के तहत आवश्यक है। छोड़े जाने पर, यह माना जाता है कि डेटा-लिंक परत त्रुटि सुरक्षा का वांछित स्तर प्रदान करती है।
* ट्रांसमिशन कंट्रोल प्रोटोकॉल टीसीपी और आईपी हेडर में पेलोड की सुरक्षा और जानकारी को संबोधित करने के लिए एक चेकसम प्रदान करता है। गलत चेकसम वाले पैकेट को नेटवर्क स्टैक द्वारा छोड़ दिया जाता है, और अंततः एआरक्यू का उपयोग करके या तो स्पष्ट रूप से (जैसे कि तीन-तरफा हैंडशेक के माध्यम से) या एक टाइमआउट (कंप्यूटिंग) के कारण परोक्ष रूप से पुनः प्रेषित किया जाता है।
* टीसीपी पेलोड की सुरक्षा और टीसीपी और आईपी हेडर में सूचना को संबोधित करने के लिए चेकसम प्रदान करता है। गलत चेकसम वाले पैकेटों को नेटवर्क स्टैक द्वारा हटा दिया जाता है, और अंततः ARQ का उपयोग करके पुनः प्रेषित किया जाता है, या तो स्पष्ट रूप से (जैसे कि तीन-तरफ़ा हैंडशेक के माध्यम से) या समय समाप्त होने के कारण निहित रूप से।


=== डीप-स्पेस दूरसंचार ===
=== डीप-स्पेस दूरसंचार ===
अंतर-ग्रहीय दूरी पर सिग्नल पावर के अत्यधिक कमजोर पड़ने और अंतरिक्ष जांच पर सीमित बिजली उपलब्धता के कारण त्रुटि-सुधार कोड का विकास गहरे अंतरिक्ष मिशन के इतिहास के साथ कसकर जोड़ा गया था। जबकि शुरुआती मिशनों ने अपने डेटा को बिना कोड के भेजा, 1968 से शुरू होकर, डिजिटल त्रुटि सुधार को (उप-इष्टतम रूप से डीकोडेड) कनवल्शनल कोड और रीड-मुलर कोड के रूप में लागू किया गया था।<ref name="deep-space-codes">K. Andrews et al., ''The Development of Turbo and LDPC Codes for Deep-Space Applications'', Proceedings of the IEEE, Vol. 95, No. 11, Nov. 2007.</ref> रीड-मुलर कोड उस शोर के अनुकूल था जो अंतरिक्ष यान के अधीन था (लगभग एक गाऊसी फ़ंक्शन से मेल खाता था), और इसे मेरिनर अंतरिक्ष यान के लिए लागू किया गया था और 1969 और 1977 के बीच मिशन पर इस्तेमाल किया गया था।
अंतर-ग्रहीय दूरी पर सिग्नल शक्ति के अत्यधिक कमजोर पड़ने और अंतरिक्ष जांच में सीमित बिजली उपलब्धता के कारण त्रुटि-सुधार कोड का विकास गहरे अंतरिक्ष मिशन के इतिहास के साथ कसकर जोड़ा गया था। जबकि शुरुआती मिशनों ने अपने डेटा को बिना कोड के भेजा, 1968 से शुरू होकर, डिजिटल त्रुटि सुधार को (सब-इष्टतम रूप से डीकोडेड) कनवल्शनल कोड और रीड-मुलर कोड के रूप में लागू किया गया था।<ref name="deep-space-codes">K. Andrews et al., ''The Development of Turbo and LDPC Codes for Deep-Space Applications'', Proceedings of the IEEE, Vol. 95, No. 11, Nov. 2007.</ref> रीड-मुलर कोड उस शोर के अनुकूल था जो अंतरिक्ष यान (लगभग एक घंटी वक्र से मेल खाता था) के अधीन था, और इसे मेरिनर अंतरिक्ष यान के लिए लागू किया गया था और 1969 और 1977 के बीच मिशनों पर उपयोग किया गया था।


वोयाजर 1 और वोयाजर 2 मिशन, जो 1977 में शुरू हुए थे, को बृहस्पति और शनि से रंगीन इमेजिंग और वैज्ञानिक जानकारी देने के लिए डिज़ाइन किया गया था।<ref name="voyager">{{cite book |first1=William Cary |last1=Huffman |first2=Vera S. |last2=Pless |author-link2=Vera Pless |title=Fundamentals of Error-Correcting Codes |publisher=[[Cambridge University Press]] |year=2003 |isbn=978-0-521-78280-7 |url-access=registration |url=https://archive.org/details/fundamentalsofer0000huff }}</ref> इसके परिणामस्वरूप कोडिंग आवश्यकताओं में वृद्धि हुई, और इस प्रकार, अंतरिक्ष यान को (बेहतर रूप से विटरबी डिकोडर | विटरबी-डिकोडेड) कनवल्शनल कोड द्वारा समर्थित किया गया था जिसे बाहरी बाइनरी गोले कोड | गोले (24,12,8) कोड के साथ कोडित किया जा सकता था। वोयाजर 2 शिल्प ने अतिरिक्त रूप से रीड-सोलोमन कोड के कार्यान्वयन का समर्थन किया। संयोजित रीड-सोलोमन-विटरबी (आरएसवी) कोड ने बहुत शक्तिशाली त्रुटि सुधार के लिए अनुमति दी, और यूरेनस और नेपच्यून के लिए अंतरिक्ष यान की विस्तारित यात्रा को सक्षम किया। 1989 में ECC सिस्टम अपग्रेड के बाद, दोनों क्राफ्ट्स ने V2 RSV कोडिंग का इस्तेमाल किया।
वोयाजर 1 और वोयाजर 2 मिशन, जो 1977 में शुरू हुए थे, को बृहस्पति और शनि से रंगीन इमेजिंग और वैज्ञानिक जानकारी देने के लिए डिजाइन किया गया था।<ref name="voyager">{{cite book |first1=William Cary |last1=Huffman |first2=Vera S. |last2=Pless |author-link2=Vera Pless |title=Fundamentals of Error-Correcting Codes |publisher=[[Cambridge University Press]] |year=2003 |isbn=978-0-521-78280-7 |url-access=registration |url=https://archive.org/details/fundamentalsofer0000huff }}</ref> इसके परिणामस्वरूप कोडिंग आवश्यकताओं में वृद्धि हुई, और इस प्रकार, अंतरिक्ष यान को (बेहतर Viterbi-decoded) कनवल्शनल कोड द्वारा समर्थित किया गया था जो कि एक बाहरी गोले (24,12,8) कोड के साथ जोड़ा जा सकता है। वोयाजर 2 यान ने रीड-सोलोमन कोड के कार्यान्वयन का अतिरिक्त समर्थन किया। जुड़े हुए रीड-सोलोमन-विटरबी (आरएसवी) कोड ने बहुत शक्तिशाली त्रुटि सुधार की अनुमति दी, और अंतरिक्ष यान की यूरेनस और नेप्च्यून की विस्तारित यात्रा को सक्षम किया। 1989 में ईसीसी प्रणाली के उन्नयन के बाद, दोनों शिल्पों ने वी2 आरएसवी कोडिंग का इस्तेमाल किया।


स्पेस डेटा सिस्टम्स के लिए सलाहकार समिति वर्तमान में कम से कम वोयाजर 2 आरएसवी कोड के समान प्रदर्शन के साथ त्रुटि सुधार कोड के उपयोग की सिफारिश करती है। संयोजित कोड तेजी से अंतरिक्ष मिशन के पक्ष में गिर रहे हैं, और टर्बो कोड या एलडीपीसी कोड जैसे अधिक शक्तिशाली कोड द्वारा प्रतिस्थापित किए जाते हैं।
स्पेस डेटा सिस्टम्स के लिए सलाहकार समिति वर्तमान में वायेजर 2 आरएसवी कोड के समान प्रदर्शन के साथ त्रुटि सुधार कोड के उपयोग की सिफारिश करती है। संयोजित कोड तेजी से अंतरिक्ष मिशनों के पक्ष में होते जा रहे हैं, और टर्बो कोड या LDPC कोड जैसे अधिक शक्तिशाली कोड द्वारा प्रतिस्थापित किए जाते हैं।


विभिन्न प्रकार के गहरे अंतरिक्ष और कक्षीय मिशन जो आयोजित किए जाते हैं, सुझाव देते हैं कि एक आकार-फिट-सभी त्रुटि सुधार प्रणाली खोजने की कोशिश करना एक सतत समस्या होगी। पृथ्वी के निकट के मिशनों के लिए, संचार चैनल में शोर (इलेक्ट्रॉनिक्स) की प्रकृति उससे भिन्न होती है, जो एक अंतरग्रहीय मिशन पर एक अंतरिक्ष यान अनुभव करता है। इसके अतिरिक्त, जैसे-जैसे एक अंतरिक्ष यान पृथ्वी से अपनी दूरी बढ़ाता है, शोर को ठीक करने की समस्या और अधिक कठिन हो जाती है।
आयोजित किए गए विभिन्न प्रकार के गहरे अंतरिक्ष और कक्षीय मिशन सुझाव देते हैं कि एक आकार-फिट-सभी त्रुटि सुधार प्रणाली खोजने की कोशिश करना एक सतत समस्या होगी। पृथ्वी के करीब के मिशनों के लिए, संचार चैनल में शोर की प्रकृति उससे भिन्न होती है जो एक अंतरग्रहीय मिशन पर अंतरिक्ष यान अनुभव करता है। इसके अतिरिक्त, जैसे ही एक अंतरिक्ष यान पृथ्वी से अपनी दूरी बढ़ाता है, शोर के लिए सुधार की समस्या और अधिक कठिन हो जाती है।


=== उपग्रह प्रसारण ===
=== उपग्रह प्रसारण ===
सैटेलाइट ट्रांसपोंडर बैंडविड्थ की मांग बढ़ती जा रही है, जो टेलीविजन (नए चैनल और हाई-डेफिनिशन टेलीविजन सहित) और आईपी डेटा देने की इच्छा से प्रेरित है। ट्रांसपोंडर उपलब्धता और बैंडविड्थ बाधाओं ने इस वृद्धि को सीमित कर दिया है। ट्रांसपोंडर क्षमता चयनित मॉड्यूलेशन योजना और एफईसी द्वारा खपत क्षमता के अनुपात द्वारा निर्धारित की जाती है।
टेलीविजन (नए चैनल और हाई-डेफिनिशन टेलीविजन सहित) और आईपी डेटा देने की इच्छा से उपग्रह ट्रांसपोंडर बैंडविड्थ की मांग बढ़ती जा रही है। ट्रांसपोंडर की उपलब्धता और बैंडविड्थ की कमी ने इस वृद्धि को सीमित कर दिया है। ट्रांसपोंडर क्षमता चयनित मॉडुलन योजना और FEC द्वारा खपत क्षमता के अनुपात द्वारा निर्धारित की जाती है।


=== डेटा संग्रहण ===
=== डेटा संग्रहण ===
डेटा स्टोरेज मीडिया की विश्वसनीयता में सुधार के लिए त्रुटि का पता लगाने और सुधार कोड का उपयोग अक्सर किया जाता है।<ref>{{Cite book|last1=Kurtas|first1=Erozan M.|url=https://books.google.com/books?id=Vx_NBQAAQBAJ&q=Error+detection+and+correction+codes+are+often+used+to+improve+the+reliability+of+data+storage+media&pg=PR5|title=Advanced Error Control Techniques for Data Storage Systems|last2=Vasic|first2=Bane|date=2018-10-03|publisher=CRC Press|isbn=978-1-4200-3649-7|language=en}}{{Dead link|date=March 2020 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 1951 में पहले चुंबकीय टेप डेटा भंडारण पर एकल-बिट त्रुटियों का पता लगाने में सक्षम एक समता ट्रैक मौजूद था। समूह कोडित रिकॉर्डिंग टेप में उपयोग किया जाने वाला इष्टतम आयताकार कोड न केवल पता लगाता है बल्कि एकल-बिट त्रुटियों को भी ठीक करता है। कुछ फ़ाइल स्वरूपों, विशेष रूप से संग्रह स्वरूपों में भ्रष्टाचार और कटाव का पता लगाने के लिए एक चेकसम (अक्सर CRC32) शामिल होता है और दूषित डेटा के हिस्से को पुनर्प्राप्त करने के लिए अतिरेक या समता फ़ाइलों को नियोजित कर सकता है। क्रॉस-इंटरलीव्ड रीड-सोलोमन कोडिंग | स्क्रैच के कारण होने वाली त्रुटियों को ठीक करने के लिए कॉम्पैक्ट डिस्क में रीड-सोलोमन कोड का उपयोग किया जाता है।
डेटा स्टोरेज मीडिया की विश्वसनीयता में सुधार के लिए त्रुटि का पता लगाने और सुधार कोड का उपयोग अक्सर किया जाता है।<ref>{{Cite book|last1=Kurtas|first1=Erozan M.|url=https://books.google.com/books?id=Vx_NBQAAQBAJ&q=Error+detection+and+correction+codes+are+often+used+to+improve+the+reliability+of+data+storage+media&pg=PR5|title=Advanced Error Control Techniques for Data Storage Systems|last2=Vasic|first2=Bane|date=2018-10-03|publisher=CRC Press|isbn=978-1-4200-3649-7|language=en}}{{Dead link|date=March 2020 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 1951 में पहले मैग्नेटिक टेप डेटा स्टोरेज पर सिंगल-बिट त्रुटियों का पता लगाने में सक्षम पैरिटी ट्रैक मौजूद था। समूह कोडित रिकॉर्डिंग टेप में उपयोग किया जाने वाला इष्टतम आयताकार कोड न केवल पता लगाता है बल्कि सिंगल-बिट त्रुटियों को ठीक भी करता है। कुछ फ़ाइल स्वरूपों, विशेष रूप से संग्रह स्वरूपों में भ्रष्टाचार और छंटनी का पता लगाने के लिए एक चेकसम (अक्सर CRC32) शामिल होता है और दूषित डेटा के हिस्से को पुनर्प्राप्त करने के लिए अतिरेक या समता फ़ाइलों को नियोजित कर सकता है। रीड-सोलोमन कोड कॉम्पैक्ट डिस्क में खरोंच के कारण होने वाली त्रुटियों को ठीक करने के लिए उपयोग किए जाते हैं।


आधुनिक हार्ड ड्राइव रीड-सोलोमन कोड का उपयोग सेक्टर रीड में छोटी त्रुटियों का पता लगाने और उन्हें ठीक करने के लिए करते हैं, और विफल क्षेत्रों से दूषित डेटा को पुनर्प्राप्त करने और उस डेटा को अतिरिक्त क्षेत्रों में संग्रहीत करने के लिए करते हैं।<ref>{{cite web |archive-url=https://web.archive.org/web/20080202143103/http://www.myharddrivedied.com/presentations_whitepaper.html |archive-date=2008-02-02 |url=http://www.myharddrivedied.com/presentations_whitepaper.html |title=My Hard Drive Died |author=Scott A. Moulton}}</ref> जब हार्ड ड्राइव पूरी तरह से विफल हो जाता है तो RAID सिस्टम डेटा को पुनर्प्राप्त करने के लिए विभिन्न प्रकार की त्रुटि सुधार तकनीकों का उपयोग करता है। ZFS या Btrfs जैसे फाइल सिस्टम, साथ ही कुछ RAID कार्यान्वयन, डेटा स्क्रबिंग और रिसिलवरिंग का समर्थन करते हैं, जो खराब ब्लॉकों का पता लगाने की अनुमति देता है और (उम्मीद है) उनके उपयोग से पहले पुनर्प्राप्त किया जाता है।<ref>{{Cite journal|last1=Qiao|first1=Zhi|last2=Fu|first2=Song|last3=Chen|first3=Hsing-Bung|last4=Settlemyer|first4=Bradley|date=2019|title=Building Reliable High-Performance Storage Systems: An Empirical and Analytical Study|journal=2019 IEEE International Conference on Cluster Computing (CLUSTER)|pages=1–10|doi=10.1109/CLUSTER.2019.8891006|isbn=978-1-7281-4734-5|s2cid=207951690}}</ref> पुनर्प्राप्त किए गए डेटा को ठीक उसी भौतिक स्थान पर फिर से लिखा जा सकता है, हार्डवेयर के एक ही टुकड़े पर कहीं और ब्लॉक करने के लिए, या डेटा को प्रतिस्थापन हार्डवेयर पर फिर से लिखा जा सकता है।
आधुनिक हार्ड ड्राइव्स रीड-सोलोमन कोड का उपयोग सेक्टर रीड में छोटी त्रुटियों का पता लगाने और उन्हें ठीक करने के लिए करते हैं, और विफल सेक्टरों से दूषित डेटा को पुनर्प्राप्त करने के लिए और उस डेटा को अतिरिक्त क्षेत्रों में संग्रहीत करते हैं।<ref>{{cite web |archive-url=https://web.archive.org/web/20080202143103/http://www.myharddrivedied.com/presentations_whitepaper.html |archive-date=2008-02-02 |url=http://www.myharddrivedied.com/presentations_whitepaper.html |title=My Hard Drive Died |author=Scott A. Moulton}}</ref> जब हार्ड ड्राइव पूरी तरह से विफल हो जाता है, तो डेटा को पुनर्प्राप्त करने के लिए RAID सिस्टम विभिन्न प्रकार की त्रुटि सुधार तकनीकों का उपयोग करता है। ZFS या Btrfs जैसे फाइल सिस्टम, साथ ही कुछ RAID कार्यान्वयन, डेटा स्क्रबिंग और रिसिल्वरिंग का समर्थन करते हैं, जो खराब ब्लॉकों का पता लगाने की अनुमति देता है और (उम्मीद है) उनका उपयोग करने से पहले उन्हें पुनर्प्राप्त किया जा सकता है।<ref>{{Cite journal|last1=Qiao|first1=Zhi|last2=Fu|first2=Song|last3=Chen|first3=Hsing-Bung|last4=Settlemyer|first4=Bradley|date=2019|title=Building Reliable High-Performance Storage Systems: An Empirical and Analytical Study|journal=2019 IEEE International Conference on Cluster Computing (CLUSTER)|pages=1–10|doi=10.1109/CLUSTER.2019.8891006|isbn=978-1-7281-4734-5|s2cid=207951690}}</ref> पुनर्प्राप्त डेटा को ठीक उसी भौतिक स्थान पर फिर से लिखा जा सकता है, हार्डवेयर के एक ही टुकड़े पर कहीं और ब्लॉक करने के लिए, या डेटा को प्रतिस्थापन हार्डवेयर पर फिर से लिखा जा सकता है।


=== {{Anchor|LINUX-EDAC|BLUESMOKE}}त्रुटि-सुधार स्मृति ===
=== त्रुटि-सुधार स्मृति ===
{{Main|ECC memory}}
{{Main|ECC memory}}
डायनेमिक रैंडम-एक्सेस मेमोरी (DRAM) एरर-करेक्टिंग कोड पर भरोसा करके सॉफ्ट एरर के खिलाफ मजबूत सुरक्षा प्रदान कर सकती है। इस तरह की त्रुटि-सुधार स्मृति, जिसे ईसीसी या ईडीएसी-संरक्षित मेमोरी के रूप में जाना जाता है, विशेष रूप से मिशन-महत्वपूर्ण अनुप्रयोगों, जैसे वैज्ञानिक कंप्यूटिंग, वित्तीय, चिकित्सा, आदि के साथ-साथ अंतरिक्ष में बढ़ी हुई ब्रह्मांडीय किरण के कारण अलौकिक अनुप्रयोगों के लिए वांछनीय है।
डायनेमिक रैंडम-एक्सेस मेमोरी (DRAM) त्रुटि-सुधार कोड पर भरोसा करके सॉफ्ट त्रुटियों के विरुद्ध मजबूत सुरक्षा प्रदान कर सकती है। ऐसी त्रुटि-सुधार करने वाली मेमोरी, जिसे ईसीसी या ईडीएसी-संरक्षित मेमोरी के रूप में जाना जाता है, मिशन-महत्वपूर्ण अनुप्रयोगों के लिए विशेष रूप से वांछनीय है, जैसे वैज्ञानिक कंप्यूटिंग, वित्तीय, चिकित्सा, आदि के साथ-साथ अंतरिक्ष में बढ़ते विकिरण के कारण अलौकिक अनुप्रयोग भी।


त्रुटि-सुधार स्मृति नियंत्रक परंपरागत रूप से हैमिंग कोड का उपयोग करते हैं, हालांकि कुछ ट्रिपल मॉड्यूलर रिडंडेंसी का उपयोग करते हैं। त्रुटि सुधार कोड # इंटरलीविंग एक एकल ब्रह्मांडीय किरण के प्रभाव को वितरित करने की अनुमति देता है जो पड़ोसी बिट्स को अलग-अलग शब्दों से जोड़कर कई शब्दों में कई भौतिक रूप से पड़ोसी बिट्स को संभावित रूप से परेशान करता है। जब तक सिंगल-इवेंट अपसेट (एसईयू) एक्सेस के बीच किसी विशेष शब्द में एरर थ्रेशोल्ड (जैसे, सिंगल एरर) से अधिक नहीं है, तब तक इसे ठीक किया जा सकता है (जैसे, सिंगल-बिट एरर-करेक्टिंग कोड द्वारा), और एक त्रुटि मुक्त स्मृति प्रणाली का भ्रम बनाए रखा जा सकता है।<ref>{{cite web
त्रुटि-सुधार स्मृति नियंत्रक पारंपरिक रूप से हैमिंग कोड का उपयोग करते हैं, हालांकि कुछ ट्रिपल मॉड्यूलर अतिरेक का उपयोग करते हैं। इंटरलीविंग एक एकल ब्रह्मांडीय किरण के प्रभाव को वितरित करने की अनुमति देता है जो पड़ोसी बिट्स को अलग-अलग शब्दों से जोड़कर कई शारीरिक रूप से पड़ोसी बिट्स को कई शब्दों में संभावित रूप से परेशान करता है। जब तक सिंगल-इवेंट अपसेट (एसईयू) एक्सेस के बीच किसी विशेष शब्द में एरर थ्रेशोल्ड (उदाहरण के लिए, एक त्रुटि) से अधिक नहीं होता है, तब तक इसे ठीक किया जा सकता है (उदाहरण के लिए, एक बिट त्रुटि सुधार कोड द्वारा), और एक एरर-फ्री मेमोरी सिस्टम के भ्रम को बनाए रखा जा सकता है। <ref>{{cite web
  |title      = Using StrongArm SA-1110 in the On-Board Computer of Nanosatellite
  |title      = Using StrongArm SA-1110 in the On-Board Computer of Nanosatellite
  |publisher  = Tsinghua Space Center, [[Tsinghua University]], Beijing
  |publisher  = Tsinghua Space Center, [[Tsinghua University]], Beijing
Line 171: Line 156:
|archive-date = 2011-10-02
|archive-date = 2011-10-02
}}<!-- I wish I had a better reference --></ref>
}}<!-- I wish I had a better reference --></ref>
ईसीसी मेमोरी के संचालन के लिए आवश्यक हार्डवेयर प्रदान करने वाली सुविधाओं के अलावा, ऑपरेटिंग सिस्टम में आमतौर पर संबंधित रिपोर्टिंग सुविधाएं होती हैं जिनका उपयोग सॉफ्ट त्रुटियों को पारदर्शी रूप से पुनर्प्राप्त होने पर सूचनाएं प्रदान करने के लिए किया जाता है। एक उदाहरण लिनक्स कर्नेल का EDAC सबसिस्टम (जिसे पहले ब्लूस्मोक के नाम से जाना जाता था) है, जो कंप्यूटर सिस्टम के अंदर त्रुटि-जांच-सक्षम घटकों से डेटा एकत्र करता है; ईसीसी मेमोरी से संबंधित घटनाओं को एकत्रित करने और वापस रिपोर्ट करने के अलावा, यह अन्य चेकसमिंग त्रुटियों का भी समर्थन करता है, जिनमें पारंपरिक पीसीआई पर पता चला है।<ref>{{cite magazine
 
ECC मेमोरी को संचालित करने के लिए आवश्यक हार्डवेयर प्रदान करने के अलावा, ऑपरेटिंग सिस्टम में आमतौर पर संबंधित रिपोर्टिंग सुविधाएं होती हैं, जिनका उपयोग सॉफ्ट एरर को पारदर्शी रूप से पुनर्प्राप्त करने पर सूचनाएं प्रदान करने के लिए किया जाता है। एक उदाहरण लिनक्स कर्नेल का ईडीएसी सबसिस्टम है (जिसे पहले ब्लूस्मोक के नाम से जाना जाता था), जो कंप्यूटर सिस्टम के अंदर त्रुटि-जांच-सक्षम घटकों से डेटा एकत्र करता है; ईसीसी मेमोरी से संबंधित घटनाओं को एकत्र करने और वापस रिपोर्ट करने के अलावा, यह पीसीआई बस में पाए गए सहित अन्य चेकसमिंग त्रुटियों का भी समर्थन करता है।<ref>{{cite magazine
  | url = http://www.admin-magazine.com/Articles/Monitoring-Memory-Errors
  | url = http://www.admin-magazine.com/Articles/Monitoring-Memory-Errors
  | title = Error Detection and Correction
  | title = Error Detection and Correction
Line 191: Line 177:
  |archive-url  = https://web.archive.org/web/20090905174616/http://www.kernel.org/doc/Documentation/edac.txt
  |archive-url  = https://web.archive.org/web/20090905174616/http://www.kernel.org/doc/Documentation/edac.txt
  |archive-date = 2009-09-05
  |archive-date = 2009-09-05
}}</ref> कुछ सिस्टम{{specify|date=December 2021}} त्रुटियों को ठीक करने से पहले उन्हें ठीक करने के लिए मेमोरी स्क्रबिंग का भी समर्थन करता है।
}}</ref> कुछ प्रणालियाँ{{specify|date=December 2021}} भी सुधारी न जाने योग्य बनने से पहले त्रुटियों को पकड़ने और ठीक करने के लिए स्मृति स्क्रबिंग का समर्थन करती हैं।


== यह भी देखें ==
== यह भी देखें ==

Revision as of 13:41, 15 November 2022

कंप्यूटर विज्ञान और दूरसंचार में अनुप्रयोगों के साथ सूचना सिद्धांत और कोडिंग सिद्धांत में, त्रुटि का पता लगाने और सुधार (ईडीएसी) या त्रुटि नियंत्रण ऐसी तकनीकें हैं जो अविश्वसनीय संचार चैनलों पर डिजिटल डेटा के विश्वसनीय वितरण को सक्षम करती हैं। कई संचार चैनल चैनल शोर के अधीन हैं, और इस प्रकार स्रोत से रिसीवर तक संचरण के दौरान त्रुटियां पेश की जा सकती हैं। त्रुटि का पता लगाने की तकनीक ऐसी त्रुटियों का पता लगाने की अनुमति देती है, जबकि त्रुटि सुधार कई मामलों में मूल डेटा के पुनर्निर्माण को सक्षम बनाता है।

परिभाषाएं

त्रुटि का पता लगाना ट्रांसमीटर से रिसीवर तक संचरण के दौरान शोर या अन्य हानियों के कारण त्रुटियों का पता लगाना है।

त्रुटि सुधार त्रुटियों का पता लगाना और मूल, त्रुटि मुक्त डेटा का पुनर्निर्माण है।

इतिहास

शास्त्रीय पुरातनता में, हिब्रू बाइबिल के प्रतिवादियों को उनके काम के लिए विक्षनरी की संख्या के अनुसार भुगतान किया गया था: स्टिच (कविता की पंक्तियां)। चूँकि बाइबल की गद्य पुस्तकें शायद ही कभी टाँके में लिखी जाती थीं, नकल करने वालों को, काम की मात्रा का अनुमान लगाने के लिए, अक्षरों को गिनना पड़ता था।[1] इससे बाद की प्रतियों के उत्पादन के साथ पाठ के प्रसारण में सटीकता सुनिश्चित करने में भी मदद मिली।[2][3] 7वीं और 10वीं शताब्दी के बीच एक मासोरेट्स ने पवित्र पाठ के सटीक पुनरुत्पादन को सुनिश्चित करने के लिए मासोरेटिक टेक्स्ट # न्यूमेरिकल मसोरा बनाने के लिए इसे औपचारिक और विस्तारित किया। इसमें एक पंक्ति, खंड, पुस्तक और पुस्तकों के समूहों में शब्दों की संख्या, एक पुस्तक के मध्य स्टिच को ध्यान में रखते हुए, शब्द उपयोग के आँकड़े और कमेंट्री शामिल थे।[1]मानक ऐसे बन गए कि टोरा स्क्रॉल में एक भी अक्षर में विचलन को अस्वीकार्य माना जाता था।[4] उनकी त्रुटि सुधार पद्धति की प्रभावशीलता को 1947-1956 में मृत सागर स्क्रॉल की खोज द्वारा प्रदर्शित सदियों के माध्यम से प्रतिलिपि बनाने की सटीकता से सत्यापित किया गया था, जो 150 ईसा पूर्व-75 सीई से डेटिंग है।[5] त्रुटि सुधार कोड के आधुनिक विकास का श्रेय 1947 में रिचर्ड हैमिंग को दिया जाता है।[6] हैमिंग कोड का विवरण | हैमिंग का कोड क्लाउड शैनन के ए मैथमैटिकल थ्योरी ऑफ कम्युनिकेशन में दिखाई दिया[7] और मार्सेल जेई गोले द्वारा जल्दी से सामान्यीकृत किया गया था।[8]

परिचय

सभी त्रुटि-पहचान और सुधार योजनाएं एक संदेश में कुछ अतिरेक (सूचना सिद्धांत) (यानी, कुछ अतिरिक्त डेटा) जोड़ती हैं, जिसका उपयोग रिसीवर वितरित संदेश की स्थिरता की जांच करने के लिए कर सकते हैं, और डेटा को पुनर्प्राप्त करने के लिए जो दूषित होने के लिए निर्धारित किया गया है। त्रुटि-पहचान और सुधार योजनाएं या तो व्यवस्थित कोड या गैर-व्यवस्थित हो सकती हैं। एक व्यवस्थित योजना में, ट्रांसमीटर मूल डेटा भेजता है, और एक निश्चित संख्या में चेक बिट्स (या समता डेटा) संलग्न करता है, जो कुछ नियतात्मक एल्गोरिथ्म द्वारा डेटा बिट्स से प्राप्त होते हैं। यदि केवल त्रुटि का पता लगाने की आवश्यकता है, तो एक रिसीवर केवल प्राप्त डेटा बिट्स पर समान एल्गोरिदम लागू कर सकता है और प्राप्त चेक बिट्स के साथ इसके आउटपुट की तुलना कर सकता है; यदि मान मेल नहीं खाते हैं, तो ट्रांसमिशन के दौरान किसी बिंदु पर एक त्रुटि हुई है। एक सिस्टम में जो एक गैर-व्यवस्थित कोड का उपयोग करता है, मूल संदेश एक एन्कोडेड संदेश में बदल जाता है जिसमें समान जानकारी होती है और इसमें मूल संदेश के रूप में कम से कम कई बिट्स होते हैं।

अच्छा त्रुटि नियंत्रण प्रदर्शन के लिए संचार चैनल की विशेषताओं के आधार पर योजना का चयन करने की आवश्यकता होती है। सामान्य चैनल मॉडल में मेमोरीलेस मॉडल शामिल होते हैं जहां त्रुटियां बेतरतीब ढंग से और एक निश्चित संभावना के साथ होती हैं, और गतिशील मॉडल जहां त्रुटियां मुख्य रूप से फट त्रुटि में होती हैं। नतीजतन, त्रुटि-पहचान और सुधार कोड को आम तौर पर यादृच्छिक-त्रुटि-पता लगाने/सुधारने और फट-त्रुटि-पहचान/सुधार के बीच प्रतिष्ठित किया जा सकता है। कुछ कोड यादृच्छिक त्रुटियों और बर्स्ट त्रुटियों के मिश्रण के लिए भी उपयुक्त हो सकते हैं।

यदि चैनल विशेषताओं को निर्धारित नहीं किया जा सकता है, या अत्यधिक परिवर्तनशील हैं, तो त्रुटि-पहचान योजना को गलत डेटा के पुन: प्रसारण के लिए सिस्टम के साथ जोड़ा जा सकता है। इसे ऑटोमेटिक रिपीट रिक्वेस्ट (एआरक्यू) के रूप में जाना जाता है, और इसका इंटरनेट में सबसे अधिक उपयोग किया जाता है। त्रुटि नियंत्रण के लिए एक वैकल्पिक दृष्टिकोण हाइब्रिड स्वचालित दोहराव अनुरोध (HARQ) है, जो ARQ और त्रुटि-सुधार कोडिंग का एक संयोजन है।

त्रुटि सुधार के प्रकार

त्रुटि सुधार के तीन प्रमुख प्रकार हैं।[9]

स्वचालित दोहराने का अनुरोध

ऑटोमैटिक रिपीट रिक्वेस्ट (एआरक्यू) डेटा ट्रांसमिशन के लिए एक एरर कंट्रोल मेथड है जो विश्वसनीय डेटा ट्रांसमिशन प्राप्त करने के लिए एरर-डिटेक्शन कोड, पावती और / या नकारात्मक पावती संदेशों और टाइमआउट का उपयोग करता है। एक पावती एक संदेश है जो प्राप्तकर्ता द्वारा यह इंगित करने के लिए भेजा जाता है कि उसे सही ढंग से एक डेटा फ्रेम प्राप्त हुआ है।

आमतौर पर, जब ट्रांसमीटर को समय समाप्त होने से पहले पावती प्राप्त नहीं होती है (यानी, डेटा फ़्रेम भेजने के बाद उचित समय के भीतर), यह फ्रेम को तब तक फिर से प्रसारित करता है जब तक कि यह या तो सही ढंग से प्राप्त नहीं हो जाता है या त्रुटि पूर्व निर्धारित संख्या से अधिक होने तक बनी रहती है।

तीन प्रकार के एआरक्यू प्रोटोकॉल स्टॉप-एंड-वेट एआरक्यू, गो-बैक-एन एआरक्यू और सेलेक्टिव रिपीट एआरक्यू हैं।

एआरक्यू उपयुक्त है यदि संचार चैनल में भिन्न या अज्ञात क्षमता है, जैसा कि इंटरनेट पर होता है। हालांकि, एआरक्यू को एक बैक चैनल की उपलब्धता की आवश्यकता होती है, जिसके परिणामस्वरूप संभावित रूप से रिट्रांसमिशन के कारण विलंबता बढ़ जाती है, और रीट्रांसमिशन के लिए बफर और टाइमर के रखरखाव की आवश्यकता होती है, जो नेटवर्क भीड़ के मामले में सर्वर और समग्र नेटवर्क क्षमता पर दबाव डाल सकता है।[10]

उदाहरण के लिए, एआरक्यू का उपयोग एआरक्यू-ई के रूप में शॉर्टवेव रेडियो डेटा लिंक पर किया जाता है, या एआरक्यू-एम के रूप में मल्टीप्लेक्सिंग के साथ जोड़ा जाता है।

अग्रेषित त्रुटि सुधार

फॉरवर्ड एरर करेक्शन (FEC) एक संदेश में एक त्रुटि-सुधार कोड (ECC) जैसे अनावश्यक डेटा जोड़ने की एक प्रक्रिया है ताकि इसे एक रिसीवर द्वारा पुनर्प्राप्त किया जा सके, भले ही कई त्रुटियां (प्रयुक्त कोड की क्षमता तक) पेश की गई हों, या तो ट्रांसमिशन की प्रक्रिया के दौरान या स्टोरेज पर। चूंकि रिसीवर को प्रेषक को डेटा के पुन: प्रेषण के लिए नहीं पूछना पड़ता है, इसलिए आगे की त्रुटि सुधार में बैकचैनल की आवश्यकता नहीं होती है। त्रुटि-सुधार कोड का उपयोग निचली-परत संचार में किया जाता है जैसे सेल्युलर नेटवर्क, हाई-स्पीड फाइबर-ऑप्टिक संचार और वाई-फाई,[11][12] और साथ ही मीडिया में विश्वसनीय भंडारण जैसे फ्लैश मेमोरी, हार्ड डिस्क और रैम।[13]

त्रुटि-सुधार करने वाले कोड आमतौर पर दृढ़ कोड और ब्लॉक कोड के बीच प्रतिष्ठित होते हैं:

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

शैनन की प्रमेय आगे की त्रुटि सुधार में एक महत्वपूर्ण प्रमेय है, और अधिकतम सूचना दर का वर्णन करता है जिस पर एक चैनल पर विश्वसनीय संचार संभव है जिसमें एक निश्चित त्रुटि संभावना या सिग्नल-टू-शोर अनुपात (एसएनआर) है। यह सख्त ऊपरी सीमा चैनल क्षमता के संदर्भ में अभिव्यक्त की जाती है। अधिक विशेष रूप से, प्रमेय कहता है कि कोड मौजूद हैं जैसे कि बढ़ती एन्कोडिंग लंबाई के साथ एक असतत मेमोरीलेस चैनल पर त्रुटि की संभावना को मनमाने ढंग से छोटा किया जा सकता है, बशर्ते कोड दर चैनल क्षमता से कम हो। कोड दर को के स्रोत प्रतीकों और एन एन्कोडेड प्रतीकों के अंश के / एन के रूप में परिभाषित किया गया है।

अनुमत वास्तविक अधिकतम कोड दर उपयोग किए गए त्रुटि-सुधार कोड पर निर्भर करता है, और कम हो सकता है। ऐसा इसलिए है क्योंकि शैनन का प्रमाण केवल अस्तित्वगत प्रकृति का था, और यह नहीं दिखाया कि ऐसे कोड कैसे बनाए जाएं जो इष्टतम हों और कुशल एन्कोडिंग और डिकोडिंग एल्गोरिदम हों।

हाइब्रिड योजनाएं

हाइब्रिड एआरक्यू एआरक्यू और फॉरवर्ड एरर करेक्शन का मेल है। दो बुनियादी दृष्टिकोण हैं:[10]

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

रेटलेस इरेज़र कोड का उपयोग करते समय इरेज़र चैनल पर बाद वाला दृष्टिकोण विशेष रूप से आकर्षक होता है।

एरर डिटेक्शन स्कीम्स

एक उपयुक्त हैश फ़ंक्शन (या विशेष रूप से, एक चेकसम, चक्रीय अतिरेक जाँच या अन्य एल्गोरिथम) का उपयोग करके त्रुटि का पता लगाना सबसे आम है। एक हैश फ़ंक्शन एक संदेश में एक निश्चित-लंबाई का टैग जोड़ता है, जो रिसीवर को टैग को पुनः कंप्यूट करके और प्रदान किए गए एक के साथ तुलना करके वितरित संदेश को सत्यापित करने में सक्षम बनाता है।

विभिन्न हैश फ़ंक्शन डिज़ाइनों की एक विस्तृत विविधता मौजूद है। हालांकि, कुछ विशेष प्रकार की त्रुटियों का पता लगाने के लिए उनकी सादगी या उनकी उपयुक्तता के कारण विशेष रूप से व्यापक उपयोग के हैं (उदाहरण के लिए, फट त्रुटियों का पता लगाने में चक्रीय अतिरेक जांच का प्रदर्शन)।

न्यूनतम दूरी कोडिंग

न्यूनतम दूरी कोडिंग के आधार पर एक यादृच्छिक-त्रुटि-सुधार कोड पता लगाने योग्य त्रुटियों की संख्या पर सख्त गारंटी प्रदान कर सकता है, लेकिन यह प्रीइमेज हमले के विरुद्ध सुरक्षा नहीं कर सकता है।

दोहराव कोड

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

एक पुनरावृत्ति कोड बहुत अक्षम है, और यदि प्रत्येक समूह के लिए ठीक उसी स्थान पर त्रुटि होती है (उदाहरण के लिए, "1010 1010 1010" पिछले उदाहरण में सही के रूप में पाया जाएगा) तो समस्याओं के लिए अतिसंवेदनशील हो सकता है। दोहराव कोड का लाभ यह है कि वे बेहद सरल हैं, और वास्तव में नंबर स्टेशनों के कुछ प्रसारणों में उपयोग किए जाते हैं।[14][15]

समता बिट

एक समता बिट एक बिट है जिसे स्रोत बिट्स के समूह में जोड़ा जाता है ताकि यह सुनिश्चित किया जा सके कि परिणाम में सेट बिट्स (यानी, मान 1 के साथ बिट्स) की संख्या सम या विषम है। यह एक बहुत ही सरल योजना है जिसका उपयोग आउटपुट में त्रुटियों के एकल या किसी अन्य विषम संख्या (अर्थात, तीन, पांच, आदि) का पता लगाने के लिए किया जा सकता है। फ़्लिप किए गए बिट्स की एक सम संख्या समता बिट को सही बना देगी, भले ही डेटा गलत हो।

भेजे गए प्रत्येक "शब्द" में जोड़े गए समता बिट्स को अनुप्रस्थ अतिरेक जाँच कहा जाता है, जबकि "शब्दों" की एक धारा के अंत में जोड़े जाने वाले अनुदैर्ध्य अतिरेक जाँच कहलाते हैं। उदाहरण के लिए, यदि एम-बिट "शब्दों" की प्रत्येक श्रृंखला में एक समता बिट जोड़ा गया है, यह दिखाते हुए कि उस शब्द में एक विषम या सम संख्या थी, इसमें एक त्रुटि वाला कोई भी शब्द खोजा जाएगा। हालांकि यह पता नहीं चल पाएगा कि शब्द में कहां गलती है। यदि, इसके अलावा, n शब्दों की प्रत्येक धारा के बाद एक समता योग भेजा जाता है, जिनमें से प्रत्येक बिट दिखाता है कि क्या उस बिट-स्थिति में सबसे हाल के समूह में भेजे गए विषम या सम संख्या वाले थे, त्रुटि की सही स्थिति का निर्धारण किया जा सकता है और त्रुटि को ठीक किया जा सकता है। हालाँकि, इस विधि के प्रभावी होने की गारंटी तभी दी जाती है, जब n शब्दों के प्रत्येक समूह में 1 से अधिक त्रुटि न हो। अधिक त्रुटि सुधार बिट्स के साथ, अधिक त्रुटियों का पता लगाया जा सकता है और कुछ मामलों में उन्हें ठीक किया जा सकता है।

अन्य बिट-समूहीकरण तकनीकें भी हैं।

चेकसम

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

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

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

एक चक्रीय अतिरेक जाँच (सीआरसी) एक गैर-सुरक्षित हैश फ़ंक्शन है जिसे कंप्यूटर नेटवर्क में डिजिटल डेटा में आकस्मिक परिवर्तन का पता लगाने के लिए डिज़ाइन किया गया है। यह दुर्भावनापूर्ण रूप से प्रस्तुत त्रुटियों का पता लगाने के लिए उपयुक्त नहीं है। यह एक जनरेटर बहुपद के विनिर्देशन द्वारा विशेषता है, जिसका उपयोग एक परिमित क्षेत्र पर बहुपद लंबे विभाजन में भाजक के रूप में किया जाता है, इनपुट डेटा को लाभांश के रूप में लेते हुए। शेष परिणाम बन जाता है।

एक सीआरसी में ऐसे गुण होते हैं जो इसे फटने वाली त्रुटियों का पता लगाने के लिए उपयुक्त बनाते हैं। सीआरसी विशेष रूप से हार्डवेयर में लागू करने में आसान होते हैं और इसलिए आमतौर पर कंप्यूटर नेटवर्क और हार्ड डिस्क ड्राइव जैसे स्टोरेज डिवाइस में उपयोग किए जाते हैं।

समता बिट को विशेष-केस 1-बिट सीआरसी के रूप में देखा जा सकता है।

क्रिप्टोग्राफिक हैश फ़ंक्शन

क्रिप्टोग्राफ़िक हैश फ़ंक्शन का आउटपुट, जिसे संदेश डाइजेस्ट के रूप में भी जाना जाता है, डेटा अखंडता के बारे में मजबूत आश्वासन प्रदान कर सकता है, चाहे डेटा के परिवर्तन आकस्मिक हों (उदाहरण के लिए, ट्रांसमिशन त्रुटियों के कारण) या दुर्भावनापूर्ण रूप से पेश किए गए हों। डेटा में किसी भी संशोधन का पता बेमेल हैश मान के माध्यम से लगाया जा सकता है। इसके अलावा, कुछ हैश मान दिए जाने पर, कुछ इनपुट डेटा (दिए गए एक के अलावा) को ढूंढना आम तौर पर संभव नहीं है जो समान हैश मान उत्पन्न करेगा। यदि कोई हमलावर न केवल संदेश बल्कि हैश मान को भी बदल सकता है, तो अतिरिक्त सुरक्षा के लिए एक की हैश या संदेश प्रमाणीकरण कोड (मैक) का उपयोग किया जा सकता है। कुंजी को जाने बिना, हमलावर के लिए आसानी से या आसानी से संशोधित संदेश के लिए सही कुंजी वाले हैश मान की गणना करना संभव नहीं है।

त्रुटि सुधार कोड

त्रुटि का पता लगाने के लिए किसी भी त्रुटि-सुधार कोड का उपयोग किया जा सकता है। न्यूनतम हैमिंग दूरी वाला कोड, d, एक कोड वर्ड में d-1 त्रुटियों तक का पता लगा सकता है। त्रुटि का पता लगाने के लिए न्यूनतम-दूरी-आधारित त्रुटि-सुधार कोड का उपयोग करना उपयुक्त हो सकता है यदि पता लगाने के लिए त्रुटियों की न्यूनतम संख्या पर एक सख्त सीमा वांछित है।

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

अनुप्रयोग

कम विलंबता की आवश्यकता वाले एप्लिकेशन (जैसे टेलीफोन वार्तालाप) स्वचालित दोहराव अनुरोध (ARQ) का उपयोग नहीं कर सकते हैं; उन्हें फॉरवर्ड एरर करेक्शन (FEC) का इस्तेमाल करना चाहिए। जब तक एक एआरक्यू सिस्टम एक त्रुटि का पता लगाता है और इसे फिर से प्रसारित करता है, तब तक फिर से भेजा गया डेटा प्रयोग करने योग्य होने के लिए बहुत देर से आएगा।

ऐसे अनुप्रयोग जहां ट्रांसमीटर सूचना भेजते ही तुरंत भूल जाता है (जैसे कि अधिकांश टेलीविजन कैमरे) ARQ का उपयोग नहीं कर सकते हैं; उन्हें FEC का उपयोग अवश्य करना चाहिए क्योंकि जब कोई त्रुटि होती है, तो मूल डेटा अब उपलब्ध नहीं होता है।

अनुप्रयोग जो ARQ का उपयोग करते हैं, उनके पास एक वापसी चैनल होना चाहिए; बिना वापसी चैनल वाले एप्लिकेशन ARQ का उपयोग नहीं कर सकते।

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

विश्वसनीयता और निरीक्षण इंजीनियरिंग भी त्रुटि-सुधार करने वाले कोड के सिद्धांत का उपयोग करते हैं।[16]

इंटरनेट

एक सामान्य टीसीपी/आईपी स्टैक में, त्रुटि नियंत्रण कई स्तरों पर किया जाता है:

  • प्रत्येक ईथरनेट फ्रेम CRC-32 त्रुटि का पता लगाने का उपयोग करता है। पता लगाई गई त्रुटियों वाले फ़्रेमों को रिसीवर हार्डवेयर द्वारा हटा दिया जाता है।
  • IPv4 हेडर में हेडर की सामग्री की सुरक्षा के लिए चेकसम होता है। गलत चेकसम वाले पैकेट नेटवर्क के अंदर या रिसीवर के पास छोड़ दिए जाते हैं।
  • नेटवर्क रूटिंग में प्रोसेसिंग लागत को कम करने के लिए चेकसम को IPv6 हेडर से हटा दिया गया था और क्योंकि वर्तमान लिंक लेयर तकनीक को पर्याप्त त्रुटि पहचान प्रदान करने के लिए माना जाता है (RFC 3819 भी देखें)।
  • यूडीपी के पास एक वैकल्पिक चेकसम है जो यूडीपी और आईपी हेडर में पेलोड और एड्रेसिंग जानकारी को कवर करता है। गलत चेकसम वाले पैकेट्स को नेटवर्क स्टैक द्वारा छोड़ दिया जाता है। IPv4 के तहत चेकसम वैकल्पिक है और IPv6 के तहत आवश्यक है। छोड़े जाने पर, यह माना जाता है कि डेटा-लिंक परत त्रुटि सुरक्षा का वांछित स्तर प्रदान करती है।
  • टीसीपी पेलोड की सुरक्षा और टीसीपी और आईपी हेडर में सूचना को संबोधित करने के लिए चेकसम प्रदान करता है। गलत चेकसम वाले पैकेटों को नेटवर्क स्टैक द्वारा हटा दिया जाता है, और अंततः ARQ का उपयोग करके पुनः प्रेषित किया जाता है, या तो स्पष्ट रूप से (जैसे कि तीन-तरफ़ा हैंडशेक के माध्यम से) या समय समाप्त होने के कारण निहित रूप से।

डीप-स्पेस दूरसंचार

अंतर-ग्रहीय दूरी पर सिग्नल शक्ति के अत्यधिक कमजोर पड़ने और अंतरिक्ष जांच में सीमित बिजली उपलब्धता के कारण त्रुटि-सुधार कोड का विकास गहरे अंतरिक्ष मिशन के इतिहास के साथ कसकर जोड़ा गया था। जबकि शुरुआती मिशनों ने अपने डेटा को बिना कोड के भेजा, 1968 से शुरू होकर, डिजिटल त्रुटि सुधार को (सब-इष्टतम रूप से डीकोडेड) कनवल्शनल कोड और रीड-मुलर कोड के रूप में लागू किया गया था।[17] रीड-मुलर कोड उस शोर के अनुकूल था जो अंतरिक्ष यान (लगभग एक घंटी वक्र से मेल खाता था) के अधीन था, और इसे मेरिनर अंतरिक्ष यान के लिए लागू किया गया था और 1969 और 1977 के बीच मिशनों पर उपयोग किया गया था।

वोयाजर 1 और वोयाजर 2 मिशन, जो 1977 में शुरू हुए थे, को बृहस्पति और शनि से रंगीन इमेजिंग और वैज्ञानिक जानकारी देने के लिए डिजाइन किया गया था।[18] इसके परिणामस्वरूप कोडिंग आवश्यकताओं में वृद्धि हुई, और इस प्रकार, अंतरिक्ष यान को (बेहतर Viterbi-decoded) कनवल्शनल कोड द्वारा समर्थित किया गया था जो कि एक बाहरी गोले (24,12,8) कोड के साथ जोड़ा जा सकता है। वोयाजर 2 यान ने रीड-सोलोमन कोड के कार्यान्वयन का अतिरिक्त समर्थन किया। जुड़े हुए रीड-सोलोमन-विटरबी (आरएसवी) कोड ने बहुत शक्तिशाली त्रुटि सुधार की अनुमति दी, और अंतरिक्ष यान की यूरेनस और नेप्च्यून की विस्तारित यात्रा को सक्षम किया। 1989 में ईसीसी प्रणाली के उन्नयन के बाद, दोनों शिल्पों ने वी2 आरएसवी कोडिंग का इस्तेमाल किया।

स्पेस डेटा सिस्टम्स के लिए सलाहकार समिति वर्तमान में वायेजर 2 आरएसवी कोड के समान प्रदर्शन के साथ त्रुटि सुधार कोड के उपयोग की सिफारिश करती है। संयोजित कोड तेजी से अंतरिक्ष मिशनों के पक्ष में होते जा रहे हैं, और टर्बो कोड या LDPC कोड जैसे अधिक शक्तिशाली कोड द्वारा प्रतिस्थापित किए जाते हैं।

आयोजित किए गए विभिन्न प्रकार के गहरे अंतरिक्ष और कक्षीय मिशन सुझाव देते हैं कि एक आकार-फिट-सभी त्रुटि सुधार प्रणाली खोजने की कोशिश करना एक सतत समस्या होगी। पृथ्वी के करीब के मिशनों के लिए, संचार चैनल में शोर की प्रकृति उससे भिन्न होती है जो एक अंतरग्रहीय मिशन पर अंतरिक्ष यान अनुभव करता है। इसके अतिरिक्त, जैसे ही एक अंतरिक्ष यान पृथ्वी से अपनी दूरी बढ़ाता है, शोर के लिए सुधार की समस्या और अधिक कठिन हो जाती है।

उपग्रह प्रसारण

टेलीविजन (नए चैनल और हाई-डेफिनिशन टेलीविजन सहित) और आईपी डेटा देने की इच्छा से उपग्रह ट्रांसपोंडर बैंडविड्थ की मांग बढ़ती जा रही है। ट्रांसपोंडर की उपलब्धता और बैंडविड्थ की कमी ने इस वृद्धि को सीमित कर दिया है। ट्रांसपोंडर क्षमता चयनित मॉडुलन योजना और FEC द्वारा खपत क्षमता के अनुपात द्वारा निर्धारित की जाती है।

डेटा संग्रहण

डेटा स्टोरेज मीडिया की विश्वसनीयता में सुधार के लिए त्रुटि का पता लगाने और सुधार कोड का उपयोग अक्सर किया जाता है।[19] 1951 में पहले मैग्नेटिक टेप डेटा स्टोरेज पर सिंगल-बिट त्रुटियों का पता लगाने में सक्षम पैरिटी ट्रैक मौजूद था। समूह कोडित रिकॉर्डिंग टेप में उपयोग किया जाने वाला इष्टतम आयताकार कोड न केवल पता लगाता है बल्कि सिंगल-बिट त्रुटियों को ठीक भी करता है। कुछ फ़ाइल स्वरूपों, विशेष रूप से संग्रह स्वरूपों में भ्रष्टाचार और छंटनी का पता लगाने के लिए एक चेकसम (अक्सर CRC32) शामिल होता है और दूषित डेटा के हिस्से को पुनर्प्राप्त करने के लिए अतिरेक या समता फ़ाइलों को नियोजित कर सकता है। रीड-सोलोमन कोड कॉम्पैक्ट डिस्क में खरोंच के कारण होने वाली त्रुटियों को ठीक करने के लिए उपयोग किए जाते हैं।

आधुनिक हार्ड ड्राइव्स रीड-सोलोमन कोड का उपयोग सेक्टर रीड में छोटी त्रुटियों का पता लगाने और उन्हें ठीक करने के लिए करते हैं, और विफल सेक्टरों से दूषित डेटा को पुनर्प्राप्त करने के लिए और उस डेटा को अतिरिक्त क्षेत्रों में संग्रहीत करते हैं।[20] जब हार्ड ड्राइव पूरी तरह से विफल हो जाता है, तो डेटा को पुनर्प्राप्त करने के लिए RAID सिस्टम विभिन्न प्रकार की त्रुटि सुधार तकनीकों का उपयोग करता है। ZFS या Btrfs जैसे फाइल सिस्टम, साथ ही कुछ RAID कार्यान्वयन, डेटा स्क्रबिंग और रिसिल्वरिंग का समर्थन करते हैं, जो खराब ब्लॉकों का पता लगाने की अनुमति देता है और (उम्मीद है) उनका उपयोग करने से पहले उन्हें पुनर्प्राप्त किया जा सकता है।[21] पुनर्प्राप्त डेटा को ठीक उसी भौतिक स्थान पर फिर से लिखा जा सकता है, हार्डवेयर के एक ही टुकड़े पर कहीं और ब्लॉक करने के लिए, या डेटा को प्रतिस्थापन हार्डवेयर पर फिर से लिखा जा सकता है।

त्रुटि-सुधार स्मृति

डायनेमिक रैंडम-एक्सेस मेमोरी (DRAM) त्रुटि-सुधार कोड पर भरोसा करके सॉफ्ट त्रुटियों के विरुद्ध मजबूत सुरक्षा प्रदान कर सकती है। ऐसी त्रुटि-सुधार करने वाली मेमोरी, जिसे ईसीसी या ईडीएसी-संरक्षित मेमोरी के रूप में जाना जाता है, मिशन-महत्वपूर्ण अनुप्रयोगों के लिए विशेष रूप से वांछनीय है, जैसे वैज्ञानिक कंप्यूटिंग, वित्तीय, चिकित्सा, आदि के साथ-साथ अंतरिक्ष में बढ़ते विकिरण के कारण अलौकिक अनुप्रयोग भी।

त्रुटि-सुधार स्मृति नियंत्रक पारंपरिक रूप से हैमिंग कोड का उपयोग करते हैं, हालांकि कुछ ट्रिपल मॉड्यूलर अतिरेक का उपयोग करते हैं। इंटरलीविंग एक एकल ब्रह्मांडीय किरण के प्रभाव को वितरित करने की अनुमति देता है जो पड़ोसी बिट्स को अलग-अलग शब्दों से जोड़कर कई शारीरिक रूप से पड़ोसी बिट्स को कई शब्दों में संभावित रूप से परेशान करता है। जब तक सिंगल-इवेंट अपसेट (एसईयू) एक्सेस के बीच किसी विशेष शब्द में एरर थ्रेशोल्ड (उदाहरण के लिए, एक त्रुटि) से अधिक नहीं होता है, तब तक इसे ठीक किया जा सकता है (उदाहरण के लिए, एक बिट त्रुटि सुधार कोड द्वारा), और एक एरर-फ्री मेमोरी सिस्टम के भ्रम को बनाए रखा जा सकता है। [22]

ECC मेमोरी को संचालित करने के लिए आवश्यक हार्डवेयर प्रदान करने के अलावा, ऑपरेटिंग सिस्टम में आमतौर पर संबंधित रिपोर्टिंग सुविधाएं होती हैं, जिनका उपयोग सॉफ्ट एरर को पारदर्शी रूप से पुनर्प्राप्त करने पर सूचनाएं प्रदान करने के लिए किया जाता है। एक उदाहरण लिनक्स कर्नेल का ईडीएसी सबसिस्टम है (जिसे पहले ब्लूस्मोक के नाम से जाना जाता था), जो कंप्यूटर सिस्टम के अंदर त्रुटि-जांच-सक्षम घटकों से डेटा एकत्र करता है; ईसीसी मेमोरी से संबंधित घटनाओं को एकत्र करने और वापस रिपोर्ट करने के अलावा, यह पीसीआई बस में पाए गए सहित अन्य चेकसमिंग त्रुटियों का भी समर्थन करता है।[23][24][25] कुछ प्रणालियाँ[specify] भी सुधारी न जाने योग्य बनने से पहले त्रुटियों को पकड़ने और ठीक करने के लिए स्मृति स्क्रबिंग का समर्थन करती हैं।

यह भी देखें

  • बर्गर कोड
  • बर्स्ट एरर-करेक्टिंग कोड
  • ECC मेमोरी, एक प्रकार का कंप्यूटर डेटा स्टोरेज
  • लिंक अनुकूलन
  • List of algorithms § Error detection and correction
  • हैश फ़ंक्शन की सूची

संदर्भ

  1. 1.0 1.1 "Masorah". Jewish Encyclopedia.
  2. Pratico, Gary D.; Pelt, Miles V. Van (2009). Basics of Biblical Hebrew Grammar: Second Edition. Zondervan. ISBN 978-0-310-55882-8.
  3. Mounce, William D. (2007). Greek for the Rest of Us: Using Greek Tools Without Mastering Biblical Languages. Zondervan. p. 289. ISBN 978-0-310-28289-1.
  4. Mishneh Torah, Tefillin, Mezuzah, and Sefer Torah, 1:2. Example English translation: Eliyahu Touger. The Rambam's Mishneh Torah. Moznaim Publishing Corporation.
  5. Brian M. Fagan (5 December 1996). "Dead Sea Scrolls". The Oxford Companion to Archaeology. Oxford University Press. ISBN 0195076184.
  6. Thompson, Thomas M. (1983), From Error-Correcting Codes through Sphere Packings to Simple Groups, The Carus Mathematical Monographs (#21), The Mathematical Association of America, p. vii, ISBN 0-88385-023-0
  7. Shannon, C.E. (1948), "A Mathematical Theory of Communication", Bell System Technical Journal, 27 (3): 379–423, doi:10.1002/j.1538-7305.1948.tb01338.x, hdl:10338.dmlcz/101429, PMID 9230594
  8. Golay, Marcel J. E. (1949), "Notes on Digital Coding", Proc.I.R.E. (I.E.E.E.), 37: 657
  9. Gupta, Vikas; Verma, Chanderkant (November 2012). "Error Detection and Correction: An Introduction". International Journal of Advanced Research in Computer Science and Software Engineering. 2 (11). S2CID 17499858.
  10. 10.0 10.1 A. J. McAuley, Reliable Broadband Communication Using a Burst Erasure Correcting Code, ACM SIGCOMM, 1990.
  11. Shah, Pradeep M.; Vyavahare, Prakash D.; Jain, Anjana (September 2015). "Modern error correcting codes for 4G and beyond: Turbo codes and LDPC codes". 2015 Radio and Antenna Days of the Indian Ocean (RADIO): 1–2. doi:10.1109/RADIO.2015.7323369. ISBN 978-9-9903-7339-4. S2CID 28885076. Retrieved 22 May 2022.
  12. "IEEE SA - IEEE 802.11ac-2013". IEEE Standards Association (in English).
  13. "Transition to Advanced Format 4K Sector Hard Drives | Seagate US". Seagate.com (in English). Retrieved 22 May 2022.
  14. Frank van Gerwen. "Numbers (and other mysterious) stations". Retrieved 12 March 2012.
  15. Gary Cutlack (25 August 2010). "Mysterious Russian 'Numbers Station' Changes Broadcast After 20 Years". Gizmodo. Retrieved 12 March 2012.
  16. Ben-Gal I.; Herer Y.; Raz T. (2003). "Self-correcting inspection procedure under inspection errors" (PDF). IIE Transactions. IIE Transactions on Quality and Reliability, 34(6), pp. 529-540. Archived from the original (PDF) on 2013-10-13. Retrieved 2014-01-10.
  17. K. Andrews et al., The Development of Turbo and LDPC Codes for Deep-Space Applications, Proceedings of the IEEE, Vol. 95, No. 11, Nov. 2007.
  18. Huffman, William Cary; Pless, Vera S. (2003). Fundamentals of Error-Correcting Codes. Cambridge University Press. ISBN 978-0-521-78280-7.
  19. Kurtas, Erozan M.; Vasic, Bane (2018-10-03). Advanced Error Control Techniques for Data Storage Systems (in English). CRC Press. ISBN 978-1-4200-3649-7.[permanent dead link]
  20. Scott A. Moulton. "My Hard Drive Died". Archived from the original on 2008-02-02.
  21. Qiao, Zhi; Fu, Song; Chen, Hsing-Bung; Settlemyer, Bradley (2019). "Building Reliable High-Performance Storage Systems: An Empirical and Analytical Study". 2019 IEEE International Conference on Cluster Computing (CLUSTER): 1–10. doi:10.1109/CLUSTER.2019.8891006. ISBN 978-1-7281-4734-5. S2CID 207951690.
  22. "Using StrongArm SA-1110 in the On-Board Computer of Nanosatellite". Tsinghua Space Center, Tsinghua University, Beijing. Archived from the original on 2011-10-02. Retrieved 2009-02-16.
  23. Jeff Layton. "Error Detection and Correction". Linux Magazine. Retrieved 2014-08-12.
  24. "EDAC Project". bluesmoke.sourceforge.net. Retrieved 2014-08-12.
  25. "Documentation/edac.txt". Linux kernel documentation. kernel.org. 2014-06-16. Archived from the original on 2009-09-05. Retrieved 2014-08-12.


इस पृष्ठ में अनुपलब्ध आंतरिक कड़ियों की सूची

अग्रिम पठन


बाहरी संबंध