कोडिंग थ्योरी: Difference between revisions
From Vigyanwiki
No edit summary |
|||
| (27 intermediate revisions by 7 users not shown) | |||
| Line 1: | Line 1: | ||
[[File:Hamming.jpg|thumb|[[हैमिंग दूरी]] का द्वि-आयामी दृश्य, कोडिंग सिद्धांत में एक महत्वपूर्ण उपाय।]]'''कोडिंग थ्योरी''' विशिष्ट अनुप्रयोगों के लिए कोड के गुणों और उनकी उपयुक्तता का अध्ययन है। कोड का उपयोग डेटा संपीड़न, [[क्रिप्टोग्राफी]], त्रुटि का पता लगाने और सुधार, [[डेटा ट्रांसमिशन]] और डेटा [[आधार सामग्री भंडारण|भंडारण]] के लिए किया जाता है। कुशल और विश्वसनीय डेटा ट्रांसमिशन विधियों की रचना करने के उद्देश्य से विभिन्न वैज्ञानिक विषयों जैसे [[सूचना सिद्धांत]], [[विद्युत अभियन्त्रण]], गणित, [[भाषा विज्ञान]] और [[कंप्यूटर विज्ञान]] द्वारा कोड का अध्ययन किया जाता है। इसमें आमतौर पर अतिरेक को हटाना और संचरित डेटा में त्रुटियों का सुधार या पता लगाना सम्मिलित है। | |||
[[File:Hamming.jpg|thumb|[[हैमिंग दूरी]] का द्वि-आयामी दृश्य, कोडिंग सिद्धांत में एक महत्वपूर्ण उपाय।]] | |||
कोडिंग चार प्रकार की होती है:<ref>{{cite book | कोडिंग चार प्रकार की होती है:<ref>{{cite book | ||
| Line 11: | Line 10: | ||
</ref> | </ref> | ||
# डेटा संपीड़न (या स्रोत कोडिंग) | # डेटा संपीड़न (या स्रोत कोडिंग) | ||
# त्रुटि | # त्रुटि नियंत्रण (या माध्यम कोडिंग) | ||
# क्रिप्टोग्राफी | # क्रिप्टोग्राफी | ||
# [[लाइन कोड]] | # [[लाइन कोड]] | ||
डेटा | डेटा संपीड़न किसी स्रोत से डेटा को अधिक कुशलता से प्रसारित करने के लिए अवांछित अतिरेक को हटाने का प्रयास करता है। उदाहरण के लिए, [[ज़िप (फ़ाइल स्वरूप)|ज़िप डेटा संपीड़न]] इंटरनेट ट्रैफ़िक को कम करने जैसे उद्देश्यों के लिए डेटा फ़ाइलों को छोटा बनाता है। डेटा संपीड़न और त्रुटि सुधार का संयोजन में अध्ययन किया जा सकता है। | ||
त्रुटि का पता लगाने और सुधार ट्रांसमिशन | त्रुटि का पता लगाने और सुधार ट्रांसमिशन माध्यम पर मौजूद गड़बड़ी के लिए ट्रांसमिशन को अधिक मजबूत बनाने के लिए स्रोत से डेटा में उपयोगी [[अतिरेक (सूचना सिद्धांत)|अतिरेक]] जोड़ता है। त्रुटि सुधार का उपयोग करने वाले कई अनुप्रयोगों के बारे में सामान्य उपयोगकर्ता को पता नहीं हो सकता है। एक विशिष्ट म्यूजिक [[कॉम्पैक्ट डिस्क डिजिटल ऑडियो|कॉम्पैक्ट डिस्क]] (सीडी) खरोंच और धूल को ठीक करने के लिए रीड-सोलोमन कोड का उपयोग करता है। इस एप्लिकेशन में ट्रांसमिशन माध्यम सीडी ही है। उच्च आवृत्ति रेडियो प्रसारण के लुप्त होने और शोर को ठीक करने के लिए सेल फोन भी कोडिंग तकनीकों का उपयोग करते हैं। डेटा मोडेम, टेलीफोन प्रसारण, और [[नासा डीप स्पेस नेटवर्क]] सभी बिट्स प्राप्त करने के लिए माध्यम कोडिंग तकनीकों को नियोजित करते हैं, उदाहरण के लिए [[टर्बो कोड]] और [[एलडीपीसी कोड]]। | ||
== कोडिंग थ्योरी का इतिहास == | |||
1948 में, [[क्लाउड शैनन]] ने बेल सिस्टम टेक्निकल जर्नल के जुलाई और अक्टूबर के अंक में दो भागों में एक लेख, [[संचार का एक गणितीय सिद्धांत]] प्रकाशित किया। यह कार्य इस समस्या पर केंद्रित है कि एक प्रेषक जिस सूचना को संचारित करना चाहता है, उसे कैसे सर्वोत्तम तरीके से एन्कोड किया जाए। इस मूलभूत कार्य में उन्होंने [[नॉर्बर्ट वीनर]] द्वारा विकसित संभाव्यता सिद्धांत के साधनों का उपयोग किया, जो उस समय संचार सिद्धांत लागू होने के अपने शुरुआती चरणों में थे। शैनन ने सूचना सिद्धांत के क्षेत्र का अनिवार्य रूप से आविष्कार करते हुए संदेश में अनिश्चितता के उपाय के रूप में [[सूचना एन्ट्रापी]] विकसित की। | |||
== कोडिंग | |||
1948 में, [[क्लाउड शैनन]] ने बेल सिस्टम टेक्निकल जर्नल के जुलाई और अक्टूबर के अंक में दो भागों में एक लेख, [[संचार का एक गणितीय सिद्धांत]] प्रकाशित किया। यह कार्य इस समस्या पर केंद्रित है कि एक प्रेषक जिस सूचना को संचारित करना चाहता है, उसे कैसे सर्वोत्तम तरीके से एन्कोड किया जाए। इस मूलभूत कार्य में उन्होंने [[नॉर्बर्ट वीनर]] द्वारा विकसित संभाव्यता सिद्धांत | |||
[[बाइनरी भाषा में कोड]] 1949 में विकसित किया गया था। यह एक त्रुटि-सुधार कोड है जो प्रत्येक 24-बिट शब्द में तीन त्रुटियों को ठीक करने और चौथे का पता लगाने में सक्षम है। | [[बाइनरी भाषा में कोड]] 1949 में विकसित किया गया था। यह एक त्रुटि-सुधार कोड है जो प्रत्येक 24-बिट शब्द में तीन त्रुटियों को ठीक करने और चौथे का पता लगाने में सक्षम है। | ||
| Line 27: | Line 24: | ||
[[रिचर्ड हैमिंग]] ने 1968 में [[बेल लैब्स]] में संख्यात्मक तरीकों, स्वचालित कोडिंग सिस्टम, और त्रुटि-पता लगाने और त्रुटि-सुधार कोड में अपने काम के लिए [[ट्यूरिंग अवार्ड]] जीता। उन्होंने [[हैमिंग कोड]], [[हैमिंग विंडो]], [[हैमिंग नंबर]] और हैमिंग दूरी के रूप में जानी जाने वाली अवधारणाओं का आविष्कार किया। | [[रिचर्ड हैमिंग]] ने 1968 में [[बेल लैब्स]] में संख्यात्मक तरीकों, स्वचालित कोडिंग सिस्टम, और त्रुटि-पता लगाने और त्रुटि-सुधार कोड में अपने काम के लिए [[ट्यूरिंग अवार्ड]] जीता। उन्होंने [[हैमिंग कोड]], [[हैमिंग विंडो]], [[हैमिंग नंबर]] और हैमिंग दूरी के रूप में जानी जाने वाली अवधारणाओं का आविष्कार किया। | ||
1972 में, एन. अहमद ने असतत कोज्या परिवर्तन ( | 1972 में, एन. अहमद ने असतत कोज्या परिवर्तन (डीसीटी) का प्रस्ताव रखा, जिसे उन्होंने 1973 में टी. नटराजन और के.आर. राव के साथ विकसित किया।<ref name="Ahmed">{{cite web|url=https://www.scribd.com/doc/52879771/DCT-History|title=मैं असतत कोसाइन परिवर्तन के साथ कैसे आया|author=Nasir Ahmed|publisher = Digital Signal Processing, Vol. 1, Iss. 1, 1991, pp. 4-5|author-link=N. Ahmed}}</ref> डीसीटी सबसे व्यापक रूप से इस्तेमाल किया जाने वाला लॉसी संपीड़न एल्गोरिदम है, जो [[जेपीईजी]], एमपीईजी और एमपी3 जैसे मल्टीमीडिया प्रारूपों का आधार है। | ||
== स्रोत कोडिंग == | == स्रोत कोडिंग == | ||
{{main| | {{main|आधार - सामग्री संकोचन}}[[बेचा]]{{main|आधार - सामग्री संकोचन}} | ||
स्रोत कोडिंग का उद्देश्य स्रोत डेटा लेना और उसे छोटा करना है। | स्रोत कोडिंग का उद्देश्य स्रोत डेटा लेना और उसे छोटा करना है। | ||
=== परिभाषा === | === परिभाषा === | ||
डेटा को एक यादृच्छिक चर के रूप में देखा जा सकता है <math>X:\Omega\to\mathcal{X}</math>, | डेटा को एक यादृच्छिक चर के रूप में देखा जा सकता है <math>X:\Omega\to\mathcal{X}</math>, जहाँ पे <math>x \in \mathcal{X}</math> संभावना <math>\mathbb{P}[X=x]</math> से प्रकट होता है| | ||
डेटा | डेटा [[वर्णमाला (कंप्यूटर विज्ञान)|वर्णमाला <math>\Sigma</math>]] पर स्ट्रिंग्स (शब्दों) द्वारा एन्कोड किया गया है| | ||
कोड एक फलन है | |||
:<math>C:\mathcal{X}\to\Sigma^*</math> (या <math>\Sigma^+</math> अगर खाली स्ट्रिंग वर्णमाला का हिस्सा नहीं है)। | :<math>C:\mathcal{X}\to\Sigma^*</math> (या <math>\Sigma^+</math> अगर खाली स्ट्रिंग वर्णमाला का हिस्सा नहीं है)। | ||
<math>C(x)</math> से जुड़ा कोड वर्ड | <math>C(x)</math> से जुड़ा कोड वर्ड <math>x</math> है | | ||
कूट शब्द की लंबाई | कूट शब्द की लंबाई इस रूप में लिखी जाती है | ||
:<math>l(C(x)).</math> | :<math>l(C(x)).</math> | ||
कोड की अपेक्षित लंबाई है | |||
:<math>l(C) = \sum_{x\in\mathcal{X}}l(C(x))\mathbb{P}[X=x] .</math> | :<math>l(C) = \sum_{x\in\mathcal{X}}l(C(x))\mathbb{P}[X=x] .</math> | ||
| Line 55: | Line 52: | ||
:<math>C(\epsilon) = \epsilon</math> | :<math>C(\epsilon) = \epsilon</math> | ||
=== गुण === | === गुण === | ||
# <math>C:\mathcal{X}\to\Sigma^*</math> | # <math>C:\mathcal{X}\to\Sigma^*</math> गैर-एकवचन अगर [[इंजेक्शन समारोह|अंत:क्षेपक है।]] | ||
# <math>C:\mathcal{X}^*\to\Sigma^*</math> | # <math>C:\mathcal{X}^*\to\Sigma^*</math>विशिष्ट रूप से डिकोड करने योग्य कोड यदि अंत:क्षेपक है। | ||
# <math>C:\mathcal{X}\to\Sigma^*</math> | # <math>C:\mathcal{X}\to\Sigma^*</math> तात्कालिक यदि <math>C(x_1)</math>, <math>C(x_2)</math>का उपसर्ग नहीं है (और इसके विपरीत भी)। | ||
=== | === थ्योरी === | ||
किसी स्रोत की एन्ट्रापी | किसी स्रोत की एन्ट्रापी सूचना का माप है। मूल रूप से, स्रोत कोड स्रोत में मौजूद अतिरेक को कम करने का प्रयास करते हैं, और स्रोत का प्रतिनिधित्व कम से कम बिट्स में करते हैं जो अधिक जानकारी रखते हैं। | ||
डेटा संपीड़न जो स्पष्ट रूप से एक विशेष अनुमानित संभाव्यता मॉडल के अनुसार संदेशों की औसत लंबाई को कम करने की कोशिश करता है, [[एन्ट्रापी एन्कोडिंग]] कहलाता है। | डेटा संपीड़न जो स्पष्ट रूप से एक विशेष अनुमानित संभाव्यता मॉडल के अनुसार संदेशों की औसत लंबाई को कम करने की कोशिश करता है, [[एन्ट्रापी एन्कोडिंग]] कहलाता है। | ||
| Line 70: | Line 65: | ||
=== उदाहरण === | === उदाहरण === | ||
[[फैक्स]] ट्रांसमिशन एक साधारण [[रन-लेंथ एन्कोडिंग]] का उपयोग करता है। स्रोत कोडिंग ट्रांसमीटर की आवश्यकता के लिए अनावश्यक सभी डेटा को हटा देता है, जिससे ट्रांसमिशन के लिए आवश्यक बैंडविड्थ कम हो जाती है। | [[फैक्स]] ट्रांसमिशन एक साधारण [[रन-लेंथ एन्कोडिंग|रन-लेंथ कोड]] का उपयोग करता है। स्रोत कोडिंग ट्रांसमीटर की आवश्यकता के लिए अनावश्यक सभी डेटा को हटा देता है, जिससे ट्रांसमिशन के लिए आवश्यक बैंडविड्थ कम हो जाती है। | ||
== | == माध्यम कोडिंग == | ||
{{main| | {{main|त्रुटि का पता लगाना और सुधार}} | ||
माध्यम कोडिंग थ्योरी का उद्देश्य उन कोडों का पता लगाना है जो शीघ्रता से प्रसारित होते हैं, जिनमें कई मान्य [[कोड शब्द]] होते हैं और कम से कम त्रुटि का पता लगाने में कई त्रुटियों को ठीक कर सकते हैं। जबकि परस्पर अनन्य नहीं है, इन क्षेत्रों में प्रदर्शन एक समझौता है। इसलिए, अलग-अलग अनुप्रयोगों के लिए अलग-अलग कोड इष्टतम हैं। इस कोड के आवश्यक गुण मुख्य रूप से संचरण के दौरान होने वाली त्रुटियों की संभावना पर निर्भर करते हैं। एक विशिष्ट सीडी में, हानि मुख्य रूप से धूल या खरोंच होती है। | |||
डिस्क पर डेटा को | डिस्क पर डेटा को लिखने के लिए सीडी क्रॉस-इंटरलीव्ड रीड-सोलोमन कोडिंग का उपयोग करती हैं।<ref> | ||
Todd Campbell. | Todd Campbell. | ||
[https://abcnews.go.com/Technology/story?id=119305&page=1 "Answer Geek: Error Correction Rule CDs"]. | [https://abcnews.go.com/Technology/story?id=119305&page=1 "Answer Geek: Error Correction Rule CDs"]. | ||
</ref> | </ref> | ||
हालांकि यह बहुत अच्छा कोड नहीं है, एक साधारण दोहराव वाला कोड समझने योग्य उदाहरण के रूप में काम कर सकता है। मान लीजिए हम डेटा बिट्स का एक ब्लॉक लेते हैं और इसे तीन बार भेजते हैं। रिसीवर पर हम तीन दोहरावों की बिट दर बिट जांच करते हैं और बहुमत वोट लेते हैं। इसमें समस्या यह है कि हम केवल बिट्स को क्रम में नहीं भेजते हैं बल्कि हम उन्हें निकालते भी हैं। डेटा बिट समूह को पहले 4 छोटे समूहों में बांटा जाता है। फिर हम समूह के बिट भेजने का सिलसिला शुरू करते हैं और पहले एक बिट भेजते हैं, फिर दूसरा, आदि। यह डिस्क की सतह पर डेटा को लिखने के लिए तीन बार किया जाता है। सरल दोहराने वाले कोड के संदर्भ में, यह प्रभावी प्रतीत नहीं हो सकता है। हालांकि, अधिक शक्तिशाली कोड ज्ञात हैं जो इस इंटरलीविंग तकनीक का उपयोग करते समय खरोंच या धूल के धब्बे की बौछार त्रुटि को ठीक करने में बहुत प्रभावी होते हैं। | |||
अन्य कोड विभिन्न अनुप्रयोगों के लिए अधिक उपयुक्त हैं। गहन अंतरिक्ष संचार, रिसीवर के [[थर्मल शोर]] से सीमित होते हैं जो बौछार वाली प्रकृति की तुलना में निरंतर प्रकृति का होता है। इसी तरह, नैरोबैंड मोडेम टेलीफोन नेटवर्क में मौजूद शोर से सीमित होते हैं और निरंतर गड़बड़ी के रूप में भी बेहतर तरीके से तैयार किए जाते हैं। सेल फोन रैपिड फेडिंग के अधीन होते हैं। उच्च आवृत्तियाँ का उपयोग, सिग्नल के रैपिड फेडिंग होने का कारण बन सकती हैं, भले ही रिसीवर कुछ इंच आगे बढ़ जाए। फिर से माध्यम कोड का एक वर्ग है जो कॉम्बैट फेडिंग के लिए डिज़ाइन किया गया है। | |||
=== रैखिक कोड === | |||
{{Main|रैखिक कोड}} | |||
बीजगणितीय कोडिंग थ्योरी शब्द कोडिंग थ्योरी के उप-क्षेत्र को दर्शाता है जहां कोड के गुणों को बीजगणितीय पदों में व्यक्त किया जाता है और फिर आगे शोध किया जाता है। | |||
बीजगणितीय कोडिंग थ्योरी को मूल रूप से दो प्रमुख प्रकार के कोड में विभाजित किया गया है: | |||
बीजगणितीय कोडिंग | |||
* रैखिक ब्लॉक कोड | * रैखिक ब्लॉक कोड | ||
* | * कोंवोलुशनल कोड | ||
यह कोड के निम्नलिखित तीन गुणों का विश्लेषण करता है - मुख्य रूप से: | यह कोड के निम्नलिखित तीन गुणों का विश्लेषण करता है - मुख्य रूप से: | ||
* कोड शब्द की लंबाई | * कोड शब्द की लंबाई | ||
* मान्य कोड शब्दों की कुल संख्या | * मान्य कोड शब्दों की कुल संख्या | ||
* मुख्य रूप से हैमिंग [[दूरी]] का उपयोग करते हुए दो वैध कोड शब्दों के बीच न्यूनतम दूरी, कभी-कभी [[ली दूरी]] जैसी अन्य दूरी भी | * मुख्य रूप से हैमिंग [[दूरी]] का उपयोग करते हुए दो वैध कोड शब्दों के बीच न्यूनतम दूरी, कभी-कभी [[ली दूरी|ली-दूरी]] जैसी अन्य दूरी भी | ||
==== रैखिक ब्लॉक कोड ==== | ==== रैखिक ब्लॉक कोड ==== | ||
{{Main| | {{Main|ब्लॉक कोड}} | ||
रैखिक ब्लॉक कोड में [[रैखिकता]] का गुण होता है, अर्थात किन्हीं दो कोडवर्ड का योग भी एक कोड शब्द होता है, और उन्हें ब्लॉक में स्रोत बिट्स पर लागू किया जाता है, इसलिए नाम रैखिक ब्लॉक कोड होता है। ऐसे ब्लॉक कोड हैं जो रैखिक नहीं हैं, लेकिन यह साबित करना मुश्किल है कि इस | रैखिक ब्लॉक कोड में [[रैखिकता]] का गुण होता है, अर्थात किन्हीं दो कोडवर्ड का योग भी एक कोड शब्द होता है, और उन्हें ब्लॉक में स्रोत बिट्स पर लागू किया जाता है, इसलिए नाम रैखिक ब्लॉक कोड होता है। ऐसे ब्लॉक कोड भी हैं जो रैखिक नहीं हैं, लेकिन यह साबित करना मुश्किल है कि इस विशेषता के बिना कोई कोड अच्छा है या नहीं।<ref name=terras/> | ||
रेखीय ब्लॉक कोड को उनके प्रतीक अक्षर (जैसे, बाइनरी या टर्नरी) और पैरामीटर ( | रेखीय ब्लॉक कोड को उनके प्रतीक अक्षर (जैसे, बाइनरी या टर्नरी) और पैरामीटर (''n'',''m'',''d<sub>min</sub>'') द्वारा संक्षेपित किया जाता है <ref name=blahut/> जहाँ पर | ||
# n कोडवर्ड की लंबाई है, प्रतीकों में, | # n कोडवर्ड की लंबाई है, प्रतीकों में, | ||
# | # m स्रोत प्रतीकों की संख्या है जो एक बार में एन्कोडिंग के लिए उपयोग की जाएगी, | ||
# | # ''d<sub>min</sub>'' कोड के लिए न्यूनतम हैमिंग दूरी है। | ||
कई प्रकार के रैखिक ब्लॉक कोड हैं, जैसे | कई प्रकार के रैखिक ब्लॉक कोड हैं, जैसे | ||
| Line 111: | Line 106: | ||
# [[चक्रीय कोड]] (जैसे, हैमिंग कोड) | # [[चक्रीय कोड]] (जैसे, हैमिंग कोड) | ||
# पुनरावृत्ति कोड | # पुनरावृत्ति कोड | ||
# [[समता द्वियक]] | # [[समता द्वियक|समतुल्य कोड]] | ||
# [[बहुपद कोड]] (जैसे, | # [[बहुपद कोड]] (जैसे, बीसीएच कोड) | ||
# | # रीड-सोलोमन कोड | ||
# [[बीजगणितीय ज्यामितीय कोड]] | # [[बीजगणितीय ज्यामितीय कोड]] | ||
# रीड-मुलर कोड | # रीड-मुलर कोड | ||
# [[हैमिंग बाध्य]] | # [[हैमिंग बाध्य|संपन्न कोड]] | ||
ब्लॉक कोड [[गोलाकार पैकिंग]] समस्या से जुड़े हैं, जिस पर पिछले कुछ वर्षों में कुछ ध्यान दिया गया है। दो आयामों में, कल्पना करना आसान है। टेबल पर | ब्लॉक कोड [[गोलाकार पैकिंग|स्फीयर पैकिंग]] समस्या से जुड़े हैं, जिस पर पिछले कुछ वर्षों में कुछ ध्यान दिया गया है। दो आयामों में, कल्पना करना आसान है। टेबल पर सिक्कों का गुच्छा लें और उन्हें एक साथ बिखेर दें। नतीजा मधुमक्खी के घोंसले की तरह एक हेक्सागोन पैटर्न है। लेकिन ब्लॉक कोड अधिक आयामों पर निर्भर करते हैं जिन्हें आसानी से नहीं देखा जा सकता है। गहरे अंतरिक्ष संचार में प्रयुक्त शक्तिशाली (24,12) बाइनरी गोले कोड 24 आयामों का उपयोग करता है। यदि एक बाइनरी कोड के रूप में उपयोग किया जाता है (जो कि यह आमतौर पर होता है) तो आयाम कोडवर्ड की लंबाई को संदर्भित करते हैं जैसा कि ऊपर परिभाषित किया गया है। | ||
कोडिंग का सिद्धांत | कोडिंग का सिद्धांत N-आयामी गोलाकार मॉडल का उपयोग करता है। उदाहरण के लिए, टेबलटॉप पर एक सर्कल में कितने सिक्के पैक किए जा सकते हैं, या 3 आयामों में कितने कंचे ग्लोब में पैक किए जा सकते हैं। अन्य विचार एक कोड की पसंद दर्शाते करते हैं। उदाहरण के लिए, आयताकार बॉक्स की सीमा में हेक्सागोन पैकिंग कोनों पर खाली जगह छोड़ देगी। जैसे-जैसे आयाम बड़े होते जाते हैं, रिक्त स्थान का प्रतिशत छोटा होता जाता है। लेकिन कुछ आयामों पर, पैकिंग सभी जगह का उपयोग करती है और ये कोड तथाकथित [[हैमिंग बाध्य|संपन्न]] कोड होते हैं। केवल अतुच्छ और उपयोगी [[हैमिंग बाध्य|संपन्न]] कोड दूरी -3 हैमिंग कोड हैं जो पैरामीटर संतोषजनक (2r - 1, 2r - 1 - r, 3), और [23,12,7] बाइनरी और [11,6,5] टर्नरी गोले-कोड के साथ हैं।<sup><ref name="terras"> | ||
{{cite book | title = Fourier Analysis on Finite Groups and Applications |first=Audrey |last=Terras |author-link=Audrey Terras| publisher = [[Cambridge University Press]] | year = 1999 | isbn = 978-0-521-45718-7 | url = https://archive.org/details/fourieranalysiso0000terr | url-access = registration | page = [https://archive.org/details/fourieranalysiso0000terr/page/195 195] }}</ref><ref name=blahut>{{cite book |title = डेटा ट्रांसमिशन के लिए बीजगणितीय कोड|first=Richard E. |last=Blahut | publisher = Cambridge University Press | year = 2003 | isbn = 978-0-521-55374-2 | url = https://books.google.com/books?id=n0XHMY58tL8C&pg=PA60}} | {{cite book | title = Fourier Analysis on Finite Groups and Applications |first=Audrey |last=Terras |author-link=Audrey Terras| publisher = [[Cambridge University Press]] | year = 1999 | isbn = 978-0-521-45718-7 | url = https://archive.org/details/fourieranalysiso0000terr | url-access = registration | page = [https://archive.org/details/fourieranalysiso0000terr/page/195 195] }}</ref><ref name="blahut">{{cite book |title = डेटा ट्रांसमिशन के लिए बीजगणितीय कोड|first=Richard E. |last=Blahut | publisher = Cambridge University Press | year = 2003 | isbn = 978-0-521-55374-2 | url = https://books.google.com/books?id=n0XHMY58tL8C&pg=PA60}} | ||
</ref> | </ref> | ||
एक अन्य कोड गुण पड़ोसियों की संख्या है जो एक एकल कोडवर्ड हो सकता है।<ref name=schlegel> | |||
<sup><big>एक अन्य कोड गुण पड़ोसियों की संख्या है जो एक एकल कोडवर्ड हो सकता है।<ref name="schlegel"> | |||
{{cite book | {{cite book | ||
| title = Trellis and turbo coding | | title = Trellis and turbo coding | ||
| Line 131: | Line 127: | ||
| page = 73 | | page = 73 | ||
| url = https://books.google.com/books?id=9wRCjfGAaEcC&pg=PA73 | | url = https://books.google.com/books?id=9wRCjfGAaEcC&pg=PA73 | ||
}}</ref> | }}</ref><sup>एक उदाहरण के रूप में फिर से सिक्कों पर विचार करें। पहले हम सिक्के को एक आयताकार ग्रिड में पैक करते हैं। प्रत्येक सिक्के में 4 निकटवर्ती पड़ोसी होंगे (और 4 कोनों पर जो दूर हैं)। एक षट्भुज में, प्रत्येक सिक्के में 6 निकट पड़ोसी होंगे। जब हम आयाम बढ़ाते हैं तो निकट पड़ोसियों की संख्या बहुत तेजी से बढ़ती है। नतीजा यह है कि रिसीवर को पड़ोसी चुनने के लिए शोर के तरीकों की संख्या (इसलिए एक त्रुटि) भी बढ़ती है। यह ब्लॉक कोड और वास्तव में सभी कोड की मूलभूत सीमा है। किसी एक पड़ोसी के लिए त्रुटि करना कठिन हो सकता है, लेकिन पड़ोसियों की संख्या काफी बड़ी हो सकती है, इसलिए कुल त्रुटि संभावना वास्तव में समस्या होती है।<ref name="schlegel" /></big> | ||
एक उदाहरण के रूप में फिर से | |||
कई अनुप्रयोगों में रैखिक ब्लॉक कोड के गुणों का उपयोग किया जाता है। उदाहरण के लिए, रेखीय ब्लॉक कोड के सिंड्रोम-कोसेट विशिष्टता गुण का उपयोग ट्रेलिस | कई अनुप्रयोगों में रैखिक ब्लॉक कोड के गुणों का उपयोग किया जाता है। उदाहरण के लिए, रेखीय ब्लॉक कोड के सिंड्रोम-कोसेट विशिष्टता गुण का उपयोग ट्रेलिस शेपिंग, सबसे प्रचलित [[आकार देने वाले कोड]] में से एक, में किया जाता है,<ref>{{cite journal |first=G.D. Jr. |last=Forney |author-link=Dave Forney |title=ट्रेलिस को आकार देना|journal=IEEE Transactions on Information Theory |volume=38 |issue=2 Pt 2 |pages=281–300 |date=March 1992 |doi=10.1109/18.119687 |s2cid=37984132 }}</ref>। | ||
==== | ==== कोंवोलुशनल कोड ==== | ||
{{Main| | {{Main|कोंवोलुशनल कोड}} | ||