Coding theory: Difference between revisions

Content deleted Content added
Tags: Reverted Visual edit
rv test edit; Undid revision 1167998395 by Karan B Pokale (talk)
Line 23:
[[Error detection and correction|Error correction]] adds useful [[Redundancy (information theory)|redundancy]] to the data from a source to make the transmission more robust to disturbances present on the transmission channel. The ordinary user may not be aware of many applications using error correction. A typical [[Compact Disc Digital Audio|music compact disc]] (CD) uses the [[Reed–Solomon code]] to correct for scratches and dust. In this application the transmission channel is the CD itself. Cell phones also use coding techniques to correct for the [[fading]] and noise of high frequency radio transmission. Data modems, telephone transmissions, and the [[NASA Deep Space Network]] all employ channel coding techniques to get the bits through, for example the [[turbo code]] and [[LDPC code]]s.<!--Kvng RTH-->
 
=='''''<u>History of coding theory</u>'''''==
In 1948, [[Claude Shannon]] published "[[A Mathematical Theory of Communication]]", an article in two parts in the July and October issues of the ''Bell System Technical Journal''. This work focuses on the problem of how best to encode the [[information]] a sender wants to transmit. In this fundamental work he used tools in probability theory, developed by [[Norbert Wiener]], which were in their nascent stages of being applied to communication theory at that time. Shannon developed [[information entropy]] as a measure for the uncertainty in a message while essentially inventing the field of [[information theory]].
 
