Mathematical Theory of Coding

Image

Coding theory is the study of the properties of code and their suitability for a particular application. Code is used for data compression, encryption, error detection and correction, data transfer, and data storage. Codes are studied by various scientific disciplines such as information theory, electrical engineering, mathematics, linguistics, and computer science to design efficient and reliable methods of data transmission. This typically involves removing redundancies and correcting or detecting errors in transmitted data. There are four types of encoding. Data Compression (or Source Encoding) Error Control (or Channel Encoding) Encryption Encoding Line Encoding Data compression attempts to remove unnecessary redundancies from the data at the source in order to transmit it more efficiently. For example, ZIP data compression makes data files smaller, reducing Internet traffic, etc. Data compression and error correction can be learned together. Error correction adds useful redundancy to the data from the source, making the transmission more robust against impairments present in the transmission channel. Many applications that use error correction may be unknown to normal users. A typical compact disc (CD) in music uses a Reed-Solomon code to fix scratches and dust. In this application, the transmission channel is the CD itself, and mobile phones also use coding techniques to compensate for fading and noise in high frequency wireless transmissions. Data modems, telephone transmissions, and NASA deep space networks all use channel coding techniques such as turbo and LDPC codes to pass bits through. Coding theory, also called algebraic coding theory, deals with the design of error-correcting codes to reliably transmit information over noisy channels. Use classical and modern finite field algebra techniques, group theory and polynomial algebra. There are connections to other areas of discrete mathematics, particularly number theory and design of experiments. Coding theory is the study of encoding information into various symbols. When someone uses code to create a message that only certain people can read, it becomes encrypted. Cryptographers study strategies to make code harder to "crack" without additional information. Coding theory ignores the question of who has access to the code and how secret it can be. Instead, one of the main concerns is the ability to find and fix bugs in your code. Codes are used for many purposes where information should not be kept secret. For example, a computer program is converted into long strings of binary data that the computer reinterprets as instructions. When you send a photo to a friend, the pixel and colour information is converted into binary data and sent over the air. When you listen to an .mp3 file, the audio frequencies of the music are converted into binary data that your computer decodes back to audio frequencies. Electronic code is always subject to interference and errors can occur. Even if the encoded message is physically engraved on the device (such as a DVD), a scratch can render part of the code unreadable. I don't like movies, music and apps freezing, crashing or skipping. To get around this problem, engineers use code that allows devices to automatically detect and correct small errors that may be introduced. Coding theory teaches you how to write code that enables error detection and correction without using excessive memory or storage capacity. Coding theory is not the focus of this course, but you can use the theme to write great code. Learn how to create code from designs and how to make those codes "good".

 

Journal of Mathlab