Channel code
![]() | This article's factual accuracy is disputed. (July 2010) |
This article needs additional citations for verification. (December 2009) |
Basics
Channel coding is referred to the processes done in both transmitter and receiver of a digital communications system. The mentioned processes require allocating extra bits, a.k.a. parity bits, and consuming extra bandwidth. Using this amount of communications resources results in more reliable connection between transmitter and its receiver. There are two policies to deal with channel coding:
1- forward error correction (FEC) 2- automatic repeat-request (ARQ)
FEC tries to discover the errors and correct them if it can. However, ARQ just discovers the error and sends a resend request to the transmitter. FEC-based methods are more complex in comparison with ARQ ones. Obviously, to use the benefits of two methods the combination of the above said policies is possible.
In digital communications, a channel code is a broadly used term mostly referring to the forward error correction code and bit interleaving in communication and storage where the communication media or storage media is viewed as a channel. The channel code is used to protect data sent over it for storage or retrieval even in the presence of noise (errors).
Overview
Channel codes are made up of two main type: convolutional codes and block codes. In practical communication systems, convolutional codes tend to be one of the more widely used channel codes. These codes are used primarily for real-time error correction and can convert an entire data stream into one single codeword. The Viterbi algorithm provided the basis for the main decoding strategy of convolutional codes. The encoded bits depend not only on the current informational k input bits but also on past input bits. Block codes tend to be based on the finite field arithmetic and abstract algebra. Block codes accept a block of k information bits and return a block of n coded bits. Block codes are used primarily to correct or detect errors in data transmission. Commonly used block codes are Reed–Solomon codes, BCH codes, Golay codes and Hamming codes.[1]
Sometimes channel coding also refers to other physical layer issues such as digital modulation, line coding, clock recovery, pulse shaping, channel equalization, bit synchronization, training sequences, etc. Channel coding is distinguished from source coding, i.e., digitizing of analog message signals and data compression. The theory behind designing and analyzing channel codes is called noisy-channel coding theorem.
See also
References
- ^ "Chapter 1. Introduction." – "Over the years, there has been a tremendous growth in digital communications especially in the fields of cellular/PCS, satellite, and computer communication." Virginia Tech Digital Library and Archives. Accessed October 2011.
Further reading
- William E. Ryan, Shu Lin (2009). Channel Codes: Classical and Modern. Cambridge University Press. ISBN 978-0-521-84868-8.