Line 32:
In 1972, [[N. Ahmed|Nasir Ahmed]] proposed the [[discrete cosine transform]] (DCT), which he developed with T. Natarajan and [[K. R. Rao]] in 1973.<ref name="Ahmed">{{cite web|url=https://www.scribd.com/doc/52879771/DCT-History|title=How I Came Up With the Discrete Cosine Transform|author=Nasir Ahmed|publisher = Digital Signal Processing, Vol. 1, Iss. 1, 1991, pp. 4-5|author-link=N. Ahmed}}</ref> The DCT is the most widely used [[lossy compression]] algorithm, the basis for multimedia formats such as [[JPEG]], [[MPEG]] and [[MP3]].
 
=='''''<u>Source coding</u>'''''==
{{main|Data compression}}
 
Line 77:
[[FAX|Facsimile]] transmission uses a simple [[Run-length encoding|run length code]]. Source coding removes all data superfluous to the need of the transmitter, decreasing the bandwidth required for transmission.
 
=='''''<u>Channel coding</u>'''''==
{{main|Error detection and correction}}
 
Line 91:
Other codes are more appropriate for different applications. Deep space communications are limited by the [[thermal noise]] of the receiver which is more of a continuous nature than a bursty nature. Likewise, narrowband modems are limited by the noise, present in the telephone network and also modeled better as a continuous disturbance.{{Citation needed|date=July 2008}} Cell phones are subject to rapid [[fading]]. The high frequencies used can cause rapid fading of the signal even if the receiver is moved a few inches. Again there are a class of channel codes that are designed to combat fading.{{Citation needed|date=July 2008}}
 
===<u>Linear codes</u>===
{{Main|Linear code}}
The term '''algebraic coding theory''' denotes the sub-field of coding theory where the properties of codes are expressed in algebraic terms and then further researched.{{Citation needed|date=July 2008}}
Line 128:
# [[Hamming bound|Perfect codes]]
 
Block codes are tied to the [[sphere packing]] problem, which has received some attention over the years. In two dimensions, it is easy to visualize. Take a bunch of pennies flat on the table and push them together. The result is a hexagon pattern like a bee's nest. But block codes rely on more dimensions which cannot easily be visualized. The powerful (24,12) [[Binary Golay code|Golay code]] used in deep space communications uses 24 dimensions. If used as a binary code (which it usually is) the dimensions refer to the length of the code wordcodeword as defined above.
 
The theory of coding uses the ''N''-dimensional sphere model. For example, how many pennies can be packed into a circle on a tabletop, or in 3 dimensions, how many marbles can be packed into a globe. Other considerations enter the choice of a code. For example, hexagon packing into the constraint of a rectangular box will leave empty space at the corners. As the dimensions get larger, the percentage of empty space grows smaller. But at certain dimensions, the packing uses all the space and these codes are the so-called "perfect" codes. The only nontrivial and useful perfect codes are the distance-3 Hamming codes with parameters satisfying (2<sup>''r''</sup> – 1, 2<sup>''r''</sup> – 1 – ''r'', 3), and the [23,12,7] binary and [11,6,5] ternary Golay codes.<ref name=terras>
Line 134:
</ref>
 
Another code property is the number of neighbors that a single code wordcodeword may have.<ref name=schlegel>
{{cite book
| title = Trellis and turbo coding
Line 160:
Convolutional codes are used in voiceband modems (V.32, V.17, V.34) and in GSM mobile phones, as well as satellite and military communication devices.
 
== '''''<u>Cryptographic coding</u>''''' ==
{{main|Cryptography}}
[[Cryptography]] or cryptographic coding is the practice and study of techniques for [[secure communication]] in the presence of third parties (called [[adversary (cryptography)|adversaries]]).<ref name="rivest90">{{cite book|first=Ronald L.|last=Rivest|author-link=Ron Rivest|editor=J. Van Leeuwen|title=Handbook of Theoretical Computer Science|chapter=Cryptology|volume=1|publisher=Elsevier|year=1990}}</ref> More generally, it is about constructing and analyzing [[communications protocol|protocol]]s that block adversaries;<ref name="modern-crypto">{{Cite book|first1=Mihir|last1=Bellare|first2=Phillip|last2=Rogaway|title=Introduction to Modern Cryptography|chapter=Introduction|page=10|date=21 September 2005}}</ref> various aspects in [[information security]] such as data [[confidentiality]], [[data integrity]], [[authentication]], and [[non-repudiation]]<ref name="hac">{{cite book |first1=A. J. |last1=Menezes |first2=P. C. |last2=van Oorschot |first3=S. A. |last3=Vanstone |url=https://archive.org/details/handbookofapplie0000mene |title=Handbook of Applied Cryptography |isbn=978-0-8493-8523-0 |year=1997 |url-access=registration }}</ref> are central to modern cryptography. Modern cryptography exists at the intersection of the disciplines of [[mathematics]], [[computer science]], and [[electrical engineering]]. Applications of cryptography include [[automated teller machine|ATM cards]], [[password|computer passwords]], and [[electronic commerce]].
Line 168:
Modern cryptography is heavily based on mathematical theory and computer science practice; cryptographic algorithms are designed around [[computational hardness assumption]]s, making such algorithms hard to break in practice by any adversary. It is theoretically possible to break such a system, but it is infeasible to do so by any known practical means. These schemes are therefore termed computationally secure; theoretical advances, e.g., improvements in [[integer factorization]] algorithms, and faster computing technology require these solutions to be continually adapted. There exist [[Information theoretic security|information-theoretically secure]] schemes that {{not a typo|provably}} cannot be broken even with unlimited computing power—an example is the [[one-time pad]]—but these schemes are more difficult to implement than the best theoretically breakable but computationally secure mechanisms.
 
=='''''<u>Line coding</u>'''''==
{{main|Line code}}
 
Line 175:
Line coding consists of representing the [[Digital signal (electronics)|digital signal]] to be transported by an amplitude- and time-discrete signal that is optimally tuned for the specific properties of the physical channel (and of the receiving equipment). The [[waveform]] pattern of voltage or current used to represent the 1s and 0s of a digital data on a transmission link is called ''line encoding''. The common types of line encoding are [[Unipolar encoding|unipolar]], [[Polar encoding|polar]], [[Bipolar encoding|bipolar]], and [[Manchester encoding]].
 
==<u>Other applications of coding theory</u>==
{{misleading|date=August 2012}}
 
Line 195:
</ref>
 
=='''''<u>Neural coding</u>'''''==
[[Neural coding]] is a [[neuroscience]]-related field concerned with how sensory and other information is represented in the [[brain]] by [[neural network|networks]] of [[neurons]]. The main goal of studying neural coding is to characterize the relationship between the [[Stimulus (physiology)|stimulus]] and the individual or ensemble neuronal responses and the relationship among electrical activity of the neurons in the ensemble.<ref name="Brown">{{cite journal |vauthors=Brown EN, Kass RE, Mitra PP |title=Multiple neural spike train data analysis: state-of-the-art and future challenges |journal=Nature Neuroscience |volume=7 |issue=5 |pages=456–461 |date=May 2004 | url = http://www.stat.columbia.edu/~liam//teaching/neurostat-fall13/papers/brown-et-al/brown-kass-mitra.pdf |pmid=15114358 |doi=10.1038/nn1228 |s2cid=562815 }}</ref> It is thought that neurons can encode both [[Digital data|digital]] and [[analog signal|analog]] information,<ref>{{cite book |first=S.J. |last=Thorpe |chapter=Spike arrival times: A highly efficient coding scheme for neural networks |chapter-url=http://pop.cerco.ups-tlse.fr/fr_vers/documents/thorpe_sj_90_91.pdf |format=PDF |pages=91–94 |editor1-first=R. |editor1-last=Eckmiller |editor2-first=G. |editor2-last=Hartmann |editor3-first=G. |editor3-last=Hauske | editor3-link= Gert Hauske |title=Parallel processing in neural systems and computers |url=https://books.google.com/books?id=b9gmAAAAMAAJ |access-date=30 June 2013 |year=1990 |publisher=North-Holland |isbn=978-0-444-88390-2}}</ref> and that neurons follow the principles of information theory and compress information,<ref>{{cite journal |first1=T. |last1=Gedeon |first2=A.E. |last2=Parker |first3=A.G. |last3=Dimitrov |title=Information Distortion and Neural Coding |journal=Canadian Applied Mathematics Quarterly |volume=10 |issue=1 |pages=10 |date=Spring 2002 |url=http://www.math.ualberta.ca/ami/CAMQ/table_of_content/vol_10/10_1c.htm |citeseerx=10.1.1.5.6365 }}</ref> and detect and correct<ref>
{{cite journal |first=M. |last=Stiber |title=Spike timing precision and neural error correction: local behavior |journal=Neural Computation |volume=17 |issue=7 |pages=1577–1601 |date=July 2005 |doi=10.1162/0899766053723069