Comparative Study of Error Detection and Correction Coding Techniques

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

2012 Second International Conference on Advanced Computing & Communication Technologies

A Comparative study of Error Detection And


Correction Coding Techniques

Jatinder Singh Jaget Singh


University Institute of Engineering and Technology. University Institute of Engineering and Technology.
Panjab University, Panjab University,
Chandigarh, INDIA Chandigarh, INDIA
singh01_jatinder@yahoo.com Jaget_singh80@yahoo.co.in

Abstract— The various codes are used for the error detection and Therefore error-detecting and correcting codes can be
correction in the field of communication. Some are for the single generally distinguished between random-error-
bit error and some are for the multiple bits error. Reed-Muller detecting/correcting and burst-error-detecting/correcting.
algorithm realizes the ability of multiple bits error detection and Some codes can also be suitable for a mixture of random
correction. With the superior error correction capability, these
errors and burst errors. If the channel capacity cannot be
codes have initiated wide scale interests in satellite
communication, wireless communication, and storage fields. determined or is highly varying an error-detection scheme
Reed-Muller codes cover a wide range of service requirements may be combined with a system for retransmissions of
and diverse interference conditions in wireless applications and erroneous data. This is known as automatic repeat request
can operate at both high and low code rates. In this paper, the (ARQ) and is most notably used in the Internet. An alternate
comparison of Reed-Muller codes with different other codes for approach for error control is hybrid automatic repeat
error detection and correction of multiple bits is proposed and request (HARQ) which is a combination of ARQ and error-
further we can implement it on a Xilinx field programmable gate correction coding [1] [2].
array (FPGA) device. Using Reed-Muller method the data is
transferred from transmitter to receiver without any error. The
error detection and correction principle and realization methods Error detection is the detection of errors caused by Noise or
are described in detail. The multiple bits error detection and other impairments during transmission from the transmitter to
correction with Reed-Muller algorithm method can improve the the receiver. Error correction is the detection of errors and
bit error rate and packet error rate effectively. reconstruction of the original error free data or signal [1] [2].

Keywords— FORWARD ERROR CORRECTION, AUTOMATIC II. RELATED WORK


REPEAT REQUEST, REED-MULLER CODE,
SINGLE BIT AND MULTIPLE BITS ERROR. This section introduces the different error detection and
correction codes.
I. INTRODUCTION
A. Error detection schemes:
The basic idea for achieving error detection is to add Error detection is most commonly realized using
some redundancy to a message which receivers can use to suitable hash function . A hash function adds a fixed-
check consistency of the delivered message and to recover length tag to a message which enables receivers to verify
data determined to be erroneous. Error-detection schemes can the delivered message by re-computing the tag and
be either systematic or non-systematic: In a systematic scheme comparing it with the one provided [1] [3].
the transmitter sends the original data and attaches a fixed
number of check bits. That is derived from the data bits by 1. Repetition codes: A repetition code is a coding
some deterministic algorithm. If only error detection is scheme that repeats the bits across a channel to
required a receiver can simply apply the same algorithm to the achieve error-free communication. Given a stream of
received data bits and compare its output with the received data to be transmitted the data is divided into blocks
check bits if the values do not match an error has occurred at of bits. Each block is transmitted some
some point during the transmission. In a system that uses a predetermined number of times. These codes are not
non-systematic code the original message is transformed into very efficient [3] [4].
an encoded message that has at least as many bits as the 2. Parity-bit codes: It is a very simple scheme that can
original message [1]. be used to detect single or any other odd number (i.e.,
three, five, etc.) of errors in the output. An even
Good error control performance requires the scheme to be number of flipped bits will make the parity bit appear
selected based on the characteristics of the communication correct [3] [4].
channel Common channel models include memory-less 3. Checksums codes: A checksum of a message is
models where errors occur randomly and with a certain a modular arithmetic sum of message code words of
probability and dynamic models where errors occur primarily a fixed word length. The sum may be negated by
in bursts [1].

978-0-7695-4640-7/12 $26.00 © 2012 IEEE 188


