2016/10/21

Coding Theory

When talking about the word "code", we always naturally relate it to the region of "security". Inevitably, as the rapid development of technology, we have more chances to get in touch with "codes". In fact, besides the security, code has various applications nowadays. Coding theory is just such a branch subject of mathematics and computer science which mainly focus on the properties and applications of codes. Codes are used for data compression, cryptography, error-correction, and networking. Codes are studied by various scientific disciplines—such as information theory, electrical engineering, mathematics, linguistics, and computer science—for the purpose of designing efficient and reliable data transmission methods. This typically involves the removal of redundancy and the correction or detection of errors in the transmitted data.



The application of code can be divided into several groups. One of the main use of the code is for the error check, or error correction. Channel code is the most common type of the error correction code. The purpose of channel coding theory is to find codes which transmit quickly, contain many valid code words and can correct or at least detect many errors. While not mutually exclusive, performance in these areas is a trade off. So, different codes are optimal for different applications. The needed properties of this code mainly depend on the probability of errors happening during transmission. In a typical CD, the impairment is mainly dust or scratches. Thus codes are used in an interleaved manner. The data is spread out over the disk.

Linear code is a main branch of channel code and  denotes the sub-field of coding theory where the properties of codes are expressed in algebraic terms and then further researched. It basically can be divided into two types of codes--linear block code and convolution code. Linear block codes have the property of linearity, i.e. the sum of any two code words is also a code word, and they are applied to the source bits in blocks, hence the name linear block codes. There are block codes that are not linear, but it is difficult to prove that a code is a good one without this property. On the other hand, the idea behind a convolutional code is to make every code word symbol be the weighted sum of the various input message symbols. This is like convolution used in LTI systems to find the output of a system, when you know the input and impulse response.

Cryptography or cryptographic coding is the practice and study of techniques for secure communication in the presence of third parties (adversaries). That realm includes the "decipher" technique, which could be always used as a theme in films. Cryptography is about constructing and analyzing which used to block the adversaries. Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, and electrical engineering. Applications of cryptography include ATM cards, computer passwords, and electronic commerce.

Line coding is another division in code theory. It is a code chosen for use within a communications system for base band transmission purposes. Line coding is often used for digital data transport.
Line coding consists of representing the 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.



Reference:
1. https://en.wikipedia.org/wiki/Coding_theory

Picture Reference:
1. https://www.google.com/search?hl=zh-CN&biw=1608&bih=889&site=imghp&tbm=isch&sa=1&q=code&oq=code&gs_l=img.3..0l10.45860.46434.0.46562.4.4.0.0.0.0.95.209.4.4.0....0...1c.1.64.img..0.4.208.2Zdh8Ba_wPU#imgrc=O8UQxDjtGXgLlM%3A

No comments:

Post a Comment