त्रुटि सुधार कोड: Difference between revisions
No edit summary |
No edit summary |
||
(41 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{short description|Scheme for controlling errors in data over noisy communication channels}} | {{short description|Scheme for controlling errors in data over noisy communication channels}} | ||
ईसीसी त्रुटि का पता लगाने के विपरीत है जिसमें सामने आने वाली त्रुटियों को केवल पता ही नहीं लगाया जा सकता है, इसे | {{redirect|इंटरलीवर|फाइबर ऑप्टिक डिवाइस|ऑप्टिकल इंटरलीवर}} | ||
{{Use dmy dates|date=August 2022}}[[कम्प्यूटिंग|'''कम्प्यूटिंग''']], '''[[दूरसंचार]], [[सूचना सिद्धांत]]''' और [[कोडिंग सिद्धांत|'''संकेतन सिद्धांत''']] में, कभी-कभी त्रुटि सुधार कोड, (ईसीसी) का उपयोग अविश्वसनीय या मुखरसंचार चैनलों पर डेटा में त्रुटियों को नियंत्रित करने के लिए किया जाता है।<ref>{{cite book |author-last1=Glover |author-first1=Neal |author-last2=Dudley |author-first2=Trent |title=इंजीनियरों के लिए व्यावहारिक त्रुटि सुधार डिजाइन|edition=Revision 1.1, 2nd |publisher=[[Cirrus Logic]] |location=CO, USA |date=1990 |isbn=0-927239-00-0 }}</ref><ref name="Hamming">{{cite journal |author-last=Hamming |author-first=Richard Wesley |author-link=Richard Wesley Hamming |title=त्रुटि का पता लगाने और कोड को ठीक करने में त्रुटि|journal=[[Bell System Technical Journal]] |volume=29 |issue=2 |pages=147–160 |publisher=[[AT&T]] |location=USA |date=April 1950 |doi=10.1002/j.1538-7305.1950.tb00463.x|s2cid=61141773 }}</ref> केंद्रीय विचार यह है कि प्रेषक ईसीसी के रूप में अनावश्यक जानकारी के साथ संदेश को कूटबद्ध करता है। अतिरेक रिसीवर को सीमित संख्या में त्रुटियों का पता लगाने की अनुमति देता है, जो संदेश में कहीं भी हो सकते हैं, और अधिकांशतः इन त्रुटियों को बिना पुनर्प्रसारण के ठीक किया जा सकता है। अमेरिकी गणितज्ञ रिचर्ड हैमिंग ने 1940 के दशक में इस क्षेत्र का नेतृत्व किया और 1950 में पहली त्रुटि-सुधार कोड का आविष्कार किया: हैमिंग (7,4) कोड<ref name="Hamming" /> | |||
ईसीसी त्रुटि का पता लगाने के विपरीत है, जिसमें सामने आने वाली त्रुटियों को केवल पता ही नहीं लगाया जा सकता है, बल्कि इसे ठीक भी किया जा सकता है। लाभ यह है कि ईसीसी का उपयोग करने वाली प्रणाली को त्रुटि होने पर डेटा के पुन: प्रसारण का अनुरोध करने के लिए रिवर्स चैनल की आवश्यकता नहीं होती है। नकारात्मक पक्ष यह है कि एक निश्चित ओवरहेड है जो संदेश में जोड़ा जाता है, जिससे उच्च अग्रेषण-चैनल बैंडविड्थ की आवश्यकता होती है इसलिए ईसीसी उन स्थितियों में लागू किया जाता है, जहां पुन: प्रसारण महंगा या असंभव होता है, जैसे कि एक तरफ़ा संचार लिंक जब [[बहुस्त्र्पीय]] में कई रिसीवरों को प्रेषित करते है तब लंबे समय तक चलने वाले कनेक्शन से भी होता है; यूरेनस के चारों ओर परिक्रमा करने वाले उपग्रह के स्थितियों में, त्रुटियों के कारण पुन: प्रसारण में पांच घंटे की देरी हो सकती है। ईसीसी जानकारी को सामान्यतः बड़े पैमाने पर भंडारण उपकरणों में जोड़ा जाता है जिससे की दूषित डेटा की पुनर्प्राप्ति को सक्षम किया जा सके, मोडेम में व्यापक रूप से उपयोग किया जाता है, और इसका उपयोग उन प्रणालियों पर किया जाता है जहां प्राथमिक मेमोरी ईसीसी मेमोरी होती है। | |||
एक रिसीवर में ईसीसी प्रसंस्करण एक डिजिटल बिटस्ट्रीम या डिजिटल रूप से संग्राहक वाहक के | एक रिसीवर में ईसीसी प्रसंस्करण एक डिजिटल बिटस्ट्रीम या डिजिटल रूप से संग्राहक वाहक के विमॉडुलन में लागू किया जा सकता है। उत्तरार्द्ध के लिए, ईसीसी रिसीवर में प्रारंभिक एनालॉग-टू-डिजिटल रूपांतरण का एक अभिन्न अंग है। विटरबी डिकोडर ध्वनि से होने वाली त्रुटि सुधार कोड को एनालॉग संकेत से डिजिटल डेटा को डीमॉड्यूलेट करने के लिए सॉफ्ट निर्णय एल्गोरिदम को लागू करता है। कई ईसीसी एनकोडर/डिकोडर बिट त्रुटि दर (बीईआर) संकेत भी उत्पन्न कर सकते हैं, जिसका उपयोग एनालॉग रिसीविंग इलेक्ट्रॉनिक्स को ठीक करने के लिए प्रतिपुष्टि के रूप में किया जा सकता है। | ||
त्रुटियों या | त्रुटियों या मिसिंग बिट्स के अधिकतम अंश जिन्हें ठीक किया जा सकता है, ईसीसी कोड डिज़ाइन द्वारा निर्धारित किए जाते हैं, इसलिए विभिन्न स्थितियों के लिए अलग-अलग त्रुटि सुधार कोड उपयुक्त होते हैं। सामान्यतः, एक मजबूत कोड अधिक अतिरेक उत्पन्न करता है, जिसे उपलब्ध बैंडविड्थ का उपयोग करके प्रसारित करने की आवश्यकता होती है, जो प्राप्त प्रभावी संकेत-से-ध्वनि अनुपात में सुधार करते हुए प्रभावी बिट-दर को कम करता है। क्लाउड शैनन के ध्वनि-चैनल संकेतन प्रमेय का उपयोग किसी अधिकतम स्वीकार्य त्रुटि संभावना के लिए और प्राप्त करने योग्य संचार बैंडविड्थ की गणना के लिए किया जाता है। यह कुछ दिए गए आधार रव प्रबलता स्तर के साथ एक चैनल की सैद्धांतिक अधिकतम सूचना अंतरण दर पर सीमा स्थापित करता है। चूँकि, प्रमाण रचनात्मक नहीं है, और इसलिए क्षमता प्राप्त करने वाले कोड को बनाने के विधिकी कोई अंतर्दृष्टि नहीं देता है। कई वर्षों के शोध के बाद, 2016 तक कुछ उन्नत ईसीसी प्रणालियां <ref name=":0" /> सैद्धांतिक रूप से अति निकट आ गए है। | ||
== आगे त्रुटि सुधार == | == आगे त्रुटि सुधार == | ||
दूरसंचार, सूचना सिद्धांत और | दूरसंचार, सूचना सिद्धांत और संकेतन सिद्धांत में, आगे की त्रुटि सुधार (एफईसी) या चैनल संकेतन <ref>{{cite journal |author1=Charles Wang |author2=Dean Sklar |author3=Diana Johnson |title=फॉरवर्ड एरर-करेक्शन कोडिंग|journal=Crosslink |publisher=The Aerospace Corporation |volume=3 |issue=1 |date=Winter 2001–2002 |url=http://www.aero.org/publications/crosslink/winter2002/04.html |quote=[http://www.aero.org/publications/crosslink/winter2002/04_sidebar1.html त्रुटि सुधार कोड कैसे काम करते हैं]|access-date=5 March 2006 |archive-url=https://web.archive.org/web/20120314085127/http://www.aero.org/publications/crosslink/winter2002/04.html |archive-date=14 March 2012 |url-status=dead }}</ref><ref name=":0">{{Cite web|url=https://www.accelercomm.com/overview-channel-coding|title=चैनल कोडिंग का अवलोकन|last=Maunder|first=Robert|date=2016}}</ref> एक ऐसी तकनीक है, जिसका उपयोग अविश्वसनीय या ध्वनि संचार चैनलों पर डेटा ट्रांसमिशन में त्रुटियों को नियंत्रित करने के लिए किया जाता है। केंद्रीय विचार यह है, कि ईसीसी का उपयोग करके प्रेषक संदेश को निरर्थक विधिसे एन्कोड करता है । | ||
अतिरेक रिसीवर को सीमित संख्या में त्रुटियों का पता लगाने की अनुमति देता है | अतिरेक रिसीवर को सीमित संख्या में त्रुटियों का पता लगाने की अनुमति देता है जो संदेश में कहीं भी हो सकती हैं, और अधिकांशतः इन त्रुटियों को पुनः प्रसारण के बिना ठीक करने के लिए एफईसी रिसीवर डेटा को पुन: प्रसारण का अनुरोध करने के लिए एक रिवर्स चैनल की आवश्यकता के बिना त्रुटियों को ठीक करने की क्षमता देता है, लेकिन एक निश्चित, उच्च फॉरवर्ड चैनल बैंडविड्थ की कीमत पर। इसलिए एफईसी उन स्थितियों में लागू किया जाता है, जहां पुन: प्रसारण असंभव होता है, जैसे कि एक तरफा संचार लिंक और बहुस्त्र्पीय में कई रिसीवरों को प्रेषित करते समय एफईसी सामान्यतः बड़े पैमाने पर भंडारण (चुंबकीय, ऑप्टिकल और ठोस क्षेत्र /फ्लैश आधारित) उपकरणों में जोड़ा जाता है, ताकि विकृत डेटा की पुनर्प्राप्ति को सक्षम करने के लिए, मोडेम में व्यापक रूप से उन प्रणालियों पर उपयोग किया जा सके, जहां प्राथमिक मेमोरी ईसीसी मेमोरी और प्रसारण स्थितियों में होती है, और जहां रिसीवर के पास पुन: प्रसारण का अनुरोध करने की क्षमता नहीं होती है, या ऐसा करने से महत्वपूर्ण विलंबता उत्पन्न होती है। उदाहरण के लिए, यूरेनस की परिक्रमा करने वाले उपग्रह के मामले में, डिसंकेतन त्रुटियों के कारण पुन: प्रसारण से कम से कम 5 घंटे का विलंब होता है। | ||
एक रिसीवर में एफईसी प्रसंस्करण एक डिजिटल बिट स्ट्रीम या डिजिटल रूप से संग्राहक वाहक के | एक रिसीवर में एफईसी प्रसंस्करण एक डिजिटल बिट स्ट्रीम या डिजिटल रूप से संग्राहक वाहक के विमॉडुलन में लागू किया जा सकता है। और, एफईसी रिसीवर में प्रारंभिक एनालॉग-टू-डिजिटल रूपांतरण का एक अभिन्न अंग है। विटरबी डिकोडर ध्वनि से दूषित एनालॉग संकेत को डिजिटल डेटा में डिमॉड्यूलेट करता है। कई एफईसी कोडर्स एक बिट-एरर रेट (बीइआर) संकेत भी उत्पन्न कर सकते हैं, जिसका उपयोग एनालॉग प्राप्त इलेक्ट्रॉनिक्स को ठीक करने के लिए प्रतिपुष्टि के रूप में किया जा सकता है। | ||
त्रुटियों या | त्रुटियों या विलुप्त बिट्स का अधिकतम अनुपात जिसे, ईसीसी डिजाइन द्वारा निर्धारित किया जाता है, इसलिए विभिन्न स्थितियों के लिए अलग-अलग त्रुटि सुधार कोड उपयुक्त होते हैं। सामान्यतः, एक मजबूत कोड अधिक अतिरेक उत्पन्न करता है जिसे उपलब्ध बैंडविड्थ का उपयोग करके प्रसारित करने की आवश्यकता होती है, जो प्राप्त प्रभावी संकेत रव अनुपात में सुधार करते हुए प्रभावी बिट-दर को कम करता है। क्लाउड शैनन में रव -चैनल संकेतन प्रमेय इस सवाल का जवाब देता है, कि डिसंकेतन त्रुटि संभावना को शून्य करने वाले सबसे कुशल कोड का उपयोग करते हुए डेटा संचार के लिए कितना बैंडविड्थ बचा सकता है। यह कुछ दिए गए आधार पर रव स्तर के साथ एक चैनल की सैद्धांतिक अधिकतम सूचना अंतरण दर पर सीमा स्थापित करता है। उनका प्रमाण रचनात्मक नहीं है, और इसलिए क्षमता प्राप्त करने वाले कोड को कैसे बनाया जाए, इसकी कोई जानकारी नहीं देता है।, वर्षों के शोध के बाद, कुछ उन्नत एफईसी प्रणालियाँ जैसे ध्रुवीय कोड (संकेतन सिद्धांत)<ref name=":0" /> अनंत विस्तार ढांचा की परिकल्पना के तहत शैनन चैनल क्षमता प्राप्त करता है । | ||
== यह कैसे काम करता है == | == यह कैसे काम करता है == | ||
एल्गोरिथम का उपयोग करके प्रेषित सूचना में अतिरेक (सूचना सिद्धांत) जोड़कर ईसीसी को पूरा किया जाता है। एक निरर्थक बिट कई मूल सूचना बिट्स | एल्गोरिथम का उपयोग करके प्रेषित सूचना में अतिरेक (सूचना सिद्धांत) जोड़कर ईसीसी को पूरा किया जाता है। एक निरर्थक बिट में कई मूल सूचना बिट्स के जटिल कार्य हो सकते है। मूल जानकारी एन्कोडेड आउटपुट में शाब्दिक रूप से प्रकट हो भी सकती है और नहीं भी; कोड जो आउटपुट में अपरिवर्तित होकर इनपुट में सम्मलित होते है, वो व्यवस्थित होते हैं, जबकि जो नहीं होते हैं वे गैर-व्यवस्थित होते हैं। | ||
ईसीसी का एक सरल उदाहरण प्रत्येक डेटा बिट को 3 बार प्रसारित करना है, जिसे (3,1) | ईसीसी का एक सरल उदाहरण प्रत्येक डेटा बिट को 3 बार प्रसारित करना होता है, जिसे (3,1) पुनरावृत्ति कोड के रूप में जाना जाता है। एक रव चैनल के माध्यम से, एक रिसीवर आउटपुट में 8 संस्करण देख सकते है, नीचे दी गई तालिका देखें। | ||
{| class=wikitable | {| class=wikitable | ||
! | ! त्रिगुण प्राप्त हुआ | ||
! | ! के रूप में व्याख्या की | ||
|- | |- | ||
|000 | |000 | ||
|0 ( | |0 (त्रुटि- मुक्त) | ||
|- | |- | ||
|001 | |001 | ||
Line 42: | Line 41: | ||
|- | |- | ||
|111 | |111 | ||
|1 ( | |1 (त्रुटि-मुक्त) | ||
|- | |- | ||
|110 | |110 | ||
Line 53: | Line 52: | ||
|1 | |1 | ||
|} | |} | ||
यह तीन | यह तीन प्रतिरूप में से किसी एक त्रुटि को बहुसंख्यक मत या लोकतांत्रिक मतदान द्वारा सही करने की अनुमति देता है। इस ईसीसी की सुधार क्षमता है: | ||
* त्रुटि में 1 बिट ट्रिपलेट तक, या | * त्रुटि में 1 बिट ट्रिपलेट तक, या | ||
* ट्रिपलेट के 2 बिट तक | * ट्रिपलेट के 2 बिट तक विलोपित किये गए है (स्थितियों को तालिका में नहीं दिखाया गया है)। | ||
चूंकि लागू करने में सरल और व्यापक रूप से उपयोग किया जाता है, यह [[ट्रिपल मॉड्यूलर अतिरेक]] अपेक्षाकृत अक्षम ईसीसी होते है। ईसीसी कोड सामान्यतः पिछले कई दसियों या यहां तक कि प्राप्त बिट्स के पिछले कई सैकड़ों जांच कर चुके हैं, ताकि यह निर्धारित किया जा सके कि वर्तमान में छोटे अल्प मात्रा के बिट्स (सामान्यतः 2 से 8 बिट्स के समूह में) को कैसे डिकोड किया जाए। | |||
== त्रुटियों को कम करने के लिए औसत | == त्रुटियों को कम करने के लिए औसत रव == | ||
ईसीसी को | ईसीसी को औसत नॉइज़ द्वारा काम करने के लिए कहा जा सकता है; चूंकि प्रत्येक डेटा बिट कई संचरित प्रतीकों को प्रभावित करता है, रव द्वारा कुछ अपभ्रष्ट प्रयोग को सामान्यतः मूल उपयोगकर्ता डेटा को दूसरे से निकालने की अनुमति देता है, अनियंत्रित प्राप्त प्रतीक जो समान उपयोगकर्ता डेटा पर भी निर्भर करते हैं। | ||
* इस | * इस रिस्क-पूलिंग प्रभाव के कारण, ईसीसी का उपयोग करने वाली डिजिटल संचार प्रणालियां एक निश्चित न्यूनतम संकेत रव अनुपात से ऊपर काम करते हैं, और उसके नीचे बिल्कुल नहीं करते है। | ||
* यह ऑल-ऑर-नथिंग प्रवृत्ति - [[चट्टान प्रभाव]] - अधिक स्पष्ट हो जाता है क्योंकि मजबूत कोड का उपयोग किया जाता है जो सैद्धांतिक | * यह ''ऑल-ऑर-नथिंग प्रवृत्ति'' - [[चट्टान प्रभाव|क्लिफ प्रभाव]] -अधिक स्पष्ट हो जाता है, क्योंकि मजबूत कोड का उपयोग किया जाता है जो सैद्धांतिक शैनन सीमा के अधिक निकट होते हैं। | ||
* इंटरलीविंग ईसीसी कोडेड डेटा प्रेषित ईसीसी कोड | * इंटरलीविंग ईसीसी कोडेड डेटा प्रेषित ईसीसी कोड जब चैनल त्रुटियां में होती हैं, सभी या कुछ गुणों को कम कर सकता है जब चैनल त्रुटियां में होती हैं। चूंकि, इस पद्धति की सीमाएँ हैं; यह संकीर्ण बैंड डेटा पर सबसे अच्छा उपयोग किया जाता है। | ||
अधिकांश दूरसंचार प्रणालियां एक निश्चित [[चैनल कोड]] का उपयोग करती हैं जिसे अपेक्षित सबसे खराब स्थिति वाली [[बिट त्रुटि दर]] को सहन करने के लिए डिज़ाइन किया गया है, और यदि बिट त्रुटि दर कभी भी खराब हो तो बिल्कुल भी काम करने में विफल रहती है। | अधिकांश दूरसंचार प्रणालियां एक निश्चित [[चैनल कोड]] का उपयोग करती हैं, जिसे अपेक्षित सबसे खराब स्थिति वाली [[बिट त्रुटि दर]] को सहन करने के लिए डिज़ाइन किया गया है, और यदि बिट त्रुटि दर कभी भी खराब हो तो बिल्कुल भी काम करने में विफल रहती है। चूंकि, कुछ प्रणाली दिए गए चैनल त्रुटि स्थितियों के अनुकूल होते हैं: [[हाइब्रिड ऑटोमैटिक रिपीट-रिक्वेस्ट]] के कुछ उदाहरण एक निश्चित ईसीसी विधि का उपयोग करते हैं, जब तक कि ईसीसी त्रुटि दर को संभाल सकता है, तब स्वचालित रिपीट अनुरोध पर स्विच करें जब त्रुटि दर बहुत अधिक हो जाती है; अनुकूली मॉडुलन और संकेतन ईसीसी दरों की एक किस्म का उपयोग करता है, प्रति पैकेट अधिक त्रुटि-सुधार बिट्स जोड़ता है जब चैनल में उच्च त्रुटि दर होती है, या जब उनकी आवश्यकता नहीं होती है तो उन्हें बाहर निकाल दिया जाता है। | ||
अनुकूली मॉडुलन और | |||
== ईसीसी के प्रकार == | == ईसीसी के प्रकार == | ||
{{Main| | {{Main| | ||
ब्लॉक कोड| | |||
संवादात्मक कोड}} | |||
[[File:BlockCont.png|right|upright=2.25|thumb|त्रुटि सुधार कोड का संक्षिप्त वर्गीकरण]]ईसीसी कोड की दो मुख्य श्रेणियां [[ब्लॉक कोड]] और दृढ़ कोड हैं। | [[File:BlockCont.png|right|upright=2.25|thumb|त्रुटि सुधार कोड का संक्षिप्त वर्गीकरण]]ईसीसी कोड की दो मुख्य श्रेणियां [[ब्लॉक कोड]] और दृढ़ कोड हैं। | ||
* ब्लॉक कोड बिट्स | * ब्लॉक कोड बिट्स के निश्चित आकार के ब्लॉक (पैकेट) या पूर्व निर्धारित आकार के प्रतीकों पर काम करते हैं। प्रायोगिक ब्लॉक कोड सामान्यतः बहुपद समय में उनकी ब्लॉक अवधि में हार्ड-डीकोड किए जा सकते हैं। | ||
* संवादात्मक कोड | * संवादात्मक कोड मनचाही अवधी के बिट या प्रतीक धाराओं पर काम करते हैं। वे अधिकांशतः [[विटरबी एल्गोरिथ्म]] के साथ सॉफ्ट डीकोडेड होते हैं, चूँकि अन्य एल्गोरिदम कभी-कभी उपयोग किए जाते हैं। विटरबी डिसंकेतन असम्बद्ध रूप से इष्टतम डिसंकेतन दक्षता की अनुमति देता है, जो [[दृढ़ संहिता]] की बढ़ती अवधी के साथ है, लेकिन [[घातीय समय]] बढ़ती जटिलता की कीमत पर एक संवलन कोड जिसे निलम्बित किया जाता है, वह भी एक 'ब्लॉक कोड' होता है, जिसमें यह इनपुट डेटा के एक ब्लॉक को एनकोड करता है, लेकिन एक संवलन कोड का ब्लॉक आकार सामान्यतः मनमाना होता है, जबकि ब्लॉक कोड का एक निश्चित आकार होता है जो उनके बीजगणितीय विशेषताओं द्वारा निर्धारित होता है। संवलन कोड्स के समाप्ति के प्रकारों में टेल-बाइटिंग और बिट-फ्लशिंग सम्मलित हैं। | ||
कई प्रकार के ब्लॉक कोड हैं; | कई प्रकार के ब्लॉक कोड हैं; कॉम्पैक्ट डिस्क, डीवीडी और हार्ड डिस्क ड्राइव में व्यापक उपयोग के लिए रीड-सोलोमन कोडिंग उल्लेखनीय है। पारम्परिकब्लॉक कोड के अन्य उदाहरणों में गोले, बीसीएच, बहुआयामी समता और हैमिंग कोड सम्मलित हैं। | ||
एनएएनडी फ्लैश मेमोरी त्रुटियों को ठीक करने के लिए सामान्यतः हैमिंग ईसीसी का उपयोग किया जाता है।<ref>[http://www.eetasia.com/ART_8800575062_499486_AN_7549c493.HTM "Hamming codes for NAND flash memory devices"] {{Webarchive|url=https://web.archive.org/web/20160821122453/http://www.eetasia.com/ART_8800575062_499486_AN_7549c493.HTM |date=21 August 2016 }}. EE Times-Asia. Apparently based on [http://www.micron.com/~/media/Documents/Products/Technical%20Note/NAND%20Flash/tn2908_NAND_hamming_ECC_code.pdf "Micron Technical Note TN-29-08: Hamming Codes for NAND Flash Memory Devices"]. 2005. Both say: "The Hamming algorithm is an industry-accepted method for error detection and correction in many SLC NAND flash-based applications."</ref> यह सिंगल-बिट एरर करेक्शन और 2-बिट एरर डिटेक्शन प्रदान करता है। हैमिंग कोड केवल अधिक विश्वसनीय [[एकल-स्तरीय सेल]] (एसएलसी) एनएएनडी के लिए उपयुक्त हैं। सघन बहु-स्तरीय सेल (एमएलसी) एनएएनडी बीसीएच या रीड-सोलोमन जैसे बहु-बिट सुधार ईसीसी का उपयोग कर सकता है।<ref name="spansion">{{cite web|url=http://www.spansion.com/Support/Application%20Notes/Types_of_ECC_Used_on_Flash_AN.pdf|title =फ्लैश मेमोरी पर किस प्रकार के ईसीसी का उपयोग किया जाना चाहिए?|publisher=Spansion|format=Application note|year=2011|quote=रीड-सोलोमन एल्गोरिदम और बीसीएच एल्गोरिदम दोनों एमएलसी नंद फ्लैश के लिए सामान्य ईसीसी विकल्प हैं। ... हैमिंग आधारित ब्लॉक कोड एसएलसी के लिए सबसे अधिक उपयोग किए जाने वाले ईसीसी हैं... रीड-सोलोमन और बीसीएच दोनों ही कई त्रुटियों को संभालने में सक्षम हैं और एमएलसी फ्लैश पर व्यापक रूप से उपयोग किए जाते हैं।}}</ref><ref>{{cite web|author=Jim Cooke|url=https://cushychicken.github.io/assets/cooke_inconvenient_truths.pdf |title=नंद फ्लैश मेमोरी के असुविधाजनक सत्य|date=August 2007|page=28|quote=एसएलसी के लिए, 1 की सुधार सीमा वाला कोड पर्याप्त है। t=4 आवश्यक ... MLC के लिए.}}</ref> एनओआर फ्लैश सामान्यतः किसी त्रुटि सुधार का उपयोग नहीं करता है।<ref name="spansion"/> | |||
यह सिंगल-बिट एरर करेक्शन और 2-बिट एरर डिटेक्शन प्रदान करता है। | |||
हैमिंग कोड केवल अधिक विश्वसनीय [[एकल-स्तरीय सेल]] ( | |||
सघन बहु-स्तरीय सेल (एमएलसी) एनएएनडी बीसीएच या रीड-सोलोमन जैसे बहु-बिट सुधार ईसीसी का उपयोग कर सकता है।<ref name="spansion">{{cite web|url=http://www.spansion.com/Support/Application%20Notes/Types_of_ECC_Used_on_Flash_AN.pdf|title =फ्लैश मेमोरी पर किस प्रकार के ईसीसी का उपयोग किया जाना चाहिए?|publisher=Spansion|format=Application note|year=2011|quote=रीड-सोलोमन एल्गोरिदम और बीसीएच एल्गोरिदम दोनों एमएलसी नंद फ्लैश के लिए सामान्य ईसीसी विकल्प हैं। ... हैमिंग आधारित ब्लॉक कोड एसएलसी के लिए सबसे अधिक उपयोग किए जाने वाले ईसीसी हैं... रीड-सोलोमन और बीसीएच दोनों ही कई त्रुटियों को संभालने में सक्षम हैं और एमएलसी फ्लैश पर व्यापक रूप से उपयोग किए जाते हैं।}}</ref><ref>{{cite web|author=Jim Cooke|url=https://cushychicken.github.io/assets/cooke_inconvenient_truths.pdf |title=नंद फ्लैश मेमोरी के असुविधाजनक सत्य|date=August 2007|page=28|quote=एसएलसी के लिए, 1 की सुधार सीमा वाला कोड पर्याप्त है। t=4 आवश्यक ... MLC के लिए.}}</ref> | |||
पारम्परिक, ब्लॉक कोड सामान्यतः हार्ड-डिसीजन एल्गोरिदम का उपयोग करके डिकोड किए जाते हैं,<ref>{{cite journal |author-last1=Baldi |author-first1=M. |author-last2=Chiaraluce |author-first2=F. |title=मल्टीमीडिया प्रसारण में बीसीएच और आरएस कोड के विश्वास प्रचार डिकोडिंग के लिए एक सरल योजना|journal=[[International Journal of Digital Multimedia Broadcasting]] |volume=2008 |pages=1–12 |date=2008 |doi=10.1155/2008/957846 |doi-access=free }}</ref> जिसका अर्थ है कि प्रत्येक इनपुट और आउटपुट संकेत के लिए एक कठिन निर्णय लिया जाता है चाहे वह एक या शून्य बिट के अनुरूप हो। इसके विपरीत, विटरबी, एमएपी या [[बीसीजेआर एल्गोरिदम]] जैसे सॉफ्ट-डिसीजन एल्गोरिदम का उपयोग करके संवलन कोड को सामान्यतः डिकोड किया जाता है, जो एनालॉग संकेत विधि को (विघटित) करता है, और जो हार्ड-डिसीजन डिसंकेतन की तुलना में बहुत अधिक त्रुटि-सुधार प्रदर्शन की अनुमति देता है। | |||
लगभग सभी | लगभग सभी पारंपरिक ब्लॉक कोड परिमित क्षेत्रों के बीजगणितीय गुणों में लागू करते हैं। इसलिए पारम्परिक ब्लॉक कोड को अधिकांशतः बीजगणितीय कोड कहा जाता है। | ||
पारम्परिक ब्लॉक कोड के विपरीत जो अधिकांशतः त्रुटि-पता लगाने या त्रुटि-सुधार करने की क्षमता निर्दिष्ट करते हैं, कई आधुनिक ब्लॉक कोड जैसे [[एलडीपीसी कोड]] में ऐसी गारंटी नहीं होती है। इसके बजाय, आधुनिक कोड का मूल्यांकन उनकी बिट त्रुटि दरों के संदर्भ में किया जाता है। | |||
अधिकांश [[आगे त्रुटि सुधार]] कोड केवल बिट-फ्लिप को सही करते हैं, लेकिन बिट-इंसर्शन या बिट-डिलीशन को नहीं। | अधिकांश [[आगे त्रुटि सुधार]] कोड केवल बिट-फ्लिप को सही करते हैं, लेकिन बिट-इंसर्शन या बिट-डिलीशन को नहीं। इस सेटिंग में, बिट त्रुटि दर को मापने के लिए [[हैमिंग दूरी]] उपयुक्त तरीका है। मार्कर कोड और वॉटरमार्क कोड जैसे बिट-प्रविष्टि और बिट-विलोपन को ठीक करने के लिए कुछ अग्रेषित त्रुटि सुधार कोड डिज़ाइन किए गए हैं। ऐसे कोड का उपयोग करते समय बिट त्रुटि दर को मापने के लिए [[लेवेनशेटिन दूरी]] एक अधिक उपयुक्त तरीका है।<ref>{{cite web |author-last1=Shah |author-first1=Gaurav |author-last2=Molina |author-first2=Andres |author-last3=Blaze |author-first3=Matt |title=कीबोर्ड और गुप्त चैनल|url=https://www.usenix.org/legacy/event/sec06/tech/full_papers/shah/shah_html/jbug-Usenix06.html |website=USENIX |access-date=20 December 2018 |date=2006}}</ref> | ||
इस सेटिंग में, बिट त्रुटि दर को मापने के लिए [[हैमिंग दूरी]] उपयुक्त तरीका है। | |||
मार्कर कोड और वॉटरमार्क कोड जैसे बिट-प्रविष्टि और बिट-विलोपन को ठीक करने के लिए कुछ अग्रेषित त्रुटि सुधार कोड डिज़ाइन किए गए हैं। | |||
ऐसे कोड का उपयोग करते समय बिट त्रुटि दर को मापने के लिए [[लेवेनशेटिन दूरी]] एक अधिक उपयुक्त तरीका है। | |||
<ref>{{cite web |author-last1=Shah |author-first1=Gaurav |author-last2=Molina |author-first2=Andres |author-last3=Blaze |author-first3=Matt |title=कीबोर्ड और गुप्त चैनल|url=https://www.usenix.org/legacy/event/sec06/tech/full_papers/shah/shah_html/jbug-Usenix06.html |website=USENIX |access-date=20 December 2018 |date=2006}}</ref> | |||
== कोड-दर और विश्वसनीयता और डेटा दर के बीच तालमेल == | |||
{{See also| | |||
बिट दर सूचना दर}} | |||
ईसीसी का मूल सिद्धांत डिकोडर को ट्रांसमीटर द्वारा एन्कोड किए गए सही संदेश का पता लगाने में मदद करने के लिए अनावश्यक बिट्स जोड़ना है। किसी दिए गए ईसीसी प्रणाली की कोड-दर को दिए गए संचार पैकेज में सूचना बिट्स की संख्या और बिट्स की कुल संख्या (यानी, सूचना प्लस अतिरेक बिट्स) के बीच के अनुपात के रूप में परिभाषित किया गया है। कोड-दर इसलिए एक वास्तविक संख्या है क्यों की शून्य के करीब एक कम कोड-दर एक मजबूत कोड के बीच अच्छा प्रदर्शन प्राप्त करने के लिए कई अनावश्यक बिट्स का उपयोग करता है, जबकि 1 के करीब एक बड़ी कोड-दर एक कमजोर कोड का संकेत देती है। | |||
अनावश्यक बिट्स जो जानकारी की रक्षा करते हैं उन्हें उसी संचार संसाधनों का उपयोग करके स्थानांतरित किया जाना चाहिए जिसकी वे रक्षा करने का प्रयास कर रहे हैं। यह विश्वसनीयता और डेटा दर के बीच एक मौलिक व्यापार का कारण बनता है।<ref>{{citation |author-first1=David |author-last1=Tse |author-first2=Pramod |author-last2=Viswanath |title=Fundamentals of Wireless Communication |publisher=[[Cambridge University Press]], UK |date=2005}}</ref> एक चरम में, एक मजबूत कोड (कम कोड-दर के साथ) प्रभावी डेटा दर को कम करने की कीमत पर, बिट त्रुटि दर को कम करने वाले रिसीवर एसएनआर ( संकेत रव अनुपात-अनुपात) में एक महत्वपूर्ण वृद्धि को प्रेरित कर सकता है। दूसरी चरम पर, किसी भी ईसीसी (यानी,1 के बराबर एक कोड-दर) का उपयोग नहीं करने से बिट्स को बिना किसी अतिरिक्त सुरक्षा के छोड़ने की कीमत पर सूचना हस्तांतरण उद्देश्यों के लिए पूर्ण चैनल का उपयोग किया जाता है। | |||
{{ | |||
एक दिलचस्प सवाल निम्नलिखित है: सूचना हस्तांतरण के मामले में एक ईसीसी कितना कुशल हो सकता है जिसमें नगण्य डिसंकेतन त्रुटि दर हो? इस प्रश्न का उत्तर क्लॉड शैनन ने अपने दूसरे प्रमेय के साथ दिया, जो कहता है कि चैनल क्षमता किसी भी ईसीसी द्वारा प्राप्त की जाने वाली अधिकतम बिट दर है जिसकी त्रुटि दर शून्य हो जाती है:<ref name="shannon paper">{{cite journal|first=C. E.|last=Shannon|title=संचार का एक गणितीय सिद्धांत|journal=[[Bell System Technical Journal]]|volume=27|issue=3–4|pages=379–423 & 623–656|date=1948|url=http://www.math.harvard.edu/~ctm/home/text/others/shannon/entropy/entropy.pdf|doi=10.1002/j.1538-7305.1948.tb01338.x|hdl=11858/00-001M-0000-002C-4314-2|hdl-access=free}}</ref> उनका प्रमाण गाऊसी यादृच्छिक संकेतन पर निर्भर करता है, जो वास्तविक दुनिया के अनुप्रयोगों के लिए उपयुक्त नहीं है। शैनन के काम द्वारा दी गई ऊपरी सीमा ने ईसीसी को डिजाइन करने में लंबी यात्रा को प्रेरित किया जो अंतिम प्रदर्शन सीमा के करीब आ सकता है। विभिन्न कोड आज लगभग शैनन सीमा प्राप्त कर सकते हैं।चूँकि, ईसीसी हासिल करने की क्षमता सामान्यतः लागू करने के लिए बेहद जटिल होती है। | |||
सबसे लोकप्रिय ईसीसी में प्रदर्शन और कम्प्यूटेशनल जटिलता के बीच एक समझौता है। सामान्यतः, उनके पैरामीटर संभावित कोड दरों की एक श्रृंखला देते हैं, जिन्हें परिदृश्य के आधार पर अनुकूलित किया जा सकता है। सामान्यतः, यह अनुकूलन डेटा दर पर प्रभाव को कम करते हुए कम डिसंकेतन त्रुटि संभावना प्राप्त करने के लिए किया जाता है। कोड दर के अनुकूलन के लिए एक अन्य मानदंड संचार की ऊर्जा लागत के क्रम में कम त्रुटि दर और पुन: प्रसारण संख्या को संतुलित करना है।<ref>{{Cite conference |title=ऊर्जा-कुशल वायरलेस संचार प्राप्त करने के लिए कोड दर का अनुकूलन|first1=F. |last1=Rosas |first2=G. |last2=Brante |first3=R. D. |last3=Souza |first4=C. |last4=Oberli |url=https://ieeexplore.ieee.org/document/6952166 |date=2014 |pages=775–780 |doi=10.1109/WCNC.2014.6952166 |isbn=978-1-4799-3083-8 |book-title=Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC)}}</ref> | |||
सबसे लोकप्रिय ईसीसी में प्रदर्शन और कम्प्यूटेशनल जटिलता के बीच एक समझौता है। सामान्यतः, उनके पैरामीटर संभावित कोड दरों की एक श्रृंखला देते हैं, जिन्हें परिदृश्य के आधार पर अनुकूलित किया जा सकता है। सामान्यतः, यह अनुकूलन डेटा दर पर प्रभाव को कम करते हुए कम | |||
==बेहतर प्रदर्शन के लिए जुड़े हुए ईसीसी कोड== | ==बेहतर प्रदर्शन के लिए जुड़े हुए ईसीसी कोड== | ||
{{Main| | {{Main|श्रृंखलाबद्ध त्रुटि सुधार कोड}} | ||
क्लासिकल (बीजगणितीय) ब्लॉक कोड और | क्लासिकल (बीजगणितीय) ब्लॉक कोड और संवलन कोड अधिकांशतः समेकित संकेतन योजनाओं में संयुक्त होते हैं जिसमें एक छोटी बाधा-लंबाई विटरबी-डीकोडेड संवलन कोड अधिकांश काम करता है और एक ब्लॉक कोड (सामान्यतः रीड-सोलोमन) बड़े प्रतीक आकार और ब्लॉक लंबाई के साथ कनवल्शनल डिकोडर द्वारा की गई किसी भी त्रुटि को मिटा देता है। त्रुटि सुधार कोड के इस परिवार के साथ एकल पास डिसंकेतन बहुत कम त्रुटि दर प्राप्त कर सकता है, लेकिन लंबी दूरी की संचरण स्थितियों (जैसे गहरे स्थान) के लिए पुनरावृत्त डिसंकेतन की सिफारिश की जाती है। | ||
कनेक्टेड कोड उपग्रह और गहरे अंतरिक्ष संचार में मानक अभ्यास रहे हैं क्योंकि वायेजर कार्यक्रम ने पहली बार यूरेनस के साथ 1986 की मुठभेड़ में तकनीक का उपयोग किया था। [[गैलीलियो (अंतरिक्ष यान)]] शिल्प ने असफल एंटीना होने के कारण बहुत उच्च त्रुटि दर स्थितियों की भरपाई के लिए पुनरावृत्त संघटित कोड का उपयोग किया। | कनेक्टेड कोड उपग्रह और गहरे अंतरिक्ष संचार में मानक अभ्यास रहे हैं क्योंकि वायेजर कार्यक्रम ने पहली बार यूरेनस के साथ 1986 की मुठभेड़ में तकनीक का उपयोग किया था। [[गैलीलियो (अंतरिक्ष यान)]] शिल्प ने असफल एंटीना होने के कारण बहुत उच्च त्रुटि दर स्थितियों की भरपाई के लिए पुनरावृत्त संघटित कोड का उपयोग किया। | ||
== लो-डेंसिटी पैरिटी-चेक ( | == लो-डेंसिटी पैरिटी-चेक (एलडीपीसी)== | ||
{{Main| | {{Main|कम-घनत्व समता-चेक कोड}} | ||
[[कम-घनत्व समता-चेक कोड]] | [[कम-घनत्व समता-चेक कोड]] (एलडीपीसी) कई सिंगल पैरिटी चेक (एसपीसी) कोड से बने अत्यधिक कुशल रैखिक ब्लॉक कोड का एक वर्ग है। वे अपनी ब्लॉक लंबाई के संदर्भ में रैखिक समय जटिलता पर पुनरावृत्त नरम-निर्णय डिसंकेतन दृष्टिकोण का उपयोग करके शैनन सीमा (सैद्धांतिक अधिकतम) के बहुत करीब प्रदर्शन प्रदान कर सकते हैं। व्यावहारिक कार्यान्वयन समानांतर में घटक एसपीसी कोड को डिकोड करने पर बहुत अधिक निर्भर करता है। | ||
एलडीपीसी कोड सबसे पहले 1960 में रॉबर्ट जी. गैलागर ने अपनी पीएचडी थीसिस में पेश किए थे, | एलडीपीसी कोड सबसे पहले 1960 में रॉबर्ट जी. गैलागर ने अपनी पीएचडी थीसिस में पेश किए थे, लेकिन एनकोडर और डिकोडर को लागू करने और रीड-सोलोमन कोड की शुरूआत में कम्प्यूटेशनल प्रयास के कारण, 1990 के दशक तक उन्हें ज्यादातर नजरअंदाज किया गया था। | ||
लेकिन एनकोडर और डिकोडर को लागू करने और रीड-सोलोमन कोड की शुरूआत में कम्प्यूटेशनल प्रयास के कारण, | |||
1990 के दशक तक उन्हें ज्यादातर नजरअंदाज किया गया था। | |||
एलडीपीसी कोड अब हाल के कई हाई-स्पीड संचार मानकों में उपयोग किए जाते हैं, जैसे [[DVB-S2|डीवीबी-एस 2]](डिजिटल वीडियो ब्रॉडकास्टिंग - सैटेलाइट - सेकेंड जेनरेशन), [[WiMAX|वाइमैक्स]] (माइक्रोवेव संचार के लिए आईईईई 802.16ई मानक), हाई-स्पीड वायरलेस लैन (आईईईई 802.11n) ),<ref>IEEE Standard, section 20.3.11.6 [http://standards.ieee.org/getieee802/download/802.11n-2009.pdf "802.11n-2009"] {{Webarchive|url=https://web.archive.org/web/20130203104520/http://standards.ieee.org/getieee802/download/802.11n-2009.pdf |date=3 February 2013 }}, IEEE, 29 October 2009, accessed 21 March 2011.</ref> 10जीबेस-टी ईथरनेट (802.3एएन) और जीएचएन/जी.9960 मानक बिजली पर नेटवर्किंग के लिए) लाइनें, फोन लाइनें और समाक्षीय केबल) अन्य एलडीपीसी कोड 3जीपीपी एमबीएमएस के भीतर बेतार संचार मानकों के लिए मानकीकृत हैं (स्रोत कोड देखें)। | |||
== टर्बो कोड == | == टर्बो कोड == | ||
{{Main| | {{Main| | ||
[[टर्बो कोड]] एक पुनरावर्तित सॉफ्ट- | टर्बो कोड}} | ||
[[टर्बो कोड]] एक पुनरावर्तित सॉफ्ट-डिसंकेतन योजना है जो दो या दो से अधिक अपेक्षाकृत सरल संवलन कोड और एक इंटरलीवर को एक ब्लॉक कोड बनाने के लिए जोड़ती है जो शैनन सीमा के डेसिबल के एक अंश के भीतर प्रदर्शन कर सकता है। व्यावहारिक अनुप्रयोग के संदर्भ में एलडीपीसी कोड से पहले, वे अब समान प्रदर्शन प्रदान करते हैं। | |||
टर्बो कोडिंग के शुरुआती व्यावसायिक अनुप्रयोगों में से एक | टर्बो कोडिंग के शुरुआती व्यावसायिक अनुप्रयोगों में से एक सीडीएमए 2000 1x (टीआईए IS-2000) डिजिटल सेलुलर तकनीक थी जिसे क्वालकॉम द्वारा विकसित किया गया था और वेरिज़ोन वायरलेस, स्प्रिंट और अन्य वाहकों द्वारा बेचा गया था। इसका उपयोग विशेष रूप से इंटरनेट एक्सेस, 1xईवी-डीओ (टीआईए IS-856) के लिए सीडीएमए 2000 1x के विकास के लिए भी किया जाता है। 1x की तरह, ईवी-डीओ को क्वालकॉम द्वारा विकसित किया गया था, और वेरिज़ोन वायरलेस, स्प्रिंट और अन्य वाहकों द्वारा बेचा जाता है (1xईवी-डीओ के लिए वेरिज़ोन का मार्केटिंग नाम ब्रॉडबैंड एक्सेस है, स्प्रिंट के उपभोक्ता और 1xEV-DO के लिए व्यावसायिक विपणन नाम क्रमशः पावर विजन और मोबाइल ब्रॉडबैंड हैं)। | ||
== स्थानीय | == स्थानीय डिसंकेतन और कोड का परीक्षण == | ||
{{Main| | {{Main|स्थानीय रूप से डिकोडेबल कोड| | ||
कभी-कभी केवल संदेश के एक बिट को डिकोड करना आवश्यक होता है, या यह जांचने के लिए कि क्या दिया गया संकेत एक कोडवर्ड है, और पूरे | स्थानीय रूप से परीक्षण योग्य कोड}} | ||
कभी-कभी केवल संदेश के एक बिट को डिकोड करना आवश्यक होता है, या यह जांचने के लिए कि क्या दिया गया संकेत एक कोडवर्ड है, और पूरे संकेत को देखे बिना ऐसा करें। यह एक स्ट्रीमिंग सेटिंग में समझ में आ सकता है, जहां कोडवर्ड बहुत तेजी से पर्याप्त रूप से डिकोड किए जाने के लिए बहुत बड़े हैं और जहां संदेश के केवल कुछ बिट्स अभी के लिए रुचि के हैं। साथ ही ऐसे कोड [[कम्प्यूटेशनल जटिलता सिद्धांत]] में एक महत्वपूर्ण उपकरण बन गए हैं, उदाहरण के लिए, संभाव्य रूप से जांच योग्य प्रमाणों के डिजाइन के लिए। | |||
स्थानीय रूप से डिकोड करने योग्य कोड त्रुटि-सुधार करने वाले कोड होते हैं, जिसके लिए कोडवर्ड के कुछ स्थिर अंशों पर कोडवर्ड के दूषित होने के बाद भी कोडवर्ड की स्थिति की एक छोटी (निरंतर) संख्या को देखते हुए संदेश के एकल बिट्स को संभाव्य रूप से पुनर्प्राप्त किया जा सकता है। [[स्थानीय रूप से परीक्षण योग्य कोड]] त्रुटि-सुधार करने वाले कोड होते हैं, जिसके लिए यह संभाव्य रूप से जांचा जा सकता है कि | स्थानीय रूप से डिकोड करने योग्य कोड त्रुटि-सुधार करने वाले कोड होते हैं, जिसके लिए कोडवर्ड के कुछ स्थिर अंशों पर कोडवर्ड के दूषित होने के बाद भी कोडवर्ड की स्थिति की एक छोटी (निरंतर) संख्या को देखते हुए संदेश के एकल बिट्स को संभाव्य रूप से पुनर्प्राप्त किया जा सकता है। [[स्थानीय रूप से परीक्षण योग्य कोड]] त्रुटि-सुधार करने वाले कोड होते हैं, जिसके लिए यह संभाव्य रूप से जांचा जा सकता है कि संकेत की स्थिति की एक छोटी संख्या को देखते हुए संकेत कोडवर्ड के करीब है या नहीं। | ||
== इंटरलीविंग == | == इंटरलीविंग == | ||
{{redirect| | {{redirect| | ||
इंटरलीवर| | |||
फाइबर ऑप्टिक डिवाइस| | |||
ऑप्टिकल इंटरलीवर}} | |||
[[File:Interleaving1.png|right|upright=2.25|thumb|इंटरलीविंग विचार का एक छोटा उदाहरण]]आगे त्रुटि सुधार कोड के प्रदर्शन को बेहतर बनाने के लिए इंटरलीविंग का उपयोग | [[File:Interleaving1.png|right|upright=2.25|thumb|इंटरलीविंग विचार का एक छोटा उदाहरण]]आगे त्रुटि सुधार कोड के प्रदर्शन को बेहतर बनाने के लिए इंटरलीविंग का उपयोग अधिकांशतः डिजिटल संचार और भंडारण प्रणालियों में किया जाता है। कई संचार चैनल मेमोरीलेस नहीं होते हैं: सामान्यतः त्रुटियाँ स्वतंत्र रूप से होने के बजाय फटने वाली त्रुटियों में होती हैं। यदि किसी [[कोड शब्द]] में त्रुटियों की संख्या त्रुटि-सुधार कोड की क्षमता से अधिक है, तो यह मूल कोड शब्द को पुनर्प्राप्त करने में विफल रहता है। इंटरलीविंग कई कोड शब्दों में स्रोत प्रतीकों को फेरबदल करके इस समस्या को दूर करता है, जिससे त्रुटियों का अधिक [[समान वितरण (निरंतर)]] बनता है।<ref name="turbo-principles">{{cite book |author-first1=B. |author-last1=Vucetic |author-first2=J. |author-last2=Yuan |title=टर्बो कोड: सिद्धांत और अनुप्रयोग|publisher=[[Springer Verlag]] |isbn=978-0-7923-7868-6 |date=2000}}</ref> इसलिए, इंटरलीविंग का व्यापक रूप से बर्स्ट एरर-करेक्शन के लिए उपयोग किया जाता है। | ||
आधुनिक पुनरावृत्त कोड का विश्लेषण, जैसे टर्बो कोड और [[एलडीपीसी कोड]], सामान्यतः त्रुटियों का एक स्वतंत्र वितरण मानते हैं।<ref>{{cite journal |author-first1=Michael |author-last1=Luby |author-link1=Michael Luby |author-first2=M. |author-last2=Mitzenmacher |author-first3=A. |author-last3=Shokrollahi |author-first4=D. |author-last4=Spielman |author-first5=V. |author-last5=Stemann |title=प्रैक्टिकल लॉस-रेसिलिएंट कोड|journal=Proc. 29th Annual Association for Computing Machinery (ACM) Symposium on Theory of Computation |date=1997}}</ref> एलडीपीसी कोड का उपयोग करने वाले | आधुनिक पुनरावृत्त कोड का विश्लेषण, जैसे टर्बो कोड और [[एलडीपीसी कोड]], सामान्यतः त्रुटियों का एक स्वतंत्र वितरण मानते हैं।<ref>{{cite journal |author-first1=Michael |author-last1=Luby |author-link1=Michael Luby |author-first2=M. |author-last2=Mitzenmacher |author-first3=A. |author-last3=Shokrollahi |author-first4=D. |author-last4=Spielman |author-first5=V. |author-last5=Stemann |title=प्रैक्टिकल लॉस-रेसिलिएंट कोड|journal=Proc. 29th Annual Association for Computing Machinery (ACM) Symposium on Theory of Computation |date=1997}}</ref> एलडीपीसी कोड का उपयोग करने वाले प्रणाली सामान्यतः कोड वर्ड के भीतर प्रतीकों में अतिरिक्त इंटरलीविंग को नियोजित करते हैं।<ref>{{Cite journal |title=डिजिटल वीडियो प्रसारण (डीवीबी); ब्रॉडकास्टिंग, इंटरएक्टिव सर्विसेज, न्यूज गैदरिंग और अन्य सैटेलाइट ब्रॉडबैंड एप्लिकेशन (DVB-S2) के लिए दूसरी पीढ़ी की फ्रेमिंग संरचना, चैनल कोडिंग और मॉड्यूलेशन सिस्टम|journal=En 302 307 |issue=V1.2.1 |publisher=[[ETSI]] |date=April 2009}}</ref> टर्बो कोड के लिए, एक इंटरलीवर एक अभिन्न अंग है, और अच्छे कार्य के लिए इसका उचित डिज़ाइन महत्वपूर्ण है।<ref name="turbo-principles"/><ref>{{cite journal|first1=K. S.|last1=Andrews|first2=D.|last2=Divsalar|first3=S.|last3=Dolinar|first4=J.|last4=Hamkins|first5=C. R.|last5=Jones|first6=F.|last6=Pollara|title=डीप-स्पेस एप्लिकेशन के लिए टर्बो और एलडीपीसी कोड का विकास|journal=[[Proceedings of the IEEE]]|volume=95|issue=11|pages=2142–2156|date=November 2007|doi=10.1109/JPROC.2007.905132|s2cid=9289140}}</ref> पुनरावृत्त डिसंकेतन एल्गोरिथ्म सबसे अच्छा काम करता है जब डिकोडर का प्रतिनिधित्व करने वाले [[कारक ग्राफ]] में छोटे चक्र नहीं होते हैं; छोटे चक्रों से बचने के लिए इंटरलीवर को चुना जाता है। | ||
टर्बो कोड के लिए, एक इंटरलीवर एक अभिन्न अंग है और अच्छे | |||
इंटरलीवर डिज़ाइन में | इंटरलीवर डिज़ाइन में सम्मलित हैं: | ||
* आयताकार (या एकसमान) इंटरलीवर्स (ऊपर वर्णित स्किप कारकों का उपयोग करने वाली विधि के समान) | * आयताकार (या एकसमान) इंटरलीवर्स (ऊपर वर्णित स्किप कारकों का उपयोग करने वाली विधि के समान) | ||
* दृढ़ इंटरलीवर | * दृढ़ इंटरलीवर | ||
* यादृच्छिक इंटरलीवर (जहां इंटरलीवर एक ज्ञात यादृच्छिक क्रमपरिवर्तन है) | * यादृच्छिक इंटरलीवर (जहां इंटरलीवर एक ज्ञात यादृच्छिक क्रमपरिवर्तन है) | ||
* एस-यादृच्छिक इंटरलीवर (जहां इंटरलीवर एक ज्ञात यादृच्छिक क्रमपरिवर्तन है जिसमें बाधा है कि दूरी एस के भीतर कोई इनपुट प्रतीक आउटपुट में एस की दूरी के भीतर दिखाई नहीं देता है)।<ref>{{cite journal|first1=S.|last1=Dolinar|first2=D.|last2=Divsalar|title=यादृच्छिक और गैर-यादृच्छिक क्रमपरिवर्तन का उपयोग करके टर्बो कोड के लिए भार वितरण|citeseerx=10.1.1.105.6640|date=15 August 1995|pages=42–122|journal=TDA Progress Report|volume=122|bibcode=1995TDAPR.122...56D}}</ref> | * एस-यादृच्छिक इंटरलीवर (जहां इंटरलीवर एक ज्ञात यादृच्छिक क्रमपरिवर्तन है जिसमें बाधा है कि दूरी एस के भीतर कोई इनपुट प्रतीक आउटपुट में एस की दूरी के भीतर दिखाई नहीं देता है)।<ref>{{cite journal|first1=S.|last1=Dolinar|first2=D.|last2=Divsalar|title=यादृच्छिक और गैर-यादृच्छिक क्रमपरिवर्तन का उपयोग करके टर्बो कोड के लिए भार वितरण|citeseerx=10.1.1.105.6640|date=15 August 1995|pages=42–122|journal=TDA Progress Report|volume=122|bibcode=1995TDAPR.122...56D}}</ref> | ||
* एक विवाद-मुक्त द्विघात क्रमचय बहुपद ( | * एक विवाद-मुक्त द्विघात क्रमचय बहुपद (क्यूपीपी)<ref name="Takeshita1">{{cite journal |title=क्रमपरिवर्तन बहुपद इंटरलीवर्स: एक बीजगणितीय-ज्यामितीय परिप्रेक्ष्य|date=2006 |first1=Oscar |last1=Takeshita |arxiv=cs/0601048 |doi=10.1109/TIT.2007.896870 |volume=53 |issue=6 |journal=[[IEEE Transactions on Information Theory]] |pages=2116–2132|bibcode=2006cs........1048T |s2cid=660 }}</ref> उपयोग का एक उदाहरण [[3GPP लॉन्ग टर्म इवोल्यूशन|3जीपीपी लॉन्ग टर्म इवोल्यूशन]] मोबाइल दूरसंचार मानक में है।<ref>[http://www.3gpp.org/ftp/Specs/html-info/36212.htm 3GPP TS 36.212], version 8.8.0, page 14</ref> | ||
मल्टी-[[वाहक संकेत]] | मल्टी-[[वाहक संकेत]] संचार व्यवस्था में, फ्रीक्वेंसी [[विविधता योजना]] प्रदान करने के लिए कैरियर्स के बीच इंटरलीविंग को नियोजित किया जा सकता है, उदाहरण के लिए, [[आवृत्ति-चयनात्मक लुप्त होती]] या नैरोबैंड इंटरफेरेंस को कम करने के लिए।<ref>{{Cite journal |title=डिजिटल वीडियो प्रसारण (डीवीबी); दूसरी पीढ़ी के डिजिटल स्थलीय टेलीविजन प्रसारण प्रणाली (DVB-T2) के लिए फ़्रेम संरचना, चैनल कोडिंग और मॉड्यूलेशन|journal=En 302 755 |issue=V1.1.1 |publisher=[[ETSI]] |date=September 2009}}</ref> | ||
'''उदाहरण''' | |||
'''बिना इंटरलीविंग के ट्रांसमिशन:''' | |||
त्रुटि रहित संदेश: {{not a typo|aaaabbbbccccddddeeeeffffgggg}} | |||
प्रस्फोट त्रुटि के साथ संचरण: {{not a typo|aaaabbbbccc____deeeeffffgggg}} | |||
यहां, एक ही अक्षर का प्रत्येक समूह 4-बिट एक-बिट त्रुटि-सुधार कोडवर्ड का प्रतिनिधित्व करता है। कोडवर्ड cccc को एक बिट में बदल दिया जाता है, और इसे ठीक किया जा सकता है, लेकिन कोडवर्ड dddd को तीन बिट में बदल दिया जाता है, इसलिए या तो इसे डीकोड नहीं किया जा सकता है, या इसे गलत विधिसे डीकोड किया जा सकता है। | |||
'''इंटरलीविंग के साथ:''' | |||
त्रुटि रहित कूट शब्द: {{not a typo|aaaabbbbccccddddeeeeffffgggg}} | |||
इंटरलीव्ड: {{not a typo|abcdefgabcdefgabcdefgabcdefg}} | |||
फट त्रुटि के साथ संचरण: {{not a typo|abcdefgabcd____bcdefgabcdefg}} | |||
डीइंटरलीविंग के बाद प्राप्त कोड शब्द: {{not a typo|aa_abbbbccccdddde_eef_ffg_gg}} | |||
प्रत्येक कोडवर्ड में {{not a typo|aaaa}}, {{not a typo|eeee}}, {{not a typo|ffff}}, और{{not a typo|gggg}}, में केवल एक बिट को बदला जाता है, इसलिए एक-बिट त्रुटि-सुधार कोड सब कुछ सही ढंग से डिकोड करेगा। | |||
'''बिना इंटरलीविंग के ट्रांसमिशन:''' | |||
मूल प्रेषित वाक्य: {{not a typo| यह इंटरलीविंग का एक उदाहरण है}} | |||
प्रस्फोट त्रुटि के साथ वाक्य प्राप्त हुआ: {{not a typo|यह ______पल ऑफ इंटरलीविंग है}} | |||
शब्द एक " अधिकांशतः समझ से बाहर और सही करने के अस्पष्ट रूप से मुश्किल होता है। | |||
'''इंटरलीविंग के साथ:''' | |||
प्रेषित वाक्य: {{not a typo|यह इंटरलीविंग का एक उदाहरण है...}} | |||
त्रुटि रहित संचरण: {{not a typo|TIEpfeaghsxlIrv.iAaenli.snmOten.}} | |||
प्रस्फोट त्रुटि के साथ वाक्य प्राप्त हुआ: {{not a typo|TIEpfe______Irv.iAaenli.snmOten.}} | |||
डिंटरलीविंग के बाद वाक्य प्राप्त हुआ: {{not a typo|T_isI_AnE_amp_eOfInterle_vin_...}} | |||
कोई भी शब्द पूरी तरह से लुप्त नहीं हुआ है, और विलुप्त अक्षरों को न्यूनतम अनुमान के साथ पुनः प्राप्त किया जा सकता है | |||
इंटरलीविंग तकनीकों का उपयोग कुल विलंब को बढ़ाता है। ऐसा इसलिए है क्योंकि पैकेट को डिकोड किए जाने से पहले पूरे इंटरलीव्ड ब्लॉक को प्राप्त किया जाना चाहिए।<ref>{{cite web |title=इंटरलीविंग की व्याख्या करना|author=Techie|date=3 June 2010|website=W3 Techie Blog|url=http://w3techie.com/2010/explaining-interleaving/|access-date=2010-06-03}}</ref> साथ ही इंटरलीवर त्रुटियों की संरचना को छिपाते हैं; इंटरलीवर के बिना, अधिक उन्नत डिकोडिंग एल्गोरिदम त्रुटि संरचना का लाभ उठा सकते हैं और इंटरलीवर के साथ संयुक्त सरल डिकोडर की तुलना में अधिक विश्वसनीय संचार प्राप्त कर सकते | === इंटरलीविंग के हानि === | ||
इंटरलीविंग तकनीकों का उपयोग कुल विलंब को बढ़ाता है। ऐसा इसलिए है, क्योंकि पैकेट को डिकोड किए जाने से पहले पूरे इंटरलीव्ड ब्लॉक को प्राप्त किया जाना चाहिए।<ref>{{cite web |title=इंटरलीविंग की व्याख्या करना|author=Techie|date=3 June 2010|website=W3 Techie Blog|url=http://w3techie.com/2010/explaining-interleaving/|access-date=2010-06-03}}</ref> साथ ही इंटरलीवर त्रुटियों की संरचना को छिपाते हैं; एक इंटरलीवर के बिना, अधिक उन्नत डिकोडिंग एल्गोरिदम त्रुटि संरचना का लाभ उठा सकते हैं और एक इंटरलीवर के साथ संयुक्त सरल डिकोडर की तुलना में अधिक विश्वसनीय संचार प्राप्त कर सकते हैं {{Citation needed|date=April 2017}}.ऐसे एल्गोरिदम का एक उदाहरण [[तंत्रिका नेटवर्क]]<ref>{{cite journal |last1=Krastanov |first1=Stefan |last2=Jiang |first2=Liang |title=स्टेबलाइजर कोड्स के लिए डीप न्यूरल नेटवर्क प्रोबेबिलिस्टिक डिकोडर|journal=Scientific Reports |date=8 September 2017 |volume=7 |issue=1 |page=11003 |doi=10.1038/s41598-017-11266-1 |pmid=28887480 |pmc=5591216 |arxiv=1705.09334 |bibcode=2017NatSR...711003K |doi-access=free }}</ref> संरचनाओं पर आधारित है। | |||
== त्रुटि-सुधार कोड के लिए सॉफ्टवेयर == | == त्रुटि-सुधार कोड के लिए सॉफ्टवेयर == | ||
सॉफ़्टवेयर में त्रुटि-सुधार कोड (ईसीसीs) के व्यवहार का अनुकरण करना ईसीसीs को डिज़ाइन, मान्य और बेहतर बनाने के लिए एक सामान्य अभ्यास है। आगामी वायरलेस 5G मानक सॉफ्टवेयर ईसीसी के लिए अनुप्रयोगों की एक नई श्रेणी को बढ़ाता है: | सॉफ़्टवेयर में त्रुटि-सुधार कोड (ईसीसीs) के व्यवहार का अनुकरण करना ईसीसीs को डिज़ाइन, मान्य और बेहतर बनाने के लिए एक सामान्य अभ्यास करता है। आगामी वायरलेस 5G मानक सॉफ्टवेयर ईसीसी के लिए अनुप्रयोगों की एक नई श्रेणी को बढ़ाता है: सॉफ्टवेयर परिभाषित रेडियो (एसडीआर) संदर्भ में क्लाउड रेडियो एक्सेस नेटवर्क (सी-आरएएन) पर सीधे संचार में सॉफ्टवेयर ईसीसी का उपयोग किया जाता है। उदाहरण के लिए 5जी में, सॉफ्टवेयर ईसीसी क्लाउड में स्थित हो सकते हैं, और एंटेना इस कंप्यूटिंग संसाधनों से जुड़े हुए होते हैं: इस तरह संचार नेटवर्क के लचीलेपन में सुधार और अंततः प्रणाली की ऊर्जा दक्षता में वृद्धि होती है | ||
इस संदर्भ में, विभिन्न उपलब्ध | इस संदर्भ में, विभिन्न उपलब्ध खुले स्रोत सॉफ़्टवेयर नीचे सूचीबद्ध हैं (गैर संपूर्ण)। | ||
* [https://aff3ct.github.io/ AFF3CT] | * [https://aff3ct.github.io/ AFF3CT]एक फ़ास्ट फ़ॉरवर्ड एरर करेक्शन टूलबॉक्स): C++ में एक पूर्ण संचार श्रृंखला (टर्बो, एलडीपीसी, पोलर कोड आदि जैसे कई समर्थित कोड),चैनल कोडिंग पर बहुत तेज़ और विशिष्ट (अनुकरण के लिए एक कार्यक्रम के रूप में या एसडीआर के लिए एक पुस्तकालय के रूप में इस्तेमाल किया जा सकता है)। | ||
* [[IT++]]: रैखिक बीजगणित, संख्यात्मक अनुकूलन, | * [[IT++]]: रैखिक बीजगणित, संख्यात्मक अनुकूलन, संकेत प्रोसेसिंग, संचार और सांख्यिकी के लिए कक्षाओं और कार्यों की एक सी ++ लाइब्रेरी। | ||
* [https://gitlab.eurecom.fr/oai/openair-cn OpenAir]: | * [https://gitlab.eurecom.fr/oai/openair-cn OpenAir]: उद्विकसित पैकेट कोर नेटवर्क से संबंधित 3जीपीपी विनिर्देशों का कार्यान्वयन (सी में)। | ||
'''त्रुटि-सुधार कोड की सूची''' | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! दूरी !! कोड | ||
|- | |- | ||
| 2 ( | | 2 (एकल त्रुटि का पता लगाने) || समानता | ||
|- | |- | ||
| 3 ( | | 3 (एकल-त्रुटि सुधार) || [[Triple modular redundancy|ट्रिपल मॉड्यूलर अतिरेक]] | ||
|- | |- | ||
| 3 ( | | 3 (एकल-त्रुटि सुधार) || सही हैमिंग जैसे हैमिंग (7,4) | ||
|- | |- | ||
| 4 ( | | 4 (सेकंडेड) || विस्तारित हैमिंग | ||
|- | |- | ||
| 5 ( | | 5 (दोहरी त्रुटि सुधार) || | ||
|- | |- | ||
| 6 ( | | 6 (डबल-त्रुटि सही-/ट्रिपल त्रुटि डिटेक्ट) || [[Nordstrom-Robinson code|नॉर्डस्ट्रॉम-रॉबिन्सन कोड]] | ||
|- | |- | ||
| 7 ( | | 7 (तीन-त्रुटि सुधार) || सही बाइनरी [[binary Golay code|गोलय कोड]] | ||
|- | |- | ||
| 8 ( | | 8 (टीईसीएफईडी) || विस्तारित बाइनरी [[binary Golay code|गोलय कोड]] | ||
|} | |} | ||
* [[एएन कोड]] | * [[एएन कोड]] | ||
Line 225: | Line 231: | ||
* [[समूह कोड]] | * [[समूह कोड]] | ||
* गोलय कोड, जिनमें से बाइनरी गोलय कोड व्यावहारिक रुचि का है | * गोलय कोड, जिनमें से बाइनरी गोलय कोड व्यावहारिक रुचि का है | ||
* मैकएलीस | * मैकएलीस क्रिप्टोप्रणाली में इस्तेमाल किया जाने वाला गोप्पा कोड | ||
* [[हैडमार्ड कोड]] | * [[हैडमार्ड कोड]] | ||
* [[हैलबर्गर कोड|हैगलबर्गर कोड]] | * [[हैलबर्गर कोड|हैगलबर्गर कोड]] | ||
Line 231: | Line 237: | ||
* गैर-श्वेत शोर के लिए लैटिन वर्ग आधारित कोड (उदाहरण के लिए पावरलाइन पर ब्रॉडबैंड में प्रचलित) | * गैर-श्वेत शोर के लिए लैटिन वर्ग आधारित कोड (उदाहरण के लिए पावरलाइन पर ब्रॉडबैंड में प्रचलित) | ||
* [[लेक्सिकोग्राफिक कोड]] | * [[लेक्सिकोग्राफिक कोड]] | ||
* रैखिक नेटवर्क | * रैखिक नेटवर्क संकेतन, बिंदु से बिंदु लिंक के बजाय पूरे नेटवर्क में एक प्रकार का मिटाने वाला कोड | ||
* [[लंबा कोड (गणित)|लंबा कोड]] | * [[लंबा कोड (गणित)|लंबा कोड]] | ||
* कम-घनत्व समता-चेक कोड, जिसे [[गैलेजर कोड]] के रूप में भी जाना जाता है, [[विरल ग्राफ कोड]] के लिए मूलरूप के रूप में | * कम-घनत्व समता-चेक कोड, जिसे [[गैलेजर कोड]] के रूप में भी जाना जाता है, [[विरल ग्राफ कोड]] के लिए मूलरूप के रूप में | ||
* | * एलटी कोड, जो लगभग इष्टतम रेटलेस इरेज़र करेक्टिंग कोड (फाउंटेन कोड) है | ||
* [[एन कोड का एम]] | * [[एन कोड का एम]] | ||
* | * नॉर्डस्ट्रॉम-रॉबिन्सन कोड, ज्यामिति और समूह सिद्धांत में प्रयुक्त<ref>{{Citation |author-first1=A.W. |author-last1=Nordstrom |author-first2=J.P. |author-last2=Robinson |title=An optimum nonlinear code |journal=Information and Control |date=1967 |volume=11 |issue=5–6 |pages=613–616 |doi=10.1016/S0019-9958(67)90835-2 |url=https://doi.org/10.1016/S0019-9958(67)90835-2 }}</ref> | ||
* | * ऑनलाइन कोड, एक निकट-इष्टतम रेटलेस इरेज़र करेक्टिंग कोड | ||
* ध्रुवीय कोड ( | * ध्रुवीय कोड (संकेतन सिद्धांत) | ||
* [[रैप्टर कोड]], एक निकट-इष्टतम फाउंटेन कोड | * [[रैप्टर कोड]], एक निकट-इष्टतम फाउंटेन कोड | ||
* रीड-सोलोमन त्रुटि सुधार | * रीड-सोलोमन त्रुटि सुधार | ||
Line 248: | Line 254: | ||
* टर्बो कोड | * टर्बो कोड | ||
* वॉल्श-हैडमार्ड कोड | * वॉल्श-हैडमार्ड कोड | ||
* चक्रीय अतिरेक जाँच ( | * चक्रीय अतिरेक जाँच (सीआरसी) संदेशों के लिए अधिक से अधिक 1-बिट त्रुटियों को ठीक कर सकते हैं <math>2^{n-1}-1</math> डिग्री के इष्टतम जनरेटर बहुपदों के लिए बिट लंबा <math>n</math>, चक्रीय अतिरेक जाँच #बिटफ़िल्टर का गणित देखें | ||
== यह भी देखें == | == यह भी देखें == | ||
Line 268: | Line 274: | ||
* {{cite book |author-last=Wicker |author-first=Stephen B. |title=Error Control Systems for Digital Communication and Storage |publisher=[[Prentice-Hall]] |location=Englewood Cliffs, New Jersey, USA |date=1995 |isbn=0-13-200809-2 }} | * {{cite book |author-last=Wicker |author-first=Stephen B. |title=Error Control Systems for Digital Communication and Storage |publisher=[[Prentice-Hall]] |location=Englewood Cliffs, New Jersey, USA |date=1995 |isbn=0-13-200809-2 }} | ||
* {{cite book |author-last=Wilson |author-first=Stephen G. |title=Digital Modulation and Coding |publisher=[[Prentice-Hall]] |location=Englewood Cliffs, New Jersey, USA |date=1996 |isbn=0-13-210071-1 }} | * {{cite book |author-last=Wilson |author-first=Stephen G. |title=Digital Modulation and Coding |publisher=[[Prentice-Hall]] |location=Englewood Cliffs, New Jersey, USA |date=1996 |isbn=0-13-210071-1 }} | ||
* [https://web.archive.org/web/20070519161253/http://www.st.com/stonline/products/literature/an/10123.htm "Error Correction Code in Single | * [https://web.archive.org/web/20070519161253/http://www.st.com/stonline/products/literature/an/10123.htm "Error Correction Code in Single Lईवीel Cell NAND Flash memories"] 2007-02-16 | ||
* [https://web.archive.org/web/20160304050018/http://www.eetasia.com/ARTICLES/2004NOV/A/2004NOV29_MEM_AN10.PDF?SOURCES=DOWNLOAD "Error Correction Code in NAND Flash memories"] 2004-11-29 | * [https://web.archive.org/web/20160304050018/http://www.eetasia.com/ARTICLES/2004NOV/A/2004NOV29_MEM_AN10.PDF?SOURCES=DOWNLOAD "Error Correction Code in NAND Flash memories"] 2004-11-29 | ||
* [http://perspectives.mvdirona.com/2012/02/observations-on-errors-corrections-trust-of-dependent-systems/ Observations on Errors, Corrections, & Trust of Dependent Systems], by James Hamilton, 2012-02-26 | * [http://perspectives.mvdirona.com/2012/02/observations-on-errors-corrections-trust-of-dependent-systems/ Observations on Errors, Corrections, & Trust of Dependent Systems], by James Hamilton, 2012-02-26 | ||
Line 274: | Line 280: | ||
==बाहरी कड़ियाँ== | ==बाहरी कड़ियाँ== | ||
* {{Cite web |author-last=Morelos-Zaragoza |author-first=Robert |date=2004 |url=http://www.eccpage.com/ |title=The Correcting Codes (ECC) Page |access-date=2006-03-05}} | * {{Cite web |author-last=Morelos-Zaragoza |author-first=Robert |date=2004 |url=http://www.eccpage.com/ |title=The Correcting Codes (ECC) Page |access-date=2006-03-05}} | ||
* [https://github.com/supermihi/lpdec lpdec: library for LP decoding and related things (Python)] | * [https://github.com/supermihi/lpdec lpdec: library for LP decoding and related things (Python)] | ||
[[Category: | [[Category:All articles with unsourced statements]] | ||
[[Category:Articles with hatnote templates targeting a nonexistent page]] | |||
[[Category:Articles with invalid date parameter in template]] | |||
[[Category:Articles with short description]] | |||
[[Category:Articles with unsourced statements from April 2017]] | |||
[[Category:CS1 errors]] | |||
[[Category:CS1 français-language sources (fr)]] | |||
[[Category:CS1 location test]] | |||
[[Category:CS1 maint]] | |||
[[Category:CS1 Ελληνικά-language sources (el)]] | |||
[[Category:Citation Style 1 templates|W]] | |||
[[Category:Collapse templates]] | |||
[[Category:Created On 29/12/2022]] | [[Category:Created On 29/12/2022]] | ||
[[Category:Machine Translated Page]] | |||
[[Category:Missing redirects]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Short description with empty Wikidata description]] | |||
[[Category:Sidebars with styles needing conversion]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates based on the Citation/CS1 Lua module]] | |||
[[Category:Templates generating COinS|Cite web]] | |||
[[Category:Templates generating microformats]] | |||
[[Category:Templates that are not mobile friendly]] | |||
[[Category:Templates used by AutoWikiBrowser|Cite web]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:Use dmy dates from August 2022]] | |||
[[Category:Webarchive template wayback links]] | |||
[[Category:Wikipedia fully protected templates|Cite web]] | |||
[[Category:Wikipedia metatemplates]] |
Latest revision as of 14:07, 16 January 2023
कम्प्यूटिंग, दूरसंचार, सूचना सिद्धांत और संकेतन सिद्धांत में, कभी-कभी त्रुटि सुधार कोड, (ईसीसी) का उपयोग अविश्वसनीय या मुखरसंचार चैनलों पर डेटा में त्रुटियों को नियंत्रित करने के लिए किया जाता है।[1][2] केंद्रीय विचार यह है कि प्रेषक ईसीसी के रूप में अनावश्यक जानकारी के साथ संदेश को कूटबद्ध करता है। अतिरेक रिसीवर को सीमित संख्या में त्रुटियों का पता लगाने की अनुमति देता है, जो संदेश में कहीं भी हो सकते हैं, और अधिकांशतः इन त्रुटियों को बिना पुनर्प्रसारण के ठीक किया जा सकता है। अमेरिकी गणितज्ञ रिचर्ड हैमिंग ने 1940 के दशक में इस क्षेत्र का नेतृत्व किया और 1950 में पहली त्रुटि-सुधार कोड का आविष्कार किया: हैमिंग (7,4) कोड[2]
ईसीसी त्रुटि का पता लगाने के विपरीत है, जिसमें सामने आने वाली त्रुटियों को केवल पता ही नहीं लगाया जा सकता है, बल्कि इसे ठीक भी किया जा सकता है। लाभ यह है कि ईसीसी का उपयोग करने वाली प्रणाली को त्रुटि होने पर डेटा के पुन: प्रसारण का अनुरोध करने के लिए रिवर्स चैनल की आवश्यकता नहीं होती है। नकारात्मक पक्ष यह है कि एक निश्चित ओवरहेड है जो संदेश में जोड़ा जाता है, जिससे उच्च अग्रेषण-चैनल बैंडविड्थ की आवश्यकता होती है इसलिए ईसीसी उन स्थितियों में लागू किया जाता है, जहां पुन: प्रसारण महंगा या असंभव होता है, जैसे कि एक तरफ़ा संचार लिंक जब बहुस्त्र्पीय में कई रिसीवरों को प्रेषित करते है तब लंबे समय तक चलने वाले कनेक्शन से भी होता है; यूरेनस के चारों ओर परिक्रमा करने वाले उपग्रह के स्थितियों में, त्रुटियों के कारण पुन: प्रसारण में पांच घंटे की देरी हो सकती है। ईसीसी जानकारी को सामान्यतः बड़े पैमाने पर भंडारण उपकरणों में जोड़ा जाता है जिससे की दूषित डेटा की पुनर्प्राप्ति को सक्षम किया जा सके, मोडेम में व्यापक रूप से उपयोग किया जाता है, और इसका उपयोग उन प्रणालियों पर किया जाता है जहां प्राथमिक मेमोरी ईसीसी मेमोरी होती है।
एक रिसीवर में ईसीसी प्रसंस्करण एक डिजिटल बिटस्ट्रीम या डिजिटल रूप से संग्राहक वाहक के विमॉडुलन में लागू किया जा सकता है। उत्तरार्द्ध के लिए, ईसीसी रिसीवर में प्रारंभिक एनालॉग-टू-डिजिटल रूपांतरण का एक अभिन्न अंग है। विटरबी डिकोडर ध्वनि से होने वाली त्रुटि सुधार कोड को एनालॉग संकेत से डिजिटल डेटा को डीमॉड्यूलेट करने के लिए सॉफ्ट निर्णय एल्गोरिदम को लागू करता है। कई ईसीसी एनकोडर/डिकोडर बिट त्रुटि दर (बीईआर) संकेत भी उत्पन्न कर सकते हैं, जिसका उपयोग एनालॉग रिसीविंग इलेक्ट्रॉनिक्स को ठीक करने के लिए प्रतिपुष्टि के रूप में किया जा सकता है।
त्रुटियों या मिसिंग बिट्स के अधिकतम अंश जिन्हें ठीक किया जा सकता है, ईसीसी कोड डिज़ाइन द्वारा निर्धारित किए जाते हैं, इसलिए विभिन्न स्थितियों के लिए अलग-अलग त्रुटि सुधार कोड उपयुक्त होते हैं। सामान्यतः, एक मजबूत कोड अधिक अतिरेक उत्पन्न करता है, जिसे उपलब्ध बैंडविड्थ का उपयोग करके प्रसारित करने की आवश्यकता होती है, जो प्राप्त प्रभावी संकेत-से-ध्वनि अनुपात में सुधार करते हुए प्रभावी बिट-दर को कम करता है। क्लाउड शैनन के ध्वनि-चैनल संकेतन प्रमेय का उपयोग किसी अधिकतम स्वीकार्य त्रुटि संभावना के लिए और प्राप्त करने योग्य संचार बैंडविड्थ की गणना के लिए किया जाता है। यह कुछ दिए गए आधार रव प्रबलता स्तर के साथ एक चैनल की सैद्धांतिक अधिकतम सूचना अंतरण दर पर सीमा स्थापित करता है। चूँकि, प्रमाण रचनात्मक नहीं है, और इसलिए क्षमता प्राप्त करने वाले कोड को बनाने के विधिकी कोई अंतर्दृष्टि नहीं देता है। कई वर्षों के शोध के बाद, 2016 तक कुछ उन्नत ईसीसी प्रणालियां [3] सैद्धांतिक रूप से अति निकट आ गए है।
आगे त्रुटि सुधार
दूरसंचार, सूचना सिद्धांत और संकेतन सिद्धांत में, आगे की त्रुटि सुधार (एफईसी) या चैनल संकेतन [4][3] एक ऐसी तकनीक है, जिसका उपयोग अविश्वसनीय या ध्वनि संचार चैनलों पर डेटा ट्रांसमिशन में त्रुटियों को नियंत्रित करने के लिए किया जाता है। केंद्रीय विचार यह है, कि ईसीसी का उपयोग करके प्रेषक संदेश को निरर्थक विधिसे एन्कोड करता है ।
अतिरेक रिसीवर को सीमित संख्या में त्रुटियों का पता लगाने की अनुमति देता है जो संदेश में कहीं भी हो सकती हैं, और अधिकांशतः इन त्रुटियों को पुनः प्रसारण के बिना ठीक करने के लिए एफईसी रिसीवर डेटा को पुन: प्रसारण का अनुरोध करने के लिए एक रिवर्स चैनल की आवश्यकता के बिना त्रुटियों को ठीक करने की क्षमता देता है, लेकिन एक निश्चित, उच्च फॉरवर्ड चैनल बैंडविड्थ की कीमत पर। इसलिए एफईसी उन स्थितियों में लागू किया जाता है, जहां पुन: प्रसारण असंभव होता है, जैसे कि एक तरफा संचार लिंक और बहुस्त्र्पीय में कई रिसीवरों को प्रेषित करते समय एफईसी सामान्यतः बड़े पैमाने पर भंडारण (चुंबकीय, ऑप्टिकल और ठोस क्षेत्र /फ्लैश आधारित) उपकरणों में जोड़ा जाता है, ताकि विकृत डेटा की पुनर्प्राप्ति को सक्षम करने के लिए, मोडेम में व्यापक रूप से उन प्रणालियों पर उपयोग किया जा सके, जहां प्राथमिक मेमोरी ईसीसी मेमोरी और प्रसारण स्थितियों में होती है, और जहां रिसीवर के पास पुन: प्रसारण का अनुरोध करने की क्षमता नहीं होती है, या ऐसा करने से महत्वपूर्ण विलंबता उत्पन्न होती है। उदाहरण के लिए, यूरेनस की परिक्रमा करने वाले उपग्रह के मामले में, डिसंकेतन त्रुटियों के कारण पुन: प्रसारण से कम से कम 5 घंटे का विलंब होता है।
एक रिसीवर में एफईसी प्रसंस्करण एक डिजिटल बिट स्ट्रीम या डिजिटल रूप से संग्राहक वाहक के विमॉडुलन में लागू किया जा सकता है। और, एफईसी रिसीवर में प्रारंभिक एनालॉग-टू-डिजिटल रूपांतरण का एक अभिन्न अंग है। विटरबी डिकोडर ध्वनि से दूषित एनालॉग संकेत को डिजिटल डेटा में डिमॉड्यूलेट करता है। कई एफईसी कोडर्स एक बिट-एरर रेट (बीइआर) संकेत भी उत्पन्न कर सकते हैं, जिसका उपयोग एनालॉग प्राप्त इलेक्ट्रॉनिक्स को ठीक करने के लिए प्रतिपुष्टि के रूप में किया जा सकता है।
त्रुटियों या विलुप्त बिट्स का अधिकतम अनुपात जिसे, ईसीसी डिजाइन द्वारा निर्धारित किया जाता है, इसलिए विभिन्न स्थितियों के लिए अलग-अलग त्रुटि सुधार कोड उपयुक्त होते हैं। सामान्यतः, एक मजबूत कोड अधिक अतिरेक उत्पन्न करता है जिसे उपलब्ध बैंडविड्थ का उपयोग करके प्रसारित करने की आवश्यकता होती है, जो प्राप्त प्रभावी संकेत रव अनुपात में सुधार करते हुए प्रभावी बिट-दर को कम करता है। क्लाउड शैनन में रव -चैनल संकेतन प्रमेय इस सवाल का जवाब देता है, कि डिसंकेतन त्रुटि संभावना को शून्य करने वाले सबसे कुशल कोड का उपयोग करते हुए डेटा संचार के लिए कितना बैंडविड्थ बचा सकता है। यह कुछ दिए गए आधार पर रव स्तर के साथ एक चैनल की सैद्धांतिक अधिकतम सूचना अंतरण दर पर सीमा स्थापित करता है। उनका प्रमाण रचनात्मक नहीं है, और इसलिए क्षमता प्राप्त करने वाले कोड को कैसे बनाया जाए, इसकी कोई जानकारी नहीं देता है।, वर्षों के शोध के बाद, कुछ उन्नत एफईसी प्रणालियाँ जैसे ध्रुवीय कोड (संकेतन सिद्धांत)[3] अनंत विस्तार ढांचा की परिकल्पना के तहत शैनन चैनल क्षमता प्राप्त करता है ।
यह कैसे काम करता है
एल्गोरिथम का उपयोग करके प्रेषित सूचना में अतिरेक (सूचना सिद्धांत) जोड़कर ईसीसी को पूरा किया जाता है। एक निरर्थक बिट में कई मूल सूचना बिट्स के जटिल कार्य हो सकते है। मूल जानकारी एन्कोडेड आउटपुट में शाब्दिक रूप से प्रकट हो भी सकती है और नहीं भी; कोड जो आउटपुट में अपरिवर्तित होकर इनपुट में सम्मलित होते है, वो व्यवस्थित होते हैं, जबकि जो नहीं होते हैं वे गैर-व्यवस्थित होते हैं।
ईसीसी का एक सरल उदाहरण प्रत्येक डेटा बिट को 3 बार प्रसारित करना होता है, जिसे (3,1) पुनरावृत्ति कोड के रूप में जाना जाता है। एक रव चैनल के माध्यम से, एक रिसीवर आउटपुट में 8 संस्करण देख सकते है, नीचे दी गई तालिका देखें।
त्रिगुण प्राप्त हुआ | के रूप में व्याख्या की |
---|---|
000 | 0 (त्रुटि- मुक्त) |
001 | 0 |
010 | 0 |
100 | 0 |
111 | 1 (त्रुटि-मुक्त) |
110 | 1 |
101 | 1 |
011 | 1 |
यह तीन प्रतिरूप में से किसी एक त्रुटि को बहुसंख्यक मत या लोकतांत्रिक मतदान द्वारा सही करने की अनुमति देता है। इस ईसीसी की सुधार क्षमता है:
- त्रुटि में 1 बिट ट्रिपलेट तक, या
- ट्रिपलेट के 2 बिट तक विलोपित किये गए है (स्थितियों को तालिका में नहीं दिखाया गया है)।
चूंकि लागू करने में सरल और व्यापक रूप से उपयोग किया जाता है, यह ट्रिपल मॉड्यूलर अतिरेक अपेक्षाकृत अक्षम ईसीसी होते है। ईसीसी कोड सामान्यतः पिछले कई दसियों या यहां तक कि प्राप्त बिट्स के पिछले कई सैकड़ों जांच कर चुके हैं, ताकि यह निर्धारित किया जा सके कि वर्तमान में छोटे अल्प मात्रा के बिट्स (सामान्यतः 2 से 8 बिट्स के समूह में) को कैसे डिकोड किया जाए।
त्रुटियों को कम करने के लिए औसत रव
ईसीसी को औसत नॉइज़ द्वारा काम करने के लिए कहा जा सकता है; चूंकि प्रत्येक डेटा बिट कई संचरित प्रतीकों को प्रभावित करता है, रव द्वारा कुछ अपभ्रष्ट प्रयोग को सामान्यतः मूल उपयोगकर्ता डेटा को दूसरे से निकालने की अनुमति देता है, अनियंत्रित प्राप्त प्रतीक जो समान उपयोगकर्ता डेटा पर भी निर्भर करते हैं।
- इस रिस्क-पूलिंग प्रभाव के कारण, ईसीसी का उपयोग करने वाली डिजिटल संचार प्रणालियां एक निश्चित न्यूनतम संकेत रव अनुपात से ऊपर काम करते हैं, और उसके नीचे बिल्कुल नहीं करते है।
- यह ऑल-ऑर-नथिंग प्रवृत्ति - क्लिफ प्रभाव -अधिक स्पष्ट हो जाता है, क्योंकि मजबूत कोड का उपयोग किया जाता है जो सैद्धांतिक शैनन सीमा के अधिक निकट होते हैं।
- इंटरलीविंग ईसीसी कोडेड डेटा प्रेषित ईसीसी कोड जब चैनल त्रुटियां में होती हैं, सभी या कुछ गुणों को कम कर सकता है जब चैनल त्रुटियां में होती हैं। चूंकि, इस पद्धति की सीमाएँ हैं; यह संकीर्ण बैंड डेटा पर सबसे अच्छा उपयोग किया जाता है।
अधिकांश दूरसंचार प्रणालियां एक निश्चित चैनल कोड का उपयोग करती हैं, जिसे अपेक्षित सबसे खराब स्थिति वाली बिट त्रुटि दर को सहन करने के लिए डिज़ाइन किया गया है, और यदि बिट त्रुटि दर कभी भी खराब हो तो बिल्कुल भी काम करने में विफल रहती है। चूंकि, कुछ प्रणाली दिए गए चैनल त्रुटि स्थितियों के अनुकूल होते हैं: हाइब्रिड ऑटोमैटिक रिपीट-रिक्वेस्ट के कुछ उदाहरण एक निश्चित ईसीसी विधि का उपयोग करते हैं, जब तक कि ईसीसी त्रुटि दर को संभाल सकता है, तब स्वचालित रिपीट अनुरोध पर स्विच करें जब त्रुटि दर बहुत अधिक हो जाती है; अनुकूली मॉडुलन और संकेतन ईसीसी दरों की एक किस्म का उपयोग करता है, प्रति पैकेट अधिक त्रुटि-सुधार बिट्स जोड़ता है जब चैनल में उच्च त्रुटि दर होती है, या जब उनकी आवश्यकता नहीं होती है तो उन्हें बाहर निकाल दिया जाता है।
ईसीसी के प्रकार
ईसीसी कोड की दो मुख्य श्रेणियां ब्लॉक कोड और दृढ़ कोड हैं।
- ब्लॉक कोड बिट्स के निश्चित आकार के ब्लॉक (पैकेट) या पूर्व निर्धारित आकार के प्रतीकों पर काम करते हैं। प्रायोगिक ब्लॉक कोड सामान्यतः बहुपद समय में उनकी ब्लॉक अवधि में हार्ड-डीकोड किए जा सकते हैं।
- संवादात्मक कोड मनचाही अवधी के बिट या प्रतीक धाराओं पर काम करते हैं। वे अधिकांशतः विटरबी एल्गोरिथ्म के साथ सॉफ्ट डीकोडेड होते हैं, चूँकि अन्य एल्गोरिदम कभी-कभी उपयोग किए जाते हैं। विटरबी डिसंकेतन असम्बद्ध रूप से इष्टतम डिसंकेतन दक्षता की अनुमति देता है, जो दृढ़ संहिता की बढ़ती अवधी के साथ है, लेकिन घातीय समय बढ़ती जटिलता की कीमत पर एक संवलन कोड जिसे निलम्बित किया जाता है, वह भी एक 'ब्लॉक कोड' होता है, जिसमें यह इनपुट डेटा के एक ब्लॉक को एनकोड करता है, लेकिन एक संवलन कोड का ब्लॉक आकार सामान्यतः मनमाना होता है, जबकि ब्लॉक कोड का एक निश्चित आकार होता है जो उनके बीजगणितीय विशेषताओं द्वारा निर्धारित होता है। संवलन कोड्स के समाप्ति के प्रकारों में टेल-बाइटिंग और बिट-फ्लशिंग सम्मलित हैं।
कई प्रकार के ब्लॉक कोड हैं; कॉम्पैक्ट डिस्क, डीवीडी और हार्ड डिस्क ड्राइव में व्यापक उपयोग के लिए रीड-सोलोमन कोडिंग उल्लेखनीय है। पारम्परिकब्लॉक कोड के अन्य उदाहरणों में गोले, बीसीएच, बहुआयामी समता और हैमिंग कोड सम्मलित हैं।
एनएएनडी फ्लैश मेमोरी त्रुटियों को ठीक करने के लिए सामान्यतः हैमिंग ईसीसी का उपयोग किया जाता है।[5] यह सिंगल-बिट एरर करेक्शन और 2-बिट एरर डिटेक्शन प्रदान करता है। हैमिंग कोड केवल अधिक विश्वसनीय एकल-स्तरीय सेल (एसएलसी) एनएएनडी के लिए उपयुक्त हैं। सघन बहु-स्तरीय सेल (एमएलसी) एनएएनडी बीसीएच या रीड-सोलोमन जैसे बहु-बिट सुधार ईसीसी का उपयोग कर सकता है।[6][7] एनओआर फ्लैश सामान्यतः किसी त्रुटि सुधार का उपयोग नहीं करता है।[6]
पारम्परिक, ब्लॉक कोड सामान्यतः हार्ड-डिसीजन एल्गोरिदम का उपयोग करके डिकोड किए जाते हैं,[8] जिसका अर्थ है कि प्रत्येक इनपुट और आउटपुट संकेत के लिए एक कठिन निर्णय लिया जाता है चाहे वह एक या शून्य बिट के अनुरूप हो। इसके विपरीत, विटरबी, एमएपी या बीसीजेआर एल्गोरिदम जैसे सॉफ्ट-डिसीजन एल्गोरिदम का उपयोग करके संवलन कोड को सामान्यतः डिकोड किया जाता है, जो एनालॉग संकेत विधि को (विघटित) करता है, और जो हार्ड-डिसीजन डिसंकेतन की तुलना में बहुत अधिक त्रुटि-सुधार प्रदर्शन की अनुमति देता है।
लगभग सभी पारंपरिक ब्लॉक कोड परिमित क्षेत्रों के बीजगणितीय गुणों में लागू करते हैं। इसलिए पारम्परिक ब्लॉक कोड को अधिकांशतः बीजगणितीय कोड कहा जाता है।
पारम्परिक ब्लॉक कोड के विपरीत जो अधिकांशतः त्रुटि-पता लगाने या त्रुटि-सुधार करने की क्षमता निर्दिष्ट करते हैं, कई आधुनिक ब्लॉक कोड जैसे एलडीपीसी कोड में ऐसी गारंटी नहीं होती है। इसके बजाय, आधुनिक कोड का मूल्यांकन उनकी बिट त्रुटि दरों के संदर्भ में किया जाता है।
अधिकांश आगे त्रुटि सुधार कोड केवल बिट-फ्लिप को सही करते हैं, लेकिन बिट-इंसर्शन या बिट-डिलीशन को नहीं। इस सेटिंग में, बिट त्रुटि दर को मापने के लिए हैमिंग दूरी उपयुक्त तरीका है। मार्कर कोड और वॉटरमार्क कोड जैसे बिट-प्रविष्टि और बिट-विलोपन को ठीक करने के लिए कुछ अग्रेषित त्रुटि सुधार कोड डिज़ाइन किए गए हैं। ऐसे कोड का उपयोग करते समय बिट त्रुटि दर को मापने के लिए लेवेनशेटिन दूरी एक अधिक उपयुक्त तरीका है।[9]
कोड-दर और विश्वसनीयता और डेटा दर के बीच तालमेल
ईसीसी का मूल सिद्धांत डिकोडर को ट्रांसमीटर द्वारा एन्कोड किए गए सही संदेश का पता लगाने में मदद करने के लिए अनावश्यक बिट्स जोड़ना है। किसी दिए गए ईसीसी प्रणाली की कोड-दर को दिए गए संचार पैकेज में सूचना बिट्स की संख्या और बिट्स की कुल संख्या (यानी, सूचना प्लस अतिरेक बिट्स) के बीच के अनुपात के रूप में परिभाषित किया गया है। कोड-दर इसलिए एक वास्तविक संख्या है क्यों की शून्य के करीब एक कम कोड-दर एक मजबूत कोड के बीच अच्छा प्रदर्शन प्राप्त करने के लिए कई अनावश्यक बिट्स का उपयोग करता है, जबकि 1 के करीब एक बड़ी कोड-दर एक कमजोर कोड का संकेत देती है।
अनावश्यक बिट्स जो जानकारी की रक्षा करते हैं उन्हें उसी संचार संसाधनों का उपयोग करके स्थानांतरित किया जाना चाहिए जिसकी वे रक्षा करने का प्रयास कर रहे हैं। यह विश्वसनीयता और डेटा दर के बीच एक मौलिक व्यापार का कारण बनता है।[10] एक चरम में, एक मजबूत कोड (कम कोड-दर के साथ) प्रभावी डेटा दर को कम करने की कीमत पर, बिट त्रुटि दर को कम करने वाले रिसीवर एसएनआर ( संकेत रव अनुपात-अनुपात) में एक महत्वपूर्ण वृद्धि को प्रेरित कर सकता है। दूसरी चरम पर, किसी भी ईसीसी (यानी,1 के बराबर एक कोड-दर) का उपयोग नहीं करने से बिट्स को बिना किसी अतिरिक्त सुरक्षा के छोड़ने की कीमत पर सूचना हस्तांतरण उद्देश्यों के लिए पूर्ण चैनल का उपयोग किया जाता है।
एक दिलचस्प सवाल निम्नलिखित है: सूचना हस्तांतरण के मामले में एक ईसीसी कितना कुशल हो सकता है जिसमें नगण्य डिसंकेतन त्रुटि दर हो? इस प्रश्न का उत्तर क्लॉड शैनन ने अपने दूसरे प्रमेय के साथ दिया, जो कहता है कि चैनल क्षमता किसी भी ईसीसी द्वारा प्राप्त की जाने वाली अधिकतम बिट दर है जिसकी त्रुटि दर शून्य हो जाती है:[11] उनका प्रमाण गाऊसी यादृच्छिक संकेतन पर निर्भर करता है, जो वास्तविक दुनिया के अनुप्रयोगों के लिए उपयुक्त नहीं है। शैनन के काम द्वारा दी गई ऊपरी सीमा ने ईसीसी को डिजाइन करने में लंबी यात्रा को प्रेरित किया जो अंतिम प्रदर्शन सीमा के करीब आ सकता है। विभिन्न कोड आज लगभग शैनन सीमा प्राप्त कर सकते हैं।चूँकि, ईसीसी हासिल करने की क्षमता सामान्यतः लागू करने के लिए बेहद जटिल होती है।
सबसे लोकप्रिय ईसीसी में प्रदर्शन और कम्प्यूटेशनल जटिलता के बीच एक समझौता है। सामान्यतः, उनके पैरामीटर संभावित कोड दरों की एक श्रृंखला देते हैं, जिन्हें परिदृश्य के आधार पर अनुकूलित किया जा सकता है। सामान्यतः, यह अनुकूलन डेटा दर पर प्रभाव को कम करते हुए कम डिसंकेतन त्रुटि संभावना प्राप्त करने के लिए किया जाता है। कोड दर के अनुकूलन के लिए एक अन्य मानदंड संचार की ऊर्जा लागत के क्रम में कम त्रुटि दर और पुन: प्रसारण संख्या को संतुलित करना है।[12]
बेहतर प्रदर्शन के लिए जुड़े हुए ईसीसी कोड
क्लासिकल (बीजगणितीय) ब्लॉक कोड और संवलन कोड अधिकांशतः समेकित संकेतन योजनाओं में संयुक्त होते हैं जिसमें एक छोटी बाधा-लंबाई विटरबी-डीकोडेड संवलन कोड अधिकांश काम करता है और एक ब्लॉक कोड (सामान्यतः रीड-सोलोमन) बड़े प्रतीक आकार और ब्लॉक लंबाई के साथ कनवल्शनल डिकोडर द्वारा की गई किसी भी त्रुटि को मिटा देता है। त्रुटि सुधार कोड के इस परिवार के साथ एकल पास डिसंकेतन बहुत कम त्रुटि दर प्राप्त कर सकता है, लेकिन लंबी दूरी की संचरण स्थितियों (जैसे गहरे स्थान) के लिए पुनरावृत्त डिसंकेतन की सिफारिश की जाती है।
कनेक्टेड कोड उपग्रह और गहरे अंतरिक्ष संचार में मानक अभ्यास रहे हैं क्योंकि वायेजर कार्यक्रम ने पहली बार यूरेनस के साथ 1986 की मुठभेड़ में तकनीक का उपयोग किया था। गैलीलियो (अंतरिक्ष यान) शिल्प ने असफल एंटीना होने के कारण बहुत उच्च त्रुटि दर स्थितियों की भरपाई के लिए पुनरावृत्त संघटित कोड का उपयोग किया।
लो-डेंसिटी पैरिटी-चेक (एलडीपीसी)
कम-घनत्व समता-चेक कोड (एलडीपीसी) कई सिंगल पैरिटी चेक (एसपीसी) कोड से बने अत्यधिक कुशल रैखिक ब्लॉक कोड का एक वर्ग है। वे अपनी ब्लॉक लंबाई के संदर्भ में रैखिक समय जटिलता पर पुनरावृत्त नरम-निर्णय डिसंकेतन दृष्टिकोण का उपयोग करके शैनन सीमा (सैद्धांतिक अधिकतम) के बहुत करीब प्रदर्शन प्रदान कर सकते हैं। व्यावहारिक कार्यान्वयन समानांतर में घटक एसपीसी कोड को डिकोड करने पर बहुत अधिक निर्भर करता है।
एलडीपीसी कोड सबसे पहले 1960 में रॉबर्ट जी. गैलागर ने अपनी पीएचडी थीसिस में पेश किए थे, लेकिन एनकोडर और डिकोडर को लागू करने और रीड-सोलोमन कोड की शुरूआत में कम्प्यूटेशनल प्रयास के कारण, 1990 के दशक तक उन्हें ज्यादातर नजरअंदाज किया गया था।
एलडीपीसी कोड अब हाल के कई हाई-स्पीड संचार मानकों में उपयोग किए जाते हैं, जैसे डीवीबी-एस 2(डिजिटल वीडियो ब्रॉडकास्टिंग - सैटेलाइट - सेकेंड जेनरेशन), वाइमैक्स (माइक्रोवेव संचार के लिए आईईईई 802.16ई मानक), हाई-स्पीड वायरलेस लैन (आईईईई 802.11n) ),[13] 10जीबेस-टी ईथरनेट (802.3एएन) और जीएचएन/जी.9960 मानक बिजली पर नेटवर्किंग के लिए) लाइनें, फोन लाइनें और समाक्षीय केबल) अन्य एलडीपीसी कोड 3जीपीपी एमबीएमएस के भीतर बेतार संचार मानकों के लिए मानकीकृत हैं (स्रोत कोड देखें)।
टर्बो कोड
टर्बो कोड एक पुनरावर्तित सॉफ्ट-डिसंकेतन योजना है जो दो या दो से अधिक अपेक्षाकृत सरल संवलन कोड और एक इंटरलीवर को एक ब्लॉक कोड बनाने के लिए जोड़ती है जो शैनन सीमा के डेसिबल के एक अंश के भीतर प्रदर्शन कर सकता है। व्यावहारिक अनुप्रयोग के संदर्भ में एलडीपीसी कोड से पहले, वे अब समान प्रदर्शन प्रदान करते हैं।
टर्बो कोडिंग के शुरुआती व्यावसायिक अनुप्रयोगों में से एक सीडीएमए 2000 1x (टीआईए IS-2000) डिजिटल सेलुलर तकनीक थी जिसे क्वालकॉम द्वारा विकसित किया गया था और वेरिज़ोन वायरलेस, स्प्रिंट और अन्य वाहकों द्वारा बेचा गया था। इसका उपयोग विशेष रूप से इंटरनेट एक्सेस, 1xईवी-डीओ (टीआईए IS-856) के लिए सीडीएमए 2000 1x के विकास के लिए भी किया जाता है। 1x की तरह, ईवी-डीओ को क्वालकॉम द्वारा विकसित किया गया था, और वेरिज़ोन वायरलेस, स्प्रिंट और अन्य वाहकों द्वारा बेचा जाता है (1xईवी-डीओ के लिए वेरिज़ोन का मार्केटिंग नाम ब्रॉडबैंड एक्सेस है, स्प्रिंट के उपभोक्ता और 1xEV-DO के लिए व्यावसायिक विपणन नाम क्रमशः पावर विजन और मोबाइल ब्रॉडबैंड हैं)।
स्थानीय डिसंकेतन और कोड का परीक्षण
कभी-कभी केवल संदेश के एक बिट को डिकोड करना आवश्यक होता है, या यह जांचने के लिए कि क्या दिया गया संकेत एक कोडवर्ड है, और पूरे संकेत को देखे बिना ऐसा करें। यह एक स्ट्रीमिंग सेटिंग में समझ में आ सकता है, जहां कोडवर्ड बहुत तेजी से पर्याप्त रूप से डिकोड किए जाने के लिए बहुत बड़े हैं और जहां संदेश के केवल कुछ बिट्स अभी के लिए रुचि के हैं। साथ ही ऐसे कोड कम्प्यूटेशनल जटिलता सिद्धांत में एक महत्वपूर्ण उपकरण बन गए हैं, उदाहरण के लिए, संभाव्य रूप से जांच योग्य प्रमाणों के डिजाइन के लिए।
स्थानीय रूप से डिकोड करने योग्य कोड त्रुटि-सुधार करने वाले कोड होते हैं, जिसके लिए कोडवर्ड के कुछ स्थिर अंशों पर कोडवर्ड के दूषित होने के बाद भी कोडवर्ड की स्थिति की एक छोटी (निरंतर) संख्या को देखते हुए संदेश के एकल बिट्स को संभाव्य रूप से पुनर्प्राप्त किया जा सकता है। स्थानीय रूप से परीक्षण योग्य कोड त्रुटि-सुधार करने वाले कोड होते हैं, जिसके लिए यह संभाव्य रूप से जांचा जा सकता है कि संकेत की स्थिति की एक छोटी संख्या को देखते हुए संकेत कोडवर्ड के करीब है या नहीं।
इंटरलीविंग
आगे त्रुटि सुधार कोड के प्रदर्शन को बेहतर बनाने के लिए इंटरलीविंग का उपयोग अधिकांशतः डिजिटल संचार और भंडारण प्रणालियों में किया जाता है। कई संचार चैनल मेमोरीलेस नहीं होते हैं: सामान्यतः त्रुटियाँ स्वतंत्र रूप से होने के बजाय फटने वाली त्रुटियों में होती हैं। यदि किसी कोड शब्द में त्रुटियों की संख्या त्रुटि-सुधार कोड की क्षमता से अधिक है, तो यह मूल कोड शब्द को पुनर्प्राप्त करने में विफल रहता है। इंटरलीविंग कई कोड शब्दों में स्रोत प्रतीकों को फेरबदल करके इस समस्या को दूर करता है, जिससे त्रुटियों का अधिक समान वितरण (निरंतर) बनता है।[14] इसलिए, इंटरलीविंग का व्यापक रूप से बर्स्ट एरर-करेक्शन के लिए उपयोग किया जाता है।
आधुनिक पुनरावृत्त कोड का विश्लेषण, जैसे टर्बो कोड और एलडीपीसी कोड, सामान्यतः त्रुटियों का एक स्वतंत्र वितरण मानते हैं।[15] एलडीपीसी कोड का उपयोग करने वाले प्रणाली सामान्यतः कोड वर्ड के भीतर प्रतीकों में अतिरिक्त इंटरलीविंग को नियोजित करते हैं।[16] टर्बो कोड के लिए, एक इंटरलीवर एक अभिन्न अंग है, और अच्छे कार्य के लिए इसका उचित डिज़ाइन महत्वपूर्ण है।[14][17] पुनरावृत्त डिसंकेतन एल्गोरिथ्म सबसे अच्छा काम करता है जब डिकोडर का प्रतिनिधित्व करने वाले कारक ग्राफ में छोटे चक्र नहीं होते हैं; छोटे चक्रों से बचने के लिए इंटरलीवर को चुना जाता है।
इंटरलीवर डिज़ाइन में सम्मलित हैं:
- आयताकार (या एकसमान) इंटरलीवर्स (ऊपर वर्णित स्किप कारकों का उपयोग करने वाली विधि के समान)
- दृढ़ इंटरलीवर
- यादृच्छिक इंटरलीवर (जहां इंटरलीवर एक ज्ञात यादृच्छिक क्रमपरिवर्तन है)
- एस-यादृच्छिक इंटरलीवर (जहां इंटरलीवर एक ज्ञात यादृच्छिक क्रमपरिवर्तन है जिसमें बाधा है कि दूरी एस के भीतर कोई इनपुट प्रतीक आउटपुट में एस की दूरी के भीतर दिखाई नहीं देता है)।[18]
- एक विवाद-मुक्त द्विघात क्रमचय बहुपद (क्यूपीपी)[19] उपयोग का एक उदाहरण 3जीपीपी लॉन्ग टर्म इवोल्यूशन मोबाइल दूरसंचार मानक में है।[20]
मल्टी-वाहक संकेत संचार व्यवस्था में, फ्रीक्वेंसी विविधता योजना प्रदान करने के लिए कैरियर्स के बीच इंटरलीविंग को नियोजित किया जा सकता है, उदाहरण के लिए, आवृत्ति-चयनात्मक लुप्त होती या नैरोबैंड इंटरफेरेंस को कम करने के लिए।[21]
उदाहरण
बिना इंटरलीविंग के ट्रांसमिशन:
त्रुटि रहित संदेश: aaaabbbbccccddddeeeeffffgggg प्रस्फोट त्रुटि के साथ संचरण: aaaabbbbccc____deeeeffffgggg
यहां, एक ही अक्षर का प्रत्येक समूह 4-बिट एक-बिट त्रुटि-सुधार कोडवर्ड का प्रतिनिधित्व करता है। कोडवर्ड cccc को एक बिट में बदल दिया जाता है, और इसे ठीक किया जा सकता है, लेकिन कोडवर्ड dddd को तीन बिट में बदल दिया जाता है, इसलिए या तो इसे डीकोड नहीं किया जा सकता है, या इसे गलत विधिसे डीकोड किया जा सकता है।
इंटरलीविंग के साथ:
त्रुटि रहित कूट शब्द: aaaabbbbccccddddeeeeffffgggg
इंटरलीव्ड: abcdefgabcdefgabcdefgabcdefg
फट त्रुटि के साथ संचरण: abcdefgabcd____bcdefgabcdefg
डीइंटरलीविंग के बाद प्राप्त कोड शब्द: aa_abbbbccccdddde_eef_ffg_gg
प्रत्येक कोडवर्ड में aaaa, eeee, ffff, औरgggg, में केवल एक बिट को बदला जाता है, इसलिए एक-बिट त्रुटि-सुधार कोड सब कुछ सही ढंग से डिकोड करेगा।
बिना इंटरलीविंग के ट्रांसमिशन:
मूल प्रेषित वाक्य: यह इंटरलीविंग का एक उदाहरण है
प्रस्फोट त्रुटि के साथ वाक्य प्राप्त हुआ: यह ______पल ऑफ इंटरलीविंग है
शब्द एक " अधिकांशतः समझ से बाहर और सही करने के अस्पष्ट रूप से मुश्किल होता है।
इंटरलीविंग के साथ:
प्रेषित वाक्य: यह इंटरलीविंग का एक उदाहरण है...
त्रुटि रहित संचरण: TIEpfeaghsxlIrv.iAaenli.snmOten.
प्रस्फोट त्रुटि के साथ वाक्य प्राप्त हुआ: TIEpfe______Irv.iAaenli.snmOten.
डिंटरलीविंग के बाद वाक्य प्राप्त हुआ: T_isI_AnE_amp_eOfInterle_vin_...
कोई भी शब्द पूरी तरह से लुप्त नहीं हुआ है, और विलुप्त अक्षरों को न्यूनतम अनुमान के साथ पुनः प्राप्त किया जा सकता है
इंटरलीविंग के हानि
इंटरलीविंग तकनीकों का उपयोग कुल विलंब को बढ़ाता है। ऐसा इसलिए है, क्योंकि पैकेट को डिकोड किए जाने से पहले पूरे इंटरलीव्ड ब्लॉक को प्राप्त किया जाना चाहिए।[22] साथ ही इंटरलीवर त्रुटियों की संरचना को छिपाते हैं; एक इंटरलीवर के बिना, अधिक उन्नत डिकोडिंग एल्गोरिदम त्रुटि संरचना का लाभ उठा सकते हैं और एक इंटरलीवर के साथ संयुक्त सरल डिकोडर की तुलना में अधिक विश्वसनीय संचार प्राप्त कर सकते हैं[citation needed].ऐसे एल्गोरिदम का एक उदाहरण तंत्रिका नेटवर्क[23] संरचनाओं पर आधारित है।
त्रुटि-सुधार कोड के लिए सॉफ्टवेयर
सॉफ़्टवेयर में त्रुटि-सुधार कोड (ईसीसीs) के व्यवहार का अनुकरण करना ईसीसीs को डिज़ाइन, मान्य और बेहतर बनाने के लिए एक सामान्य अभ्यास करता है। आगामी वायरलेस 5G मानक सॉफ्टवेयर ईसीसी के लिए अनुप्रयोगों की एक नई श्रेणी को बढ़ाता है: सॉफ्टवेयर परिभाषित रेडियो (एसडीआर) संदर्भ में क्लाउड रेडियो एक्सेस नेटवर्क (सी-आरएएन) पर सीधे संचार में सॉफ्टवेयर ईसीसी का उपयोग किया जाता है। उदाहरण के लिए 5जी में, सॉफ्टवेयर ईसीसी क्लाउड में स्थित हो सकते हैं, और एंटेना इस कंप्यूटिंग संसाधनों से जुड़े हुए होते हैं: इस तरह संचार नेटवर्क के लचीलेपन में सुधार और अंततः प्रणाली की ऊर्जा दक्षता में वृद्धि होती है
इस संदर्भ में, विभिन्न उपलब्ध खुले स्रोत सॉफ़्टवेयर नीचे सूचीबद्ध हैं (गैर संपूर्ण)।
- AFF3CTएक फ़ास्ट फ़ॉरवर्ड एरर करेक्शन टूलबॉक्स): C++ में एक पूर्ण संचार श्रृंखला (टर्बो, एलडीपीसी, पोलर कोड आदि जैसे कई समर्थित कोड),चैनल कोडिंग पर बहुत तेज़ और विशिष्ट (अनुकरण के लिए एक कार्यक्रम के रूप में या एसडीआर के लिए एक पुस्तकालय के रूप में इस्तेमाल किया जा सकता है)।
- IT++: रैखिक बीजगणित, संख्यात्मक अनुकूलन, संकेत प्रोसेसिंग, संचार और सांख्यिकी के लिए कक्षाओं और कार्यों की एक सी ++ लाइब्रेरी।
- OpenAir: उद्विकसित पैकेट कोर नेटवर्क से संबंधित 3जीपीपी विनिर्देशों का कार्यान्वयन (सी में)।
त्रुटि-सुधार कोड की सूची
दूरी | कोड |
---|---|
2 (एकल त्रुटि का पता लगाने) | समानता |
3 (एकल-त्रुटि सुधार) | ट्रिपल मॉड्यूलर अतिरेक |
3 (एकल-त्रुटि सुधार) | सही हैमिंग जैसे हैमिंग (7,4) |
4 (सेकंडेड) | विस्तारित हैमिंग |
5 (दोहरी त्रुटि सुधार) | |
6 (डबल-त्रुटि सही-/ट्रिपल त्रुटि डिटेक्ट) | नॉर्डस्ट्रॉम-रॉबिन्सन कोड |
7 (तीन-त्रुटि सुधार) | सही बाइनरी गोलय कोड |
8 (टीईसीएफईडी) | विस्तारित बाइनरी गोलय कोड |
- एएन कोड
- बीसीएच कोड, जिसे प्रति कोड ब्लॉक किसी भी मनमानी संख्या में त्रुटियों को ठीक करने के लिए डिज़ाइन किया जा सकता है।
- रडार, टेलीमेट्री, अल्ट्रा साउंड, वाईफाई, डीएसएसएस मोबाइल फोन नेटवर्क, जीपीएस आदि के लिए इस्तेमाल किया जाने वाला बार्कर कोड।
- बर्जर कोड
- नियत भार कोड
- संवलनात्मक कोड
- प्रसारक कोड
- समूह कोड
- गोलय कोड, जिनमें से बाइनरी गोलय कोड व्यावहारिक रुचि का है
- मैकएलीस क्रिप्टोप्रणाली में इस्तेमाल किया जाने वाला गोप्पा कोड
- हैडमार्ड कोड
- हैगलबर्गर कोड
- हैमिंग कोड
- गैर-श्वेत शोर के लिए लैटिन वर्ग आधारित कोड (उदाहरण के लिए पावरलाइन पर ब्रॉडबैंड में प्रचलित)
- लेक्सिकोग्राफिक कोड
- रैखिक नेटवर्क संकेतन, बिंदु से बिंदु लिंक के बजाय पूरे नेटवर्क में एक प्रकार का मिटाने वाला कोड
- लंबा कोड
- कम-घनत्व समता-चेक कोड, जिसे गैलेजर कोड के रूप में भी जाना जाता है, विरल ग्राफ कोड के लिए मूलरूप के रूप में
- एलटी कोड, जो लगभग इष्टतम रेटलेस इरेज़र करेक्टिंग कोड (फाउंटेन कोड) है
- एन कोड का एम
- नॉर्डस्ट्रॉम-रॉबिन्सन कोड, ज्यामिति और समूह सिद्धांत में प्रयुक्त[24]
- ऑनलाइन कोड, एक निकट-इष्टतम रेटलेस इरेज़र करेक्टिंग कोड
- ध्रुवीय कोड (संकेतन सिद्धांत)
- रैप्टर कोड, एक निकट-इष्टतम फाउंटेन कोड
- रीड-सोलोमन त्रुटि सुधार
- रीड-मुलर कोड
- दोहराएँ-संचय कोड
- पुनरावृत्ति कोड, जैसे ट्रिपल मॉड्यूलर अतिरेक
- स्पाइनल कोड, छद्म-यादृच्छिक हैश फ़ंक्शंस पर आधारित एक रेटलेस, नॉनलाइनियर कोड[25]
- बवंडर कोड, एक निकट-इष्टतम विलोपन कोड, और फाउंटेन कोड का अग्रदूत
- टर्बो कोड
- वॉल्श-हैडमार्ड कोड
- चक्रीय अतिरेक जाँच (सीआरसी) संदेशों के लिए अधिक से अधिक 1-बिट त्रुटियों को ठीक कर सकते हैं डिग्री के इष्टतम जनरेटर बहुपदों के लिए बिट लंबा , चक्रीय अतिरेक जाँच #बिटफ़िल्टर का गणित देखें
यह भी देखें
- कोड दर
- इरेज़र कोड
- शीतल-निर्णय डिकोडर
- बर्स्ट एरर-करेक्टिंग कोड
- त्रुटि का पता लगाने और सुधार
- प्रतिक्रिया के साथ त्रुटि-सुधार कोड
संदर्भ
- ↑ Glover, Neal; Dudley, Trent (1990). इंजीनियरों के लिए व्यावहारिक त्रुटि सुधार डिजाइन (Revision 1.1, 2nd ed.). CO, USA: Cirrus Logic. ISBN 0-927239-00-0.
- ↑ 2.0 2.1 Hamming, Richard Wesley (April 1950). "त्रुटि का पता लगाने और कोड को ठीक करने में त्रुटि". Bell System Technical Journal. USA: AT&T. 29 (2): 147–160. doi:10.1002/j.1538-7305.1950.tb00463.x. S2CID 61141773.
- ↑ 3.0 3.1 3.2 Maunder, Robert (2016). "चैनल कोडिंग का अवलोकन".
- ↑ Charles Wang; Dean Sklar; Diana Johnson (Winter 2001–2002). "फॉरवर्ड एरर-करेक्शन कोडिंग". Crosslink. The Aerospace Corporation. 3 (1). Archived from the original on 14 March 2012. Retrieved 5 March 2006.
त्रुटि सुधार कोड कैसे काम करते हैं
{{cite journal}}
: External link in
(help)|quote=
- ↑ "Hamming codes for NAND flash memory devices" Archived 21 August 2016 at the Wayback Machine. EE Times-Asia. Apparently based on "Micron Technical Note TN-29-08: Hamming Codes for NAND Flash Memory Devices". 2005. Both say: "The Hamming algorithm is an industry-accepted method for error detection and correction in many SLC NAND flash-based applications."
- ↑ 6.0 6.1 "फ्लैश मेमोरी पर किस प्रकार के ईसीसी का उपयोग किया जाना चाहिए?" (Application note). Spansion. 2011.
रीड-सोलोमन एल्गोरिदम और बीसीएच एल्गोरिदम दोनों एमएलसी नंद फ्लैश के लिए सामान्य ईसीसी विकल्प हैं। ... हैमिंग आधारित ब्लॉक कोड एसएलसी के लिए सबसे अधिक उपयोग किए जाने वाले ईसीसी हैं... रीड-सोलोमन और बीसीएच दोनों ही कई त्रुटियों को संभालने में सक्षम हैं और एमएलसी फ्लैश पर व्यापक रूप से उपयोग किए जाते हैं।
- ↑ Jim Cooke (August 2007). "नंद फ्लैश मेमोरी के असुविधाजनक सत्य" (PDF). p. 28.
एसएलसी के लिए, 1 की सुधार सीमा वाला कोड पर्याप्त है। t=4 आवश्यक ... MLC के लिए.
- ↑ Baldi, M.; Chiaraluce, F. (2008). "मल्टीमीडिया प्रसारण में बीसीएच और आरएस कोड के विश्वास प्रचार डिकोडिंग के लिए एक सरल योजना". International Journal of Digital Multimedia Broadcasting. 2008: 1–12. doi:10.1155/2008/957846.
- ↑ Shah, Gaurav; Molina, Andres; Blaze, Matt (2006). "कीबोर्ड और गुप्त चैनल". USENIX. Retrieved 20 December 2018.
- ↑ Tse, David; Viswanath, Pramod (2005), Fundamentals of Wireless Communication, Cambridge University Press, UK
- ↑ Shannon, C. E. (1948). "संचार का एक गणितीय सिद्धांत" (PDF). Bell System Technical Journal. 27 (3–4): 379–423 & 623–656. doi:10.1002/j.1538-7305.1948.tb01338.x. hdl:11858/00-001M-0000-002C-4314-2.
- ↑ Rosas, F.; Brante, G.; Souza, R. D.; Oberli, C. (2014). "ऊर्जा-कुशल वायरलेस संचार प्राप्त करने के लिए कोड दर का अनुकूलन". Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC). pp. 775–780. doi:10.1109/WCNC.2014.6952166. ISBN 978-1-4799-3083-8.
- ↑ IEEE Standard, section 20.3.11.6 "802.11n-2009" Archived 3 February 2013 at the Wayback Machine, IEEE, 29 October 2009, accessed 21 March 2011.
- ↑ 14.0 14.1 Vucetic, B.; Yuan, J. (2000). टर्बो कोड: सिद्धांत और अनुप्रयोग. Springer Verlag. ISBN 978-0-7923-7868-6.
- ↑ Luby, Michael; Mitzenmacher, M.; Shokrollahi, A.; Spielman, D.; Stemann, V. (1997). "प्रैक्टिकल लॉस-रेसिलिएंट कोड". Proc. 29th Annual Association for Computing Machinery (ACM) Symposium on Theory of Computation.
- ↑ "डिजिटल वीडियो प्रसारण (डीवीबी); ब्रॉडकास्टिंग, इंटरएक्टिव सर्विसेज, न्यूज गैदरिंग और अन्य सैटेलाइट ब्रॉडबैंड एप्लिकेशन (DVB-S2) के लिए दूसरी पीढ़ी की फ्रेमिंग संरचना, चैनल कोडिंग और मॉड्यूलेशन सिस्टम". En 302 307. ETSI (V1.2.1). April 2009.
- ↑ Andrews, K. S.; Divsalar, D.; Dolinar, S.; Hamkins, J.; Jones, C. R.; Pollara, F. (November 2007). "डीप-स्पेस एप्लिकेशन के लिए टर्बो और एलडीपीसी कोड का विकास". Proceedings of the IEEE. 95 (11): 2142–2156. doi:10.1109/JPROC.2007.905132. S2CID 9289140.
- ↑ Dolinar, S.; Divsalar, D. (15 August 1995). "यादृच्छिक और गैर-यादृच्छिक क्रमपरिवर्तन का उपयोग करके टर्बो कोड के लिए भार वितरण". TDA Progress Report. 122: 42–122. Bibcode:1995TDAPR.122...56D. CiteSeerX 10.1.1.105.6640.
- ↑ Takeshita, Oscar (2006). "क्रमपरिवर्तन बहुपद इंटरलीवर्स: एक बीजगणितीय-ज्यामितीय परिप्रेक्ष्य". IEEE Transactions on Information Theory. 53 (6): 2116–2132. arXiv:cs/0601048. Bibcode:2006cs........1048T. doi:10.1109/TIT.2007.896870. S2CID 660.
- ↑ 3GPP TS 36.212, version 8.8.0, page 14
- ↑ "डिजिटल वीडियो प्रसारण (डीवीबी); दूसरी पीढ़ी के डिजिटल स्थलीय टेलीविजन प्रसारण प्रणाली (DVB-T2) के लिए फ़्रेम संरचना, चैनल कोडिंग और मॉड्यूलेशन". En 302 755. ETSI (V1.1.1). September 2009.
- ↑ Techie (3 June 2010). "इंटरलीविंग की व्याख्या करना". W3 Techie Blog. Retrieved 3 June 2010.
- ↑ Krastanov, Stefan; Jiang, Liang (8 September 2017). "स्टेबलाइजर कोड्स के लिए डीप न्यूरल नेटवर्क प्रोबेबिलिस्टिक डिकोडर". Scientific Reports. 7 (1): 11003. arXiv:1705.09334. Bibcode:2017NatSR...711003K. doi:10.1038/s41598-017-11266-1. PMC 5591216. PMID 28887480.
- ↑ Nordstrom, A.W.; Robinson, J.P. (1967), "An optimum nonlinear code", Information and Control, 11 (5–6): 613–616, doi:10.1016/S0019-9958(67)90835-2
- ↑ Perry, Jonathan; Balakrishnan, Hari; Shah, Devavrat (2011). "रेटलेस स्पाइनल कोड्स". Proceedings of the 10th ACM Workshop on Hot Topics in Networks. pp. 1–6. doi:10.1145/2070562.2070568. hdl:1721.1/79676. ISBN 9781450310598.
आगे की पढाई
- MacWilliams, Florence Jessiem; Sloane, Neil James Alexander (2007) [1977]. Written at AT&T Shannon Labs, Florham Park, New Jersey, USA. The Theory of Error-Correcting Codes. North-Holland Mathematical Library. Vol. 16 (digital print of 12th impression, 1st ed.). Amsterdam / London / New York / Tokyo: North-Holland / Elsevier BV. ISBN 978-0-444-85193-2. LCCN 76-41296. (xxii+762+6 pages)
- Clark, Jr., George C.; Cain, J. Bibb (1981). Error-Correction Coding for Digital Communications. New York, USA: Plenum Press. ISBN 0-306-40615-2.
- Arazi, Benjamin (1987). Swetman, Herb (ed.). A Commonsense Approach to the Theory of Error Correcting Codes. MIT Press Series in Computer Systems. Vol. 10 (1 ed.). Cambridge, Massachusetts, USA / London, UK: Massachusetts Institute of Technology. ISBN 0-262-01098-4. LCCN 87-21889. (x+2+208+4 pages)
- Wicker, Stephen B. (1995). Error Control Systems for Digital Communication and Storage. Englewood Cliffs, New Jersey, USA: Prentice-Hall. ISBN 0-13-200809-2.
- Wilson, Stephen G. (1996). Digital Modulation and Coding. Englewood Cliffs, New Jersey, USA: Prentice-Hall. ISBN 0-13-210071-1.
- "Error Correction Code in Single Lईवीel Cell NAND Flash memories" 2007-02-16
- "Error Correction Code in NAND Flash memories" 2004-11-29
- Observations on Errors, Corrections, & Trust of Dependent Systems, by James Hamilton, 2012-02-26
- Sphere Packings, Lattices and Groups, By J. H. Conway, Neil James Alexander Sloane, Springer Science & Business Media, 2013-03-09 – Mathematics – 682 pages.
बाहरी कड़ियाँ
- Morelos-Zaragoza, Robert (2004). "The Correcting Codes (ECC) Page". Retrieved 5 March 2006.
- lpdec: library for LP decoding and related things (Python)