187
DOI 10.1109/ACCT.2012.2
means of a one's-complement prior to transmission to III. COMPARATIVE STUDY
detect errors resulting in all-zero messages [3] [5]. This section summarizes the main differences among the
4. Cyclic redundancy check codes: CRC is a single- different coding techniques.
burst-error-detecting cyclic code and non-secure hash 1. Repetition codes:
function designed to detect accidental changes to Repetition codes are very inefficient, and can be
digital data in computer networks. which is used as susceptible to problems if the error occurs in exactly
the divisor in a polynomial long division over a finite the same place for each group. The advantage of
field taking the input data as the dividend and where repetition codes is that they are extremely simple, and
the remainder becomes the result [3] [6] [7]. are in fact used in some transmissions of numbers
5. Cryptographic hash functions codes: These codes stations. [3] [4].
provided that changes of the data are only accidental 2. Parity-bit codes:
(i.e. due to transmission errors). Any modification to If one bit is flipped, a parity-check bit would be able
the data will likely be detected through a to tell. However, it would not be able to determine
mismatching hash value. Furthermore, given some what bit was flipped or if two bits were flipped.
hash value it is infeasible to find some input data that Therefore a single parity-check bit could only
will yield the same hash value. [1] [3]. inadequately check the accuracy of a message and
would be unable to fix it. [3] [4].
B. Error correction schemes: 3. Checksums codes:
Any error-correcting code can be used for error detection. A sChecksum schemes include check digits, and
code with minimum hamming distance‘d’ can detect up to (d- longitudinal redundancy checks. Some checksum
1) errors in a code word. Using minimum-distance-based schemes, such as the Luhn algorithm and the Verhoeff
error-correcting codes for error detection can be suitable if a algorithm, are specifically designed to detect errors
strict limit on the minimum number of errors to be detected is commonly introduced by humans in writing down or
desired [1] [3]. remembering identification numbers. [3] [5].
1. Automatic repeat request codes: ARQ code is 4. Cyclic redundancy check codes:
An error control method for data transmission that Cyclic codes have favorable properties in that they
makes use of error-detection codes acknowledgment are well suited for detecting burst errors. CRCs are
and/or negative acknowledgment messages and particularly easy to implement in hardware, and are
timeouts to achieve reliable data transmission. An therefore commonly used in digital networks and
acknowledgment is a message sent by the receiver to storage devices such as hard disk drives. [3] [6] [7].
indicate that it has correctly received a data frame. 5. Cryptographic hash functions codes:
Usually when the transmitter does not receive the Message authentication codes also
acknowledgment before the timeout occurs it called keyed cryptographic hash functions provide
retransmits the frame until it is either correctly additional protection against intentional modification
received or the error persists beyond a predetermined by an attacker. [1] [3].
number of retransmissions [1]. 6. Automatic repeat request codes:
2. Forward Error correction codes: An ECC or ARQ is appropriate if the communication channel
forward error correction (FEC) code is a system of has varying or unknown capacity, such as is the case
adding redundant data or parity data to a message on the Internet. However, ARQ requires the
such that it can be recovered by a receiver even availability of a back channel, results in possibly
when a number of errors were introduced either increased latency due to retransmissions, and requires
during the process of transmission or on storage. the maintenance of buffers and timers for
The receiver does not have to ask the sender for retransmissions, which in the case of network
retransmission of the data [1] [3]. congestion can put a strain on the server and overall
3. Hybrid-scheme codes: network capacity.[1] [2].
It is a combination of ARQ and forward error 7. Forward Error correction codes:
correction. There are two basic approaches Messages A back-channel is not required in forward error
are always transmitted with FEC parity data. A correction and it is therefore suitable for low latency
receiver decodes a message using the parity and simplex communication such as broadcasting.
information and requests retransmission using ARQ Error correcting codes are frequently used in lower
only if the parity data was not sufficient for layer communication as well as for reliable storage in
successful decoding. Messages are transmitted media such as CDs DVDs hard disks and RAM [1] [3].
without parity data if a receiver detects an error it
requests FEC information from the transmitter using IV. REED-MULLER ALGORITHM
ARQ and uses it to reconstruct the original message
[1] [2].
Reed-Muller codes are some of the oldest error correcting
codes. Error correcting codes are very useful in sending

188
189
information over long distances or through channels where proposed by Irving. S. Reed and is more general when applied
errors might occur in the message. They have become more to other finite geometry codes [8] [9].
prevalent as telecommunications have expanded and
developed a use for codes that can self-correct. Reed-muller ACKNOWLEDGMENT
codes were invented in 1954 by D.E. Muller and I.S. Reed.
In 1972 a reed-muller code was used by Mariner 9 to
The authors would like to thank the anonymous reviewers
transmit black and white photographs of Mars. Reed-muller for their insightful comments.
codes are relatively easy to decode. [8]
REFERENCES
The single error correction (SEC) and double error detection
(DED) may not provide adequate protection in some high-
[1] Paramdeep Singh and Amandeep Kaur “ Error detection of 16
reliability areas such as Aerospace, Avionics, Military, Data Multiple Bits using Reed Muller Algorithm” International conference
storage, Telecommunications. This makes multiple-error on wireless Network and embedded system, 2011.
correction (MEC) highly desirable in the above said fields and [2] Shu Lin, Daniel J. Costello, Jr. (1983). Error Control Coding:
especially in longer distance communications. So Reed- Fundamentals and Applications. Prentice Hall.
[3] Mann, Henry B., Error Correcting Codes, John Wiley and Sons, 1968.
Muller algorithm is the best option for these fields [3]. [4] Reed, Irving S., A Class of Multiple-Error-Correcting Codes and
Decoding Scheme, MIT Lincoln Laboratory, 1953.
A. CONCEPT OF REED-MULLER ENCODING: [5] Roman, Steven, Coding and Information Theory, Springer-Verlag,
1992.
[6] Yanbin Zhang, Qi Yuan, “A Multiple Bits Error Correction Method
Reed–Muller codes are listed as RM (d, r), where d is the Based on Cyclic Redundancy Check Codes”, Signal Processing- 9th
order of the code, and r is parameter related to the length of International Conference, 2008.
[7] Othman 0. Khalifa, MD Rafiqul Islam and S. Khan, “Cyclic
code, n = 2 r. RM codes are related to binary functions on Redundancy Encoder for Error Detection in Communication Channels”,
field GF (2 r) over the elements [0, 1]. RF and Microwave conference, 2004.
[8] D. E. Muller. Application of boolean algebra to switching circuit
r design and to error detection. IEEE Transactions on Computers, 3:6–12,
RM (0, r) codes are repetition codes of length n = 2 , rate 1954.
[9] Chen Jm Wang sJiong, “Research and Implementation Of an
and minimum distance dmin = n. Improved Reed Decoding Algorithm”, ICSP’O2 Proceedings.
[10] Fu Zuyun. Information Theory: the Basic Principle And Applications.
[11] Beijing: Publishing House of Electronics Industry, 2001. 103- 108.
RM (1, r) codes are parity check codes of length n = 2 r, rate

and minimum distance .

RM(r − 1, r) codes are parity check codes of length n = 2 r.

RM(r − 2, r) codes are the family of extended Hamming


codes of length n = 2 r with minimum distance dmin = 4 [8].

B. CONCEPT OF REED-MULLER DECODING:

RM(r, m) codes can be decoded using the majority logic


decoding. The basic idea of majority logic decoding is to build
several checksums for each received code word element.
Since each of the different checksums must all have the same
value? We can use a majority logic decoding to decipher the
value of the message word element. Once each order of the
polynomial is decoded the received word is modified
accordingly by removing the corresponding code-words
weighted by the decoded message contributions up to the
present stage. So for an rth order RM code we have to decode
iteratively r+1 times before we arrive at the final received
code-word. Also the values of the message bits are calculated
through this scheme. Finally we can calculate the codeword
by multiplying the message word with the generator matrix.
One clue if the decoding succeeded is to have an all-zero
modified received word at the end of (r + 1) stage decoding
through the majority logic decoding. This technique was

189
190

You might